Перебирая значения столбцов командной строки в Salt Orch - PullRequest
0 голосов
/ 24 июня 2019

У меня есть состояние солевой оркестровки, которое я вызываю с помощью солт-вызова от мастера, и передаю в столбце командной строки целевого хоста, на котором я хочу выполнить оркестровку.

Я хотел бычтобы иметь возможность выполнить это против нескольких целевых хостов в одной команде.Я могу сделать это с внешним файлом, который я читаю в orch вместо столбца командной строки, но этот внешний файл должен присутствовать в stash и не может быть отредактирован напрямую, поэтому его нужно будет загружать / объединять каждый развремя.

Ищите способ передать несколько целевых имен хостов в сеть через столбец командной строки .... если возможно.

вызов командной строки:

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)

...