我使用
有一个功能run_cmdp = subprocess.Popen( cmd, shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE, cwd = scriptdir, env = myenv )
当我从main调用run_cmd时
run_cmd(cli,"on", haltOnError="on")
我不知道如何使用env-subprocess.Popen中的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服务器列表”。如果我可以在子流程中使用env参数,那将是很好。任何想法,我都感激!。