对于一个项目,我想在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"