ansible - Ansible 错误:任务包含一个带有未定义变量的选项
问题描述
下面是我完整的 helpA.yml 剧本的样子:
- hosts: localhost
tasks:
- name: "Construct File Path {{ inventory_hostname }} before Deployment."
tags: validate
include_vars:
file: "{{ item }}"
with_fileglob:
- "vars/{{ Layer }}_*.yaml"
- name: "set_fact"
tags: validate
set_fact:
fpath_APP: "{{ fpath_APP + [ BASEPATH ~ '/' ~ vars[item.split('.')[1]] ~ '/' ~ item | basename ] }}"
when: Layer == 'APP'
with_items:
- "{{ Source_Filenames.split(',') }}"
vars:
fpath_APP: []
- debug: var=fpath_{{ Layer }}
我在运行 yml 时遇到以下语法错误。
$ ansible-playbook /app/helpA.yml --tags validate -e "Source_Filenames=/tmp/logs/filename1.src,/tmp/logs/33211.sql,/app/Jenkins/file1.mrt Layer=APP" [警告]:提供的主机列表为空,只有 localhost 可用。请注意,隐式本地主机不匹配“全部”
播放 [本地主机]
任务 [在部署前构造文件路径 localhost。] **************************************** ****************************************************** ******* 好的:[localhost] => (item=/app/vars/APP_BASE_vars.yaml)
任务 [set_fact] ************************************************ ****************************************************** ****************************************************** *************致命:[本地主机]:失败!=> {"msg": "该任务包含一个带有未定义变量的选项。错误是:'dict object' has no attribute u'src'\n\n错误似乎在 '/app/helpA.yml' : 第 12 行第 6 列,但可能\n位于文件中的其他位置,具体取决于确切的语法问题。\n\n违规行似乎是:\n\n\n - name: \"set_fact\"\n ^ here \n"}
播放回顾 ************************************************ ****************************************************** ****************************************************** **************** 本地主机:好的=1 更改=0 无法访问=0
失败=1 跳过=0 获救=0 忽略=0
我正在使用最新版本的 ansible 和 python 2.7.5
解决方案
推荐阅读
- c - Doxygen:文档中的函数名称错误 (C)
- python - 使用两个不同大小的 pandas 数据框进行 Wilcoxon 测试
- tensorflow - Google Collab 与 TensorBoard 不兼容
- pip - 如何在命令 pip install Cython 期间修复错误
- substrate - 如何在基板中生成 types.json
- flutter - 对于 pageView 中的视频列表,VideoPlayer 中的视频初始化时间过长
- python - 来自 pubsub 的 Apache Beam 读取模式
- json - JOLT 仅从数组中的数组中获取一个值
- android - 如何使用 Kotlin 在 Android 中以编程方式更改选择器文件检查状态可绘制 .webp 文件颜色?
- php - 如何在启动时启动 PHP?