Ansible“时”,无法评估主机VAR
问题描述:
我想,如果一些主机变种具有大于0Ansible“时”,无法评估主机VAR
主机文件
---
os:
version_nr: 8
version_name: jessie
dotdeb:
priority: 100
task.yml
值仅执行任务- name: setup dotdeb preferences
lineinfile: dest=/etc/apt/preferences
create=yes
line="{{ item }}"
with_items:
- "Package: *"
- "Pin: release o=packages.dotdeb.org"
- "Pin-Priority: {{ dotdeb.priority }}"
when: dotted.priority > 0
但似乎Ansible不能访问'首选项' 任务的主机变量。 Ansible是说:
错误,而评估条件:dotdeb.priority> 0
我尝试了不同的报价,但似乎没有任何工作。 虽然主机变量正在工作,因为'os.version_name'在之前的某个任务中被正确替换。 有什么建议吗?
干杯塞巴斯蒂安
答
它看起来像一个问题与变量和标签命名相同。
我改变了var到
dotdeb_repo:
priority: 0
和任务
- name: setup dotdeb preferences
lineinfile: dest=/etc/apt/preferences
create=yes
line="{{ item }}"
with_items:
- "Package: *"
- "Pin: release o=packages.dotdeb.org"
- "Pin-Priority: {{ dotdeb_repo.priority }}"
when: dotdeb_repo.priority > 0
现在一切都如预期
你的任务条件错误地转录工作?你得到的是'when:dotted.priority',但你的错误表明它是你检查的'dotdeb.priority'。如果您在任务之前对变量执行调试,您会看到什么? – ydaetskcoR
这只是在*的一个错字,但我找到了一个解决方案。 – sfeldmann
你的解决方案是什么?如果你认为这可能对其他人有用,那么考虑回答你自己的问题。 – ydaetskcoR