【问题标题】:Ansible loops and conditionalsAnsible 循环和条件
【发布时间】:2017-11-12 21:28:59
【问题描述】:

Ansible 文档指出:

将 when 与 with_items 结合使用(参见 Loops),请注意 when 语句是针对每个项目单独处理的。

但是,当我尝试跳过任务中的一项时,它不起作用:

value_var: [1, 5]

- name: register variable
  command: echo "4"
  register: var

- name: conditional check
  command: nevermind
  when: var.stdout > item

据我了解,我将在 conditional check 任务中的第一项上获得 changed,在第二项上获得 skipped。但我明白了:

changed: [guest] => (item=5)
changed: [guest] => (item=1)

我做错了什么?

【问题讨论】:

    标签: loops ansible conditional


    【解决方案1】:

    它与循环无关。您正在将字符串(echo 命令的结果)与整数进行比较。

    你应该先转换值:

    when: var.stdout|int > item
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-15
      • 2022-12-07
      • 1970-01-01
      • 1970-01-01
      • 2016-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多