【问题标题】:Can you undefine a variable in Salt Pillar?您可以取消定义盐柱中的变量吗?
【发布时间】:2014-07-25 01:28:12
【问题描述】:

给定一个像这样的支柱top.sls 文件:

base:
  '*': 
     - base
     - local

还有一个像这样的base.sls 文件:

mysetting: 'foo' 

您可以在local.sls 中添加什么会导致mysetting 再次未定义?

【问题讨论】:

    标签: configuration undefined yaml salt-stack


    【解决方案1】:

    简短的回答是可能。有关详细信息,请参阅http://docs.saltstack.com/en/latest/topics/pillar/#pillar-namespace-flattened

    在你的特殊情况下有

    mysetting: 'boo'
    

    肯定会覆盖!设置。

    我自己没有尝试过,但我相信以下内容会将mysseting 设置为未定义。

    mysetting: None
    

    【讨论】:

    • 好主意。我测试了它,它不起作用 - 该变量只有值“None”,因此在 Jinja 的 default() 过滤器等情况下与 undefined 的工作方式不同。
    • @SteveBennett 然后下一个关闭本地测试时工作的东西是mysetting: ''。如果您的状态/模块没有明确检查is undefined - 那么您就已经解决了
    • @SteveBennett 例如在我的本地环境中,vagrant@fbr-enonic01:~$ sudo salt-call pillar.get mysetting local: 的行为方式与不存在的设置相同。并且'' 在布尔运算中仍然计算为False
    • 很高兴知道。重要的地方是 Jinja 的 default 函数,它专门检查定义性。 jinja.pocoo.org/docs/templates
    猜你喜欢
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 2015-01-03
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多