我有一个盐编排状态,我正在从主服务器调用盐调用,并传递了要对其执行编排的目标主机的命令行支柱。
我希望能够在一个命令中针对多个目标主机执行此操作。我可以使用读入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)错误