Ansible модуль URI не возвращает значение - PullRequest
1 голос
/ 12 апреля 2020

Я не уверен, что я здесь делаю неправильно. У меня есть задача URI:

  - name: Waiting for Entity Submission to complete
  uri:
   url: https://{{ endpoint_ip }}:9440/{{ endpoint_api_task }}/{{ intent_status.json.metadata.uuid }}
   url_username: "{{ endpoint_api_username }}"
   url_password: "{{ endpoint_api_password }}"
   validate_certs: false
   force_basic_auth: true
   return_content: true
   follow_redirects: all
   method: 'GET'
  register: v3_progress
  debugger: always

Я не могу прочитать возвращаемое значение v3_progress

В отладчике - я вижу ниже ключ ошибки:

[PE] TASK: nat : Waiting for Entity Submission to complete (debug)> p task_vars['v3_progress']
***KeyError:KeyError('v3_progress',)

Если я отлаживаю аргументы задачи - все аргументы кажутся достаточно точными, а сама задача получает 200:

E] TASK: nat : Waiting for Entity Submission to complete (debug)> p task.args
{'_ansible_check_mode': False,
 '_ansible_debug': False,
 '_ansible_diff': False,
 '_ansible_keep_remote_files': False,
 '_ansible_module_name': u'uri',
 '_ansible_no_log': False,
 '_ansible_remote_tmp': u'~/.ansible/tmp',
 '_ansible_selinux_special_fs': ['fuse',
                                 'nfs',
                                 'vboxsf',
                                 'ramfs',
                                 '9p',
                                 'vfat'],
 '_ansible_shell_executable': u'/bin/sh',
 '_ansible_socket': None,
 '_ansible_string_conversion_action': u'warn',
 '_ansible_syslog_facility': u'LOG_USER',
 '_ansible_tmpdir': u'/home/nutanix/.ansible/tmp/ansible-tmp-1586646620.05-143519614604489/',
 '_ansible_verbosity': 0,
 '_ansible_version': '2.9.6',
 u'follow_redirects': u'all',
 u'force_basic_auth': True,
 u'method': u'GET',
 u'return_content': True,
 u'url': u'https://xxxx/v3/images/ce405ddf-91f1-4399-b5b5-c6f12f1da79c',
 u'url_password': u'xxxx',
 u'url_username': u'admin',
 u'validate_certs': False}

1 Ответ

3 голосов
/ 12 апреля 2020
Переменная

register не будет доступна в debugger. Значение для переменной регистра v3_progress заполняется только после возврата задачи и будет доступно для использования только в последующих задачах.

Чтобы просмотреть результат в отладчике, используйте p result._result.

. Вы сможете прочитать значение в v3_progress в следующей задаче, например,

- name: print uri result
  debug: msg="{{ v3_progress }}"
...