【发布时间】:2017-12-20 20:08:51
【问题描述】:
我正在运行 ansible 并试图使这个任务工作,它失败并出现以下错误:
任务执行期间发生异常。看到完整的 回溯,使用 -vvv。错误是: AttributeError: 'list' object has 没有属性“startswith”致命:[test-1]:失败! => {"failed": true, "msg": "模块执行过程中出现意外失败。", "stdout": ""} msg: 模块执行期间意外失败。
代码是:
- name: Register env Type
shell: facter configured_setup
register: setup
- name: foo tasks
shell: {{some_script}} -t -a {{hosts}} -i {{inventory_hostname}}
register: test
when: setup.stdout == "something"
- name: fetch group_vars
fetch:
src:
- { "{{ item }}", when: setup.stdout == "something" }
dest: "{{group_vars}}"
flat: yes
with_items:
- "{{ test.stdout_lines[0] }}"
- "{{ test.stdout_lines[1] }}"
“fetch group_vars”是总是失败的任务,知道它是如何工作的吗?
我想要做的是添加更多源文件以从不同的集合中获取。
所以我想在“src:”下多写几行,说- { filename, when setup.stdout =="something else" }
完整的错误是:
任务执行期间发生异常。完整的追溯是: 回溯(最近一次通话最后): 运行中的文件“/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py”,第 96 行 item_results = self._run_loop(items) _run_loop 中的文件“/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py”,第 252 行 res = self._execute(变量=task_vars) _execute 中的文件“/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py”,第 446 行 结果 = self._handler.run(task_vars=variables) 运行中的文件“/usr/lib/python2.7/site-packages/ansible/plugins/action/fetch.py”,第 62 行 源 = self._remote_expand_user(源) _remote_expand_user 中的文件“/usr/lib/python2.7/site-packages/ansible/plugins/action/init.py”,第 460 行 if not path.startswith('~'): # FIXME: Windows 路径可能以 "~ 而不是 ~ AttributeError: 'list' 对象没有属性 'startswith'
致命:[test-1]:失败! => {“失败”:真,“味精”: “模块执行期间发生意外失败。”,“stdout”:“”} msg: 模块执行过程中出现意外故障。
【问题讨论】:
-
当您开始像以前一样进行试验时,请确保您的缩进保持一致。您的 YAML 使用两个位置进行映射,四个位置用于序列(测量到元素的开头),但您在
src下添加的序列使用三个位置。 YAML 可以将其分开,但如果您不一致,则很难自己管理。
标签: ansible ansible-2.x