2011-10-13 37 views
0

我希望能够以编程方式创建新的云服务器,然后将新的[email protected]传递到其他Fabric命令以运行其他安装脚本。将Fabric env.host字符串作为变量传递

我能够创建服务器,获取相关变量,并启动本地('ssh [email protected]')命令将新IP添加到我的已知主机文件。然而,无论如何,我尝试将字符串'[email protected]'传递给Fabric,它仍然给我提供:

找不到主机。连接请注明(单)主机字符串:

我已经试过各种字符串操作,如:

env.host = '%s' 的%主机

ENV。主机= [主机]

env.host = STR(主机)

然而,织物总是呈现我第e“找不到主机”提示。如果我复制并粘贴'打印主机'的结果,那就很好。当然,不是一个巨大的障碍,但真正打破了我试图采取的整个自动推广方法。

有没有人成功地将env.host/hosts声明传递给Fabric使用变量?

回答

0

“找不到主机”错误有点欺骗性。如果你在env.hosts中输入的内容不完整,它会抛出。 env.hosts应该是这个样子的其中之一:

env.hosts = ['1.2.3.4'] 
env.hosts = ['1.2.3.4', 'hostname', '4.5.6.7'] 

应该包括被传递给env.user

尝试是这样的用户([email protected]):

h = '1.2.3.4' 
env.hosts = [h] 
相关问题