【发布时间】:2016-03-16 05:33:12
【问题描述】:
我错误地认为,如果你可以在 SaltStack 的命令行上运行一个函数,你就可以将该输出设置为一个变量。例如,考虑以下输出所有小兵的时区:
salt '*' timezone.get_zone
它输出一个像Etc/UTC 这样的字符串作为时区。我正在编写一个函数来根据本地服务器的时区运行一些 cron 作业。但是,在 jinja 模板中,当我设置时:
...
{% set timezone = salt['timezone.get_zone'] %}
{% if timezone == 'America/Los_Angeles' %}
0 23 * * * root somecommand
{% else %}
# TIMEZONE NOT FOUND
{% endif %}
....
我总是得到该模板的# TIMEZONE NOT FOUND 输出。如果我尝试通过公式的 SLS 文件中的 context 传递时区,我会在渲染后得到以下信息:
<function get_zone at 0x7fb48a7c9f50>
有什么建议吗?
【问题讨论】:
标签: timezone jinja2 salt-stack