Удаленная команда выполнить удаленно и вызвать локальный скрипт в цикле [duplicate]

Вы можете попробовать использовать set:

>>> list(itertools.permutations(set([1,1,2,2])))
[(1, 2), (2, 1)]

Вызов для установки удаленных дубликатов

13
задан user3364247 14 April 2015 в 19:16
поделиться

1 ответ

Это то, что вы ищете:

- hosts: localhost
  tags: s21
  gather_facts: no
  vars:
    images:
      - foo
      - bar
  tasks:
    - shell: "echo result-{{item}}"
      register: "r"
      with_items: "{{images}}"

    - debug: var=r

    - debug: msg="item.item={{item.item}}, item.stdout={{item.stdout}}, item.changed={{item.changed}}"
      with_items: "{{r.results}}"

    - debug: msg="Gets printed only if this item changed - {{item}}"
      when: "{{item.changed == true}}"
      with_items: "{{r.results}}"

Источник: Регистрировать переменные в цикле in_items в Ansible playbook

23
ответ дан Community 15 August 2018 в 15:39
поделиться
  • 1
    Это не решает мою проблему – user3364247 15 April 2015 в 08:44
  • 2
    @ user3364247 вы пытались использовать with_items вместо сплющенного в loop over var2.results? Можете ли вы опубликовать новый код? – Kashyap 15 April 2015 в 12:31
  • 3
    На самом деле ваше решение правильно, но чтобы получить то, что я хотел, изменил код, как показано ниже. – user3364247 16 April 2015 в 06:34
  • 4
    Ваше решение верно. Но чтобы получить то, что я хотел, я изменил код следующим образом: shell: echo {{item.stdout}} with_items: var2.results, когда: item.stdout! = & Quot; & quot; register: var3 - debug: var = var3 – user3364247 16 April 2015 в 09:55
  • 5
    @ user3364247 да, вот что я отвечаю. – Kashyap 16 April 2015 в 14:17
Другие вопросы по тегам:

Похожие вопросы: