【发布时间】:2018-07-01 00:39:55
【问题描述】:
我正在尝试在一个状态下连接字符串,但运气不佳。我看过建议使用 (|join) 的帖子,但我所有的字符串都不在一个字典中。这是我的代码:
sshd_content:
file.line:
{% set admin_groups = '' %}
{% for app in grains['application_groups'] %}
{% for group in pillar['admin_users'][app]['members'] %}
{% set admin_groups = admin_groups ~ ' ' ~ group ~ '@mydomain.com' %}
{% endfor %}
{% endfor %}
- name: /etc/ssh/sshd_config
- match: AllowGroups wheel fred
- mode: replace
- content: AllowGroups wheel fred bob {{ admin_groups }}
我也尝试过使用 + 而不是 ~ 没有运气。
我做错了什么?
这个状态可以正常工作:
sudoers_asmgroups_content:
file.append:
- name: /etc/sudoers.d/mygroups
- text:
{% for app in grains['application_groups'] %}
{% for group in pillar['admin_users'][app]['members'] %}
- '%{{ group }}@mydomain.com ALL=(ALL) ALL'
{% endfor %}
{% endfor %}
【问题讨论】:
-
结果如何?主/从日志中有任何错误吗?
-
目标上的 /var/log/salt/minion 中没有任何错误,主服务器上的 /var/log/salt/master 中也没有任何错误。 {{ admin_groups }} 为空。
-
不过,有趣的是,这个状态正上方的状态可以正常工作。 ` sudoers_asmgroups_content: file.append: - name: /etc/sudoers.d/mygroups - text: {% for app in grains['application_groups'] %} {% for group in pilla['admin_users'][app][' members'] %} - '%{{ group }}@mydomain.com ALL=(ALL) ALL' {% endfor %} {% endfor %} `
-
我已经添加到你的问题中了,添加的sn-p的格式和你所在的州一样吗?
标签: salt-stack