Начиная с Ansible v2.3 появился новый параметр для wait_for
модуль: active_connection_states
какое значение по умолчанию: [u'ESTABLISHED', u'SYN_SENT', u'SYN_RECV', u'FIN_WAIT1', u'FIN_WAIT2', u'TIME_WAIT']
Теперь представьте, что я хочу ждать соединений только с состоянием в: ['ESTABLISHED', 'SYN_SENT', 'SYN_RECV']
чтобы гарантировать, что соединение с балансировкой нагрузки было истощено после запроса с помощью любого из модулей балансировки нагрузки Ansible.
Пример:
- wait_for:
host: 0.0.0.0
port: 8080
state: drained
active_connection_states: {{ connection_states_to_wait_for | default("[u'ESTABLISHED', u'SYN_SENT', u'SYN_RECV']") }}
Ошибка: `
`
Также пробовал default("[u'ESTABLISHED', u'SYN_SENT', u'SYN_RECV']")
с тем же результатом.
Примечание. Я пытаюсь изменить поведение модуля по умолчанию, но все еще использую переменную, позволяющую моему плану или выполнению ждать другого набора состояний, было бы неплохо, но не обязательно использовать это;)
Как мне использовать этот новый параметр? Я пробовал несколько подходов, но ни один из них не работал, и это все, что я нашел в документации модуля.
Параметр должен быть списком, а не строкой:
vars:
connection_states_to_wait_for:
- ESTABLISHED
- SYN_SENT
- SYN_RECV
И / или:
active_connection_states: "{{ connection_states_to_wait_for | default(['ESTABLISHED', 'SYN_SENT', 'SYN_RECV']) }}"
Вам также необходимо правильно указать значение параметра, поскольку оно начинается с {
персонаж.