ansible: как отобразить вывод задачи, использующей with_items? - PullRequest
0 голосов
/ 21 февраля 2019

Ansible newbie here Надеюсь, у моей проблемы есть простое решение

Я пытаюсь запустить SQL для нескольких баз данных Oracle на одном узле.Я генерирую список баз данных из ps -ef и использую with_items для передачи значений dbname.

Мой вопрос: как мне отобразить выходные данные из каждой базы данных, в которой выполняется оператор select?

 tasks:

 

    - name: Exa check | find db instances

      become: yes

      become_user: oracle

      shell: |

         ps -ef|grep pmon|grep -v grep|grep -v ASM|awk '{ print $8 }'|cut -d '_' -f3

      register: instance_list_output

      changed_when: false

      run_once: true

 

    - shell: |

        export ORAENV_ASK=NO; export ORACLE_SID={{ item }}; export ORACLE_HOME=/u01/app/oracle/database/12.1.0.2/dbhome_1; source /usr/local/bin/oraenv; $ORACLE_HOME/bin/sqlplus -s \"/ as sysdba\"<< EOSQL

        select * from v\$instance;

         EOSQL

      with_items:

      - "{{ instance_list_output.stdout_lines }}"

      register: sqloutput

      run_once: true

1 Ответ

0 голосов
/ 22 февраля 2019

Может работать приведенный ниже цикл.

- debug:
    msg: "{{ item.stdout }}"
  loop: "{{ sqloutput.results }}"

Если он не смотрит на содержимое переменной и не решает, как ее использовать.

- debug: var=sqloutput
...