Я использую 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
?