如果某个主机var的值大于0
,我试图只执行一项任务主机文件
---
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'在之前的某个任务中被正确替换。 有什么建议吗?
干杯塞巴斯蒂安
答案 0 :(得分:0)
看起来变量和标签名称相同。
我将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
现在一切都按预期工作