【发布时间】:2017-09-07 02:12:31
【问题描述】:
我有一本剧本,但由于某种未知原因,Ansible 2.2.1.0 失败了
剧本任务(最后一项和失败的一项)
- name: Extract out tag string for {{ image }} shell: docker inspect -f "{{ '{{' }}.Id {{ '}}' }}" {{ tagged_image_full }} | awk -F ":" '{print $2}' | cut -c 1-12 register: image_tag when: image is defined - name: Save {{ tagged_image_full }} image shell: docker save {{ tagged_image_full }} | gzip -c >> {{ save_path }}{{ image }}_{{ image_tag.stdout }}_{{ tag }}.tgz when: tagged_image_full is defined
详细输出是
TASK [为存在洞察提取标签字符串] ***************************** 更改:[docker01] => {"更改":true,"cmd":"docker 检查-f \"{{.Id }}\" 存在洞察:origin_release_1_4_0-17 | awk -F \":\" '{打印 $2}' | 剪切-c 1-12”,“增量”:“0:00:00.025295”,“结束”:“2017-04-11 15:17:13.800655”,“rc”:0,“开始”:“2017-04-11 15:17:13.775360”, “stderr”:“”,“stdout”:“d0ca3e53a2ce”,“stdout_lines”: ["d0ca3e53a2ce"], "警告": []}
任务 [保存存在洞察:origin_release_1_4_0-17 图像] ************************ 致命:[docker01]:失败! => {"failed": true, "msg": "{u'cmd': u'docker inspect -f \"{{.Id }}\" 存在洞察:origin_release_1_4_0-17 | awk -F \":\" \'{打印 $2}\' | cut -c 1-12', u'end': u'2017-04-11 15:17:13.800655', u'stdout': u'd0ca3e53a2ce', u'changed': True, u'start': u'2017-04-11 15:17:13.775360', u'delta': u'0:00:00.025295', u'stderr': u'', u'rc': 0, 'stdout_lines': [u'd0ca3e53a2ce'], u'warnings': []}: 模板错误 模板化字符串时:意外的'.'。字符串:docker 检查 -f \"{{.Id }}\" 存在洞察:origin_release_1_4_0-17 | awk -F \":\" '{打印 $2}' |剪切 -c 1-12"}
为什么 Ansible 试图执行之前的任务 shell 而不是失败任务中定义的 shell 指令?
有什么线索吗?
【问题讨论】:
标签: ansible