首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >盐栈: SLS文件中的模板

盐栈: SLS文件中的模板
EN

Stack Overflow用户
提问于 2014-07-22 09:26:10
回答 1查看 596关注 0票数 0

我将盐层堆栈用于部署目的,并需要将不同的浏览器版本部署到Selenium Grid节点(例如Firefox 29.0和30.0)。因此,从盐业的角度来看,我想在top.sls中使用以下内容

代码语言:javascript
复制
base:
  'firefox29':
    - firefox
      - version: 29.0

  'firefox30':
    - firefox
      - version: 30.0

在本例中,我们重用firefox.sls状态:

代码语言:javascript
复制
firefox:
  pkg.installed:
    - skip_verify: True
    - version: {{ version }}

我用最近的Salt (2014.1.7)尝试了上面的SLS文件,它们被忽略了(没有安装)。当我从firefox.sls中删除版本时,它会安装最新的火狐。

是否有可能像我的例子中那样以某种方式参数化SLS状态?我看到了一个关于Github (https://github.com/saltstack/salt/issues/8878)的问题,它描述了如何使用Jinja宏来实现这一目的,但没有设法将其用于我的情况。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-23 21:01:57

您可以使用jinja宏来完成此操作:

代码语言:javascript
复制
firefox:
  pkg.installed:
  {% if grains['id'] == 'firefox29' %}
    - version: 29.0
  {% elif grains['id'] == 'firefox30' %}
    - version: 30.0
  {% endif %}

如果事情变得更加复杂,您应该投资于学习支柱,并将这种逻辑保留在那里。http://docs.saltstack.com/en/latest/topics/pillar/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24883592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档