我正在运行Ansible剧本。在YAML文件“ jinja.yaml”中,我具有以下jinja2模板。
{% set cnt = 0 %}
{% for x in range(4,20) %}
{% for y in range(1,251) %}
- pool_name: pool_{{ cnt }}
{% set cnt = cnt + 1 %}
pool_member: 10.30.{{ x }}.{{ y }}
{% endfor %} {% endfor %}
以下是Ansilbe代码中的代码段:
tasks:
- name: XXX
set_fact:
members: "{{ lookup('template','jinja.yaml') | from_yaml}}"
运行Ansible剧本时,出现以下错误消息:
return loader.get_single_data()
File "/usr/lib/python2.7/dist-packages/yaml/constructor.py",line 37,in get_single_data
node = self.get_single_node()
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 36,in get_single_node
document = self.compose_document()
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 55,in compose_document
node = self.compose_node(None,None)
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 82,in compose_node
node = self.compose_sequence_node(anchor)
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 111,in compose_sequence_node
node.value.append(self.compose_node(node,index))
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 84,in compose_node
node = self.compose_mapping_node(anchor)
File "/usr/lib/python2.7/dist-packages/yaml/composer.py",line 127,in compose_mapping_node
while not self.check_event(MappingEndEvent):
File "/usr/lib/python2.7/dist-packages/yaml/parser.py",line 98,in check_event
self.current_event = self.state()
File "/usr/lib/python2.7/dist-packages/yaml/parser.py",line 428,in parse_block_mapping_key
if self.check_token(KeyToken):
File "/usr/lib/python2.7/dist-packages/yaml/scanner.py",line 116,in check_token
self.fetch_more_tokens()
File "/usr/lib/python2.7/dist-packages/yaml/scanner.py",line 220,in fetch_more_tokens
return self.fetch_value()
File "/usr/lib/python2.7/dist-packages/yaml/scanner.py",line 576,in fetch_value
self.get_mark())
ScannerError: mapping values are not allowed here
in "<unicode string>",line 2,column 32:
pool_member: 10.30.4.1
^
fatal: [10.6.177.160]: FAILED! => {
"msg": "Unexpected failure during module execution.","stdout": ""
}
我有99%的把握是jinja.yaml中的语法错误,但我只是没有解决。任何帮助都会 欣赏它。