【发布时间】:2017-08-03 05:09:53
【问题描述】:
我正在尝试使用 salt 来移动我的 php.ini 文件,但我只希望它在第一次运行时运行一次。我正在尝试使用盐粒来做到这一点,但这并不一致。有什么想法吗?
#phpinifile.sls
{%- set php_ini_initialized = salt['grains.get']('PHP_INI_INITIALIZED') | default( False, true) %}
{% if php_ini_initialized == False %}
etc-php-70-cli-phpini:
file.managed:
- name: /etc/php/7.0/cli/php.ini
- source: salt://billing/sources/etc/php/7.0/cli/php.ini
- user: root
- group: root
- mode: 644
- context:
set_pear_path: True
- template: jinja
PHP_INI_INITIALIZED:
grains.present:
- value: True
{% endif %}
【问题讨论】:
-
对于
grains.get,我使用这个语法来指定一个默认值:salt['grains.get']('my_grain', False)。它适用于grains.get和pillar.get。对于您的实际需要,我同意@gbrandsma 的回答。不过,test -f可以代替ls。
标签: salt salt-stack