- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个带有 Salt 的自动 proftd 安装,我不会从模板中获取 ftp 用户,但我无法在支柱上工作,我用用户数据初始化了支柱并将其调用到 for 循环中,但你不这样做不在循环中获取支柱用户数据。
当我在minion中进行salt-callpillar.get ftpusers时,响应是:
本地:
这是我的支柱 ftpusers.sls:
ftp-server.ftpusers:
user:
- user: user
- passhash: j2k3hk134123l1234ljh!"·$ser
- uuid: 1001
- guid: 1001
- home: /srv/ftp/user
- shel: /bin/false
这是 for 循环:
{% for users in pillar.get('ftpusers', {}).items() %}
/srv/herma-ftp/.ftpusers:
file.managed:
- user: root
- group: root
- mode: 444
- contents:'{{ user }}:{{ args['passhash'] }}:{{args['uuid'] }}:{{ args['guid'] }}::{{ args['home'] }}:{{ args['shel'] }}'
- require:
- file: /srv/herma-ftp
/srv/herma-ftp/{{user}}:
file.directory:
- user: nobody
- group: nobody
- dir_mode: 775
- makedirs: True
- require:
- file: /srv/herma-ftp
- watch:
- file: /srv/herma-ftp
module.run:
- name: file.set_selinux_context
- path: {{ args['home']}}
- type: public_content_t
- unless:
- stat -c %C {{ args['home'] }} |grep -q public_content_t
{% endfor %}
当我加入小黄人时
salt-call -l debug state.sls herma-ftp-server saltenv=My-enviroment test=True
不要指望这一点,因为无法获取支柱数据。
最佳答案
你的循环也应该是这样的:
{% for user, args in pillar.get('ftpusers', {}).items() %}
此外,file.managed
的 contents
参数不支持模板化。您需要做的是将 /srv/herma-ftp/.ftpusers
状态移到循环之外,并在文件模板内创建循环。状态的最终布局应如下所示:
/srv/herma-ftp/.ftpusers
file.managed:
source: salt://ftpserver/dot.ftpusers
template: jinja
...
...
{% for user, args in pillar.get('ftpusers', {}).items() %}
/srv/herma-ftp/{{user}}:
file.managed:
...
{% endfor %}
你的ftpserver/dot.ftpusers
看起来像:
{% for user, args in pillar.get('ftpusers', {}).items() %}
{{ user }}:{{ args['passhash'] }}:{{args['uuid'] }}:{{ args['guid'] }}::{{ args['home'] }}:{{ args['shel'] }}
{% endfor %}
关于templates - for 循环中的 Saltstack 负载支柱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27169509/
我的 Saltstack 仆从有一个奇怪的问题。 我在 Ubuntu 16.04 上安装了 minions,并且与 master 的连接工作正常。 但是,一旦我尝试在我的奴才上设置 state.app
我正在尝试按照博客中的步骤在 ubuntu 上升级我的 saltstack master 和 minion http://www.revsys.com/blog/2014/nov/16/upgrade
我们正在使用 salt stack 将我们的应用程序部署为 debian 包。应用程序本身是 Scala 并使用 Java 风格的版本控制,例如在开发过程中,版本号例如保持在 1.5.0-SNAPSH
当搜索 SaltStack 的功能时,通常会出现一个状态和一个模块(例如,当搜索“saltstack 用户”时,会得到 salt.states.user 和 salt.modules.user)。 阅
我对 salt 中的变量有疑问。我正在尝试使用 if 语句通过 salt 创建更复杂的状态。 示例工作: {% set old_stable = salt['cmd.run']('cd /home/p
我需要使用 SaltStack 在 Linux 中更改文件权限。 对于目录我可以使用file.directory函数,例如: file.directory: - user: root - gr
如果我必须执行以下 3 个命令,我如何将它们分组以便我只需要调用一个? salt '*' git.fetch cwd=/var/git/myproject opts='--all' user=git
我正在开始一个新项目,我想使用 SaltStack用于管理跨越多个数据中心的大型部署。一切都在 Linux 上运行。我以前有过 Chef 的经验但我对SaltStack比较陌生.我的目标是将整个项目保
简介 最近我们注意到我们的生产环境中有一些奇怪的行为,显然有一个任务将数据从 Prod Redis 拉到 Staging Redis,这个过程本身由 Salt 管理。 我要达到的目标 底线:我想了解此
除了 halite 之外,还有什么可以监控 SaltStack 安装的吗?我已经安装了它,但它并不是我们真正想要的。 如果我们能有一个 web gui 甚至是显示所有 minion 状态的每日电子邮件
我最近在一个线程中的盐柱中看到了以下结构here /srv/pillar/ssh.sls : ssh_certs: {% if grains['fqdn'] == 'server1.example.c
这是我的目标文件: Sonatype Nexus # ============== # This is the most basic configuration of Nexus. # Jetty s
我有一个关于 SaltStack 变量的问题。 我想设置一个文件夹名称,例如: {% set exim4_folder = salt['cmd.run']('ls /tmp | grep exim4'
我正在使用一个Jinja模板来生成盐的状态文件。我添加了一些条件,并希望表达: if A or B。但是,看来我无法使任何逻辑运算符正常工作。 它不喜欢||, |, &&(据我所知在这里不适用),但也
是否可以使用 Jinja 渲染基于 salt 环境的 Salt 状态文件? 这是一个为服务器设置时区的简单示例。如果我们在“开发”环境中,我想将时区设置为纽约,否则时区应设置为伦敦。 timezone
SaltStack 状态定义后的空括号有什么用? 例如,somewhere in SaltStack documentation你会看到这个: vim: pkg.installed: [] 然而强
我最近开始在我们的实验室中使用 Salt 进行一些自动化操作。我一直在尝试测试我可以自己编写的自定义状态。我使用以下函数创建了一个简单的测试: def write_text(text, where):
我想将 bash 自动完成功能与 saltstack 结合使用。 salt '*' test.p 应该完成这个词并使其成为 salt '*' test.ping . 谷歌搜索后,我得到了以下链接: s
我正在开发一个带有 Salt 的自动 proftd 安装,我不会从模板中获取 ftp 用户,但我无法在支柱上工作,我用用户数据初始化了支柱并将其调用到 for 循环中,但你不这样做不在循环中获取支柱用
我对 SaltStack 很陌生。我已经设置了一个 salt-master 和一个 salt-minion(通过我的 ESXi 上的 salt-cloud)。到目前为止它工作正常。但是,我无法让 do
我是一名优秀的程序员,十分优秀!