регистр с циклом, не дающим ожидаемый результат - Ansible - PullRequest
0 голосов
/ 07 октября 2019

Я пишу сборник, который дает мне статус списка процессов в цикле, но вывод не приходит желаемого

Я использую ansible 2.7.1

---
- hosts: test_group
  gather_facts: false
  tasks:
  - name: checking status
    shell: /etc/init.d/{{ item }} status
    register: output
    loop:
       - gdac
       - scac

  - name : print status
    debug:
      msg: "{{ item.stdout }}"
      loop: "{{ output.results }}"

ожидаявывести как (который дал мне stdout или stdout_lines из зарегистрированной переменной.

"msg":"Poller is Running\nSpooler is Running"
"msg": scac.db1: 3 of 3 running ( 7067 7060 7040 )\nayld.db1: 1 of 1 running ( 7114 )\nscac.db2: 3 of 3 running ( 7227 7216 7203 )\nayld.db2: 0 of 1 running

, но я получаю ошибку

fatal: [test01]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'item' is undefined
``

1 Ответ

1 голос
/ 07 октября 2019

Во второй задаче вы объявили loop как опцию модуля debug.

Это должна быть опция задачи, а не модуля. Поскольку для задачи нет объявления loop, item не определено.

Вам просто нужно исправить отступ:

- name : print status
  debug:
    msg: "{{ item.stdout }}"
  loop: "{{ output.results }}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...