Ansible не зарегистрирует переменную из модуля оболочки - PullRequest
0 голосов
/ 05 февраля 2019

Я использую register в других играх, и он работает нормально.Кажется, основная проблема заключается в использовании его с модулем shell.

, вот моя текущая книга воспроизведения

- name: Execute create-auth-key.sql
  shell: echo exit | sqlplus -l {{ data_security_schema_username }}/{{ data_security_schema_password }}@\(DESCRIPTION=\(ADDRESS=\(PROTOCOL=TCP\)\(HOST={{ data_security_schema_hostname }}\)\(PORT={{ data_security_schema_port }}\)\)\(CONNECT_DATA=\(SERVER=dedicated\)\(SERVICE_NAME={{ data_security_schema_service_name }}\)\)\) @/tmp/create-auth-key.sql;
  register: sqlplus-stdout

- name: Set Fact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  set_fact:
    checking: "{{ sqlplus-stdout.stdout }}"

- name: print aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  debug:
    msg: "{{ checking }}"

sqlplus правильно выполняет транзакцию, однако я хочу отфильтровать выводтранзакция для получения сгенерированного ключа авторизации.Для этого мне нужен вывод sqlplus в var.Здесь выдается ошибка.

FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'sqlplus' is undefined\n\nThe error appears to have been in '/var/lib/jenkins/.ansible/roles/test.auth-transaction/tasks/create-auth-key-and-obc.yml

Почему моя set fact игра не может распознать sqlplus-stdout?

1 Ответ

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

Вы не можете использовать - в Python Vars ..

- name: Execute create-auth-key.sql
  shell: echo exit | sqlplus -l {{ data_security_schema_username }}/{{ data_security_schema_password }}@\(DESCRIPTION=\(ADDRESS=\(PROTOCOL=TCP\)\(HOST={{ data_security_schema_hostname }}\)\(PORT={{ data_security_schema_port }}\)\)\(CONNECT_DATA=\(SERVER=dedicated\)\(SERVICE_NAME={{ data_security_schema_service_name }}\)\)\) @/tmp/create-auth-key.sql;
  register: sqlplusstdout

- name: Set Fact aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  set_fact:
    checking: "{{ sqlplusstdout.stdout }}"

- name: print aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  debug:
    msg: "{{ checking }}"
...