ansible-playbook changed_when使用
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使用相关推荐
- ansible playbook详细教程(笔记)
ctrl F 执行playbook命令 ansible playbook -i "inventory文件名" playbook.yml f 10 (并行级别10) 加参 ...
- ansible笔记(11):初识ansible playbook(二)
ansible笔记(11):初识ansible playbook(二)有前文作为基础,如下示例是非常容易理解的:--- - hosts: test211remote_user: roottasks:- ...
- Python+Django+Ansible Playbook自动化运维项目实战(二)
Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...
- Python+Django+Ansible Playbook自动化运维项目实战:资产管理
Python+Django+Ansible Playbook自动化运维项目实战 一.资产管理,自动化发现.扫描 1.服务端资产探测.扫描发现 1)资产管理的资产: 2)抽象与约定: 2.探测协议和模块 ...
- Ansible playbook
1.什么是playbook playbook :定义一个文本文件,以yml为后缀结尾,那playbook组成如下. play:定义的是主机的角色 task: 定义的是具体执行的任务 总结:playbo ...
- Ansible 学习总结(2)—— Ansible playbook 入门详解
一.Ansible playbook 简单概述 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本.通过 playbook 的详细描述,执行其中的一系列 tasks ,可以让远 ...
- Ansible playbook
一.Ansible playbook 简介和使用场景 1.简介 playbook 是 ansible 用于配置,部署,和管理被控节点的剧本. 通过 playbook 的详细描述,执行其中的一系列 ta ...
- ansible———playbook剧本
ansible--playbook剧本 文章目录 ansible--playbook剧本 一.主机清单 二.Yaml文件 三.playbook剧本 四.Handlers介绍 五.条件测试 一.主机清单 ...
- Seventh5: YAML syntax Ansible Playbook Ansible variables summaries and QQS | Cloud computing
云计算专题目录 Catalogue | Cloud computing Seventh5: YAML syntax & Ansible Playbook & Ansible varia ...
- ansible playbook脚本获取系统版本信息
ansible playbook脚本获取系统版本信息 执行环境说明 脚本执行过程中实测系统为 redhat6.redhat7 suse11 suse12: [root@ansible_host ~]# ...
最新文章
- [转]那些年我们一起清除过的浮动
- (积累)java里的套接字
- 成功解决AttributeError: module tensorflow.compat has no attribute v1
- 聚焦场景落地, 看“云+AI”如何激发5G的“隐藏技能”
- entOS 7 安装 python3+pip3+chrome+chromedriver+selenium+requests 无GUI运行脚本
- dmalloc用法快速入门
- request的简介和运行环境
- sun.misc.Unsafe和堆外内存
- java 可重入读写锁 ReentrantReadWriteLock 详解
- Mysql 行转列,列转行
- 自学成为程序员_成为程序员不需要的10件事
- Python:程序设计方法学、体育竞技分析
- Qt利用avilib实现录屏功能_如何找到电脑录屏功能?4种方法教你一键打开,不会用来学一学...
- 第五章平稳过程(1)
- 北京专业一般人小规模代理记账
- sqlite的数据库文件在什么地方? sqlite数据库文件后缀名,提取方法,打开方法。
- 【CVPR2022】论文列表与下载——PartThree
- JavaScript之堆栈溢出
- [Web端接入经验分享] 腾讯云即时通信TIM、实时音视频TRTC
- 高数 下总复习 完结