changed_when关键词的作用是在条件成立时,将任务状态改为changed。

---
- hosts: controltasks:- name: create folderfile:path: "{{ item }}"state: directoryrecurse: yeswith_items:- /etc/123/1qdf- /root/123/qwwchanged_when: false  ##将之前的changed状态改为ok,但是tasks已经执行
输出结果如下:
[root@ansible129 ansible]# ansible-playbook -i hosts  debug.yml PLAY [control] ***********************TASK [Gathering Facts] *****
Thursday 09 April 2020  11:22:05 +0800 (0:00:00.043) 0:00:00.043 ********
ok: [192.168.124.129]TASK [create folder] **********************************************
Thursday 09 April 2020  11:22:12 +0800 (0:00:06.800) 0:00:06.844 ****
ok: [192.168.124.129] => (item=/etc/123/1qdf)
ok: [192.168.124.129] => (item=/root/123/qww)TASK [test bool] ******************************************************
192.168.124.129 :ok=3 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0   Thursday 09 April 2020  11:22:13 +0800 (0:00:00.320)       0:00:08.079 *****
=====================================================================
Gathering Facts ----------------------------------------- 6.80s
create folder ------------------------------------------------- 0.91s
test bool -----------------------------------------------   

bool值:

bool参数可以把字符串转换为函数值
如下:
- name: test ipv4 network connectionshell: |ping -c 3  "{{ item }}"with_items: "{{ ansible_all_ipv4_addresses }}"changed_when: falsedelegate_to: "{{ groups.control.0 }}"when: enable_network_check | bool  #bool过滤器可以根据字符串的内容返回bool值true或者false#字符串的内容为yes、1、True、true则返回布尔值true,字符串内容为其他内容则返回false
- name: enable alerts for web servershosts: webservers  ###使用这种方式可以代替delegate_totasks:- name: enable alertsnagios: action=enable_alerts service=web host="{{ inventory_hostname }}"delegate_to: nagios.example.com  become: true
普通切换root
- name: Setting sysctl valuessysctl: name={{ item.name }} value={{ item.value }} sysctl_set=yesbecome: truebecome_user: tom  ##需要切换的用户with_items:- { name: "net.ipv4.ip_nonlocal_bind", value: 1}- { name: "net.ipv6.ip_nonlocal_bind", value: 1}- { name: "net.unix.max_dgram_qlen", value: 128}when:- set_sysctl | bool

failed_when:

当条件成立时该tasks失败
- name: check exist vm ofter migratedebug: msg="ofter migrate exist vm"failed_when: ensure_vm_exist.stdout | bool != 0以下方式也可以
- name: failed when can not find kolla-ansiblefail:msg: "Can not found kolla-ansible in {{ package_path }} folder"when:- find_kolla_ansible.stdout_lines|length == 0

ansible-playbook changed_when使用相关推荐

  1. ansible playbook详细教程(笔记)

    ctrl F  执行playbook命令   ansible ­playbook -­i "inventory文件名" playbook.yml ­f 10 (并行级别10) 加参 ...

  2. ansible笔记(11):初识ansible playbook(二)

    ansible笔记(11):初识ansible playbook(二)有前文作为基础,如下示例是非常容易理解的:--- - hosts: test211remote_user: roottasks:- ...

  3. Python+Django+Ansible Playbook自动化运维项目实战(二)

    Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...

  4. Python+Django+Ansible Playbook自动化运维项目实战:资产管理

    Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...

  5. Ansible playbook

    1.什么是playbook playbook :定义一个文本文件,以yml为后缀结尾,那playbook组成如下. play:定义的是主机的角色 task: 定义的是具体执行的任务 总结:playbo ...

  6. Ansible 学习总结(2)—— Ansible playbook 入门详解

    一.Ansible playbook 简单概述 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本.通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远 ...

  7. Ansible playbook

    一.Ansible playbook 简介和使用场景 1.简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 ta ...

  8. ansible———playbook剧本

    ansible--playbook剧本 文章目录 ansible--playbook剧本 一.主机清单 二.Yaml文件 三.playbook剧本 四.Handlers介绍 五.条件测试 一.主机清单 ...

  9. Seventh5: YAML syntax Ansible Playbook Ansible variables summaries and QQS | Cloud computing

    云计算专题目录 Catalogue | Cloud computing Seventh5: YAML syntax & Ansible Playbook & Ansible varia ...

  10. ansible playbook脚本获取系统版本信息

    ansible playbook脚本获取系统版本信息 执行环境说明 脚本执行过程中实测系统为 redhat6.redhat7 suse11 suse12: [root@ansible_host ~]# ...

最新文章

  1. [转]那些年我们一起清除过的浮动
  2. (积累)java里的套接字
  3. 成功解决AttributeError: module tensorflow.compat has no attribute v1
  4. 聚焦场景落地, 看“云+AI”如何激发5G的“隐藏技能”
  5. entOS 7 安装 python3+pip3+chrome+chromedriver+selenium+requests 无GUI运行脚本
  6. dmalloc用法快速入门
  7. request的简介和运行环境
  8. sun.misc.Unsafe和堆外内存
  9. java 可重入读写锁 ReentrantReadWriteLock 详解
  10. Mysql 行转列,列转行
  11. 自学成为程序员_成为程序员不需要的10件事
  12. Python:程序设计方法学、体育竞技分析
  13. Qt利用avilib实现录屏功能_如何找到电脑录屏功能?4种方法教你一键打开,不会用来学一学...
  14. 第五章平稳过程(1)
  15. 北京专业一般人小规模代理记账
  16. sqlite的数据库文件在什么地方? sqlite数据库文件后缀名,提取方法,打开方法。
  17. 【CVPR2022】论文列表与下载——PartThree
  18. JavaScript之堆栈溢出
  19. [Web端接入经验分享] 腾讯云即时通信TIM、实时音视频TRTC
  20. 高数 下总复习 完结

热门文章

  1. 游戏设计分析——魔塔
  2. 使用Dreamweaver创建一个PHP程序
  3. word 编辑过程中变为只读_Word字体无法更改设置不起作用的几种情况
  4. 美联航客机逃生门故障致乘客机舱过夜 承诺将赔偿
  5. 数据库 1NF、2NF、3NF、BCNF
  6. 因果性与因果模型 | 中国人民大学哲学与认知科学明德讲坛
  7. uniapp框架+app打包发布
  8. 阿里云对象存储oss上传图片及删除
  9. 怎么修改和编辑PDF文件中的文字内容
  10. Python基本语法(初学者,不是很完善)