2017-04-22 34 views
2

如何为所有节点配置带普通参数'user'的salt-ssh名单文件[/ etc/salt/roster]?如何配置salt-ssh的名单?

我已经在下面的文档中搜索过它,但是找不到它。 https://docs.saltstack.com/en/latest/topics/ssh/index.html#salt-ssh-roster https://docs.saltstack.com/en/latest/topics/ssh/roster.html

这里是我现在有:

host1-dev: 
    host: host1-dev.mydomain.com 
    user: myUser 
host2-dev: 
    host: host2-dev.mydomain.com 
    user: myUser 
host1-qa: 
    host: host1-qa.mydomain.com 
    user: myUser 

希望简化它像下面的东西:

common: 
    user: myUser 
host1-dev: 
    host: host1-dev.mydomain.com 
host2-dev: 
    host: host2-dev.mydomain.com 
host1-qa: 
    host: host1-qa.mydomain.com 

回答

1

神社前往救援,但你不能达到什么你想要的,但你可以节省一些打字这样的事情:

{% set hosts = ['host1-dev.mydomain.com', 'host2-dev.mydomain.com', 'host1-qa.mydomain.com'] %} 
{% set user = 'some_user' %} 
{% set pass = 'some_pass' %} 

{% for host in hosts %} 
{{ host.split('.')[0] }}: 
    host: {{ host }} 
    user: {{ user }} 
    passwd: {{ pass }} 
{% endfor %} 
+0

感谢Alex为jinja代码片段并试图回答+1。这可能会增加复杂性而不是减少。我的意思是,我可以为每个主机设置一行'user:myUser',而不是引入jinja文件。 –

相关问题