1. ansible-playbook添加判断 when相当于shell脚本里的if 判断,when语句就是用来实现这个功能的,它是一个jinja2的语法,但是不需要双大括号,用法很简单 1.1) 示例1: 1[root@test-1 when]#vim when_test1.yaml2[root@test-1 when]#cat when_test1.yaml3---4-hosts: web15gather_facts: yes67tasks:8- n...
when值是一个条件表达式,如果条件判断成立,tasks就执行操作,如果条件判断不成立,就跳过操作, mew@mew:/etc/ansible$ cat when.yml - hosts: all become: yes become_method: sudo tasks: - name: copy file debug: msg="{{ansible_default_ipv4.address}}" when: ansible_default_ipv4.address == ‘192.168...
when是Ansible中的条件判断语句, 类似于编程语言中的if。 有时候用户很可能需要满足特定条件才执行某一个特定的步骤,例如在一个特定版本的系统上安装软件包,或者只在磁盘空间不足的文件系统上执行清理操作一样。这些操作在playbook中用when语句实现。 when的基本用法 代码语言:javascript 代码运行次数:0 复制 Cloud Stu...
1.1 when语句 在task后添加when子句即可使用条件测试;when语句支持Jinja2表达式语法。例如: tasks: - name: "shutdown Debian flavored systems" command: /sbin/shutdown -h now when: ansible_os_family == "Debian" //当ansible报告的os_family是Debian,那么就执行上面两行的任务即立刻关机 示例演示:假如被管...
ansible-playbook流程控制-when条件判断 1. ansible-playbook添加判断 when相当于shell脚本⾥的if 判断,when语句就是⽤来实现这个功能的,它是⼀个jinja2的语法,但是不需要双⼤括号,⽤法很简单 1.1) ⽰例1:1 [root@test-1 when]# vim when_test1.yaml 2 [root@test-1 when]# cat when_test...
when: result|failed when中可以判断此前某个结果是否是所期望的,进而根据其做出判断的迭代: 还可以实现遍历循环操作,如下所示: 在主机组taokey中,添加3个用户 –name: add user remote_user: root hosts:taokeytasks: –name: add serveral users
playbook 中使用 when 关键字来进行条件判断,这里的 when 相当于 shell 中的 if ,它是 jinja2 的语法。 有这样一个需求:如果主机的 IP 为: 192.168.118.15 则打印它的主机名,实现如下: 有这样一个需求:如果主机的 IP 为: 192.168.118.15 则打印它的主机名,实现如下: - hosts: all remote_user: root ...
在Ansible playbook中跳过一些循环,可以使用when关键字来实现条件判断,从而决定是否执行循环。 具体步骤如下: 在Ansible playbook中,使用when关键字来定义条件判断语句。 在条件判断语句中,使用skip关键字来指定跳过循环的条件。 在循环的任务中,使用loop_control关键字来指定循环控制选项,其中包括loop_var用于定义循环变量...
条件判断一般用于针对不同版本的系统,比如对centos、ubuntu 等系统进行不同的操作命令。 1)编辑配置文件 [root@master ansible]# vim when.yml --- - hosts: testhost user: root gather_facts: True tasks: - name: use when shell: touch /tmp/when.txt ...
Playbook 中的条件判断语句使用when,通常这可以结合 Setup 模块针对不同系统主机执行不同的操作。 - hosts: all remote_user: root tasks: - name: Create File file: path=/tmp/this_is_{{ ansible_hostname }}_file state=touch when: (ansible_hostname == "nfs") or (ansible_hostname == "backup...