如何在文本文件中指定主机列表或roledef(而不是代码)?

时间:2013-09-01 10:58:17

标签: python fabric

一组或多组主机或(至少在我的场景中)有些动态,并与代码分离。

此外,我多次将面料用于“一个衬垫” - 也就是说,不用编写脚本。

我正在寻找一种简单的方法来定义不需要修改或使用python脚本的主机和/或角色定义列表。 首选每行格式的简单主机,因为它是out hosts列表的当前格式。

从我看到的最接近的是.rc文件 - 但根据文档它只支持简单的变量。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您需要单独的文件列出主机。您需要将此行添加到fabfile

env.roledefs = {
    #static roles
}
# add dynamic role from file "hosts"
with open("./hosts") as f:
    env.roledefs['tmp'] = f.readlines()

使用当前目录中的主机列表创建hosts文件:

example1.com
example2.com

试一试:

$ fab -R tmp -- uname -a