我有一个Ansible任务,我在其中使用变量 - window
和total_files
。我从命令行传递这两个变量值:
- name: Check all files
find: paths=/var/lib/goldy/jobs/processdata/workspace/files
file_type=file
age=-{{ window }}m
age_stamp=mtime
register: files
failed_when: files.matched < total_files
以下是我的运作方式:
ansible-playbook -e 'host_key_checking=False' -e 'total_files=6' -e 'window=10' abc.yml
但不知怎的,我的total_files
变量在failed_when
模块中根本不起作用。我尝试了所有我能想到的组合,但是如果我这样使用"{{ total_files }}"
那么我就会收到警告,这就是为什么我开始使用这样的total_files
,但它仍然不起作用。对我做错了什么的想法?
[WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: files.matched < "{{ total_files }}"
答案 0 :(得分:1)
我从命令行传递这两个变量值
所以你传递字符串,因此你将files.matched
与字符串值进行比较。
更改为:
failed_when: files.matched < total_files | int
您发布的警告与根本问题无关。