遍历Salt Orch中的命令行支柱值

时间:2019-06-24 15:24:05

标签: loops salt orchestration

我有一个盐编排状态,我正在从主服务器调用盐调用,并传递了要对其执行编排的目标主机的命令行支柱。

我希望能够在一个命令中针对多个目标主机执行此操作。我可以使用读入Orch而不是命令行支柱的外部文件来执行此操作,但是该外部文件需要以隐藏形式存在,并且不能直接进行编辑,因此必须每次上传/合并时间。

寻找一种通过命令行支柱....将多个目标主机名传递到Orch的方法。

命令行调用:

sudo salt-run state.orchestrate core.database.oracle.ora12201jvm_psu_orch pillar='{"target":"myHost"}'

orch sls的代码段:

{% set psuTarget = salt['pillar.get']('target','abcdefg') %}

download_psu_{{ psuTarget }}:
  salt.state:
    - tgt: {{ psuTarget }}
    - sls:
      - core.database.oracle.download_ora12201ojvm_psu
    - timeout: 900
    - failhard: True

我尝试使用手册中的语法来传递多个支柱值,但它仅处理第一个支柱值,然后停止:

sudo salt-run state.orchestrate core.database.oracle.ora11204ee_psu_orch pillar='{"target":"myHost1","myHost2"}' 

我还尝试在代码中使用for循环,如下所示:

{% set psuTargetList = 'salt[pillar.get']('target','abcdefg') %} 
{% for psuTarget in psuTargetList %} 

但它根本无法解释这些值-给我第一个标识符download_psu_0(而不是预期的download_psu_myHost1)错误

0 个答案:

没有答案