gpt4 book ai didi

deployment - 如何通过 SaltStack 中的另一个 SLS 文件将参数传递给 SLS 文件?

转载 作者:行者123 更新时间:2023-12-04 08:44:02 31 4
gpt4 key购买 nike

我在 SaltStack Orchestrator 中有一个 SLS 文件,其中包含如下内容:

Plan A:
salt.state:
- tgt: my-server
- sls: service-a

Plan B:
salt.state:
- tgt: my-server
- sls: service-a
- onfail:
- Plan A

service-a SLS 文件中我有这样的东西:

{% set image = pillar["image"] | default("service-api") %}
{% set version = pillar["version"] %}

Deploy A:
cmd.run:
- name: docker-compose -f {{version}}/docker-compose.yml up
..... (+ many lines of other commands and codes)

现在,问题是,当 Plan A 失败时,Plan B 应该执行回滚,但它做同样的事情并再次失败,因为我没有更改service-a SLS 文件中的 version 变量。我想通过 Orchestrator 文件更改 service-a SLS 文件中的 version 变量。例如,当它转到 Plan B 时,它应该将 version 更改为 old。我知道的唯一方法是它可以由 Python 模块处理,但我想尽可能通过 SLS 文件解决它。

最佳答案

在 orchestrator 文件中只需添加 pillar参数:

Plan B:
salt.state:
- tgt: my-server
- sls: service-a
- pillar:
version: old
- onfail:
- Plan A

在状态Plan B , version 的值支柱将old .

关于deployment - 如何通过 SaltStack 中的另一个 SLS 文件将参数传递给 SLS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64422917/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com