使用cmd.run设置晶粒



对于一个项目,我想在saltstack中使用模块设置时间戳。但我不知道如何用cmd.run。。。目前,我尝试这样的东西:

salt-call grains.set date_install_minion salt['cmd.run']('date -u')
salt-call grains.set date_install_minion {% salt['cmd.run']('date -u') %}
salt-call grains.set date_install_minion {{ salt['cmd.run']('date -u') }}
...

有人知道怎么做吗?

grains.set命令中使用cmd.run的输出可能无法在同一步骤中工作,因为没有可用的Jinja上下文。也就是说,在Saltstack中添加自定义晶粒的一个好方法是将它们放在/etc/salt/grains文件中。

该文件可以用YAML格式的键值对进行更新。用命令更新它的一种方法:

echo "date_install_minion: $(date -u)" >> /etc/salt/grains

否则,将date设置为Shell变量,并在grains.set:中使用Shell变量

MINION_INSTALL_DATE=$(date -u)
salt-call grains.set date_install_minion "$MINION_INSTALL_DATE"

最新更新