如何使用Ansibles wait_for模块'active_connection_states'参数

从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']") ,结果相同。

注意我试图改变模块的默认行为,但仍然使用一个variables来允许我的计划或执行等待一组不同的状态,会很好,但不是强制性的使用此;)

我应该如何使用这个新的参数? 我尝试了几种方法,但都没有工作,这就是我可以在模块文档中find的。

该参数应该是一个列表,而不是一个string:

 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']) }}" 

您还需要正确引用参数值,因为它以{字符开头。