我有一个函数 run_cmd 使用
p = subprocess.Popen( cmd, shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE, cwd = scriptdir, env = myenv )
当我从 main 调用 run_cmd
run_cmd(cli,"on", haltOnError="on")
我不知道如何使用来自 subprocess.Popen 的 env - myenv 参数。众所周知,要运行 openstack CLI,我们必须获取 OS_ENV 所在的 keystone_rc 文件。
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export NOVA_VERSION=1.1
export OS_PROJECT_NAME=admin
export OS_PASSWORD=xxxx_yyyy
export COMPUTE_API_VERSION=1.1
export no_proxy=,10.xxx.xxx.164,172.31.255.9
export OS_CLOUDNAME=overcloud
export OS_AUTH_URL=https://10.xxx.xxx.164:13000/v2.0
我有另一种方法来克服我的问题,但我必须注入“source keystone_rc; openstack server list”。如果我可以使用子进程中的 env 参数,那就太好了。任何想法,我很感激!