ansible register 无视when 条件执行

栏目: 服务器 · 发布时间: 6年前

内容简介:先来看一段ansible代码:正常来说,我们认为会输出结果会是’real_name’,因为第一个任务因为when的条件判断并没有执行但是,结果是什么呢?

先来看一段ansible代码:

- name: test
  hosts: localhost
  gather_facts: no
  vars:
    test_name: 'real_name'
    flag: false
  tasks:
    - name: retrieve node's hostname
      shell: "hostname"
      register: test_name
      when: flag | bool
 
    - debug:
        var: test_name

正常来说,我们认为会输出结果会是’real_name’,因为第一个任务因为when的条件判断并没有执行

但是,结果是什么呢?

ansible-playbook 1.yaml
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
 
 
PLAY [test] *************************************************************************************************************************************************************************
 
TASK [retrieve node's hostname] *****************************************************************************************************************************************************
skipping: [localhost]
 
TASK [debug] ************************************************************************************************************************************************************************
ok: [localhost] => {
    "test_name": {
        "changed": false,
        "skip_reason": "Conditional result was False",
        "skipped": true
    }
}
 
PLAY RECAP **************************************************************************************************************************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=0

并没有,难道是skip了?其实并没有skip, 而是第一个task的register讲test_name的值赋值成了如下三行:

“changed”: false,

“skip_reason”: “Conditional result was False”,

“skipped”: true

也就是说,尽快when的条件没有判断成功,但是register还会工作

具体的变通办法参见

https://stackoverflow.com/questions/34621799/ansible-how-do-i-avoid-registering-a-variable-when-a-when-condition-is-not


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

機器,平台,群眾

機器,平台,群眾

安德魯‧麥克費(Andrew McAfee)、艾瑞克‧布林優夫森(Erik Brynjolfsson) / 李芳齡 / 天下文化 / 2017-12-27 / TWD550

★★Amazon.com商業理財Top1 ★★ 全球暢銷書《第二次機器時代》作者最新力作 兩位MIT數位頂尖科學家歷時三年時間 走訪矽谷、華府、劍橋、紐約、倫敦、舊金山等科技政經重鎮 拜會許多領域精英進行交流,結合宏觀趨勢觀察, 指出人人都應關注的三重革命 科技正以空前速度改變每個產業及每個人的生活, 你該如何做,才能保持領先? 我們生活在一個奇特的......一起来看看 《機器,平台,群眾》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具