zoukankan      html  css  js  c++  java
  • Ansible When有条件的运行任务

    When 条件表达式

    •   ==  <  >  <=  >=  !=  or  and
    •   vars is defined      # 变量存在
    •   vars is not defined    # 变量不存在
    •   vars in list            # 变量在列表中

    When 四种register结果判断

    •     when: result is failed      #执行失败
    •     when: result is success  #执行成功
    •     when: result is skipped  #被跳过执行
    •     when: result is changed #是否修改

    示例1 bool判断

    ---
    - name: when test
      hosts: dev
      vars:
        run_debug: true
      tasks:
        - name: debug
          debug:
            msg: "hello world"
          when: run_debug |bool

    示例2 defined

    ---
    - name: when test
      hosts: dev
      vars:
        run_service: firewalld
      tasks:
        - name: "{{ run_service}} service"
          service:
            name: "{{ run_service }}"
            state: started
          when: run_service is defined

    示例3 in list

    ---
    - name: when test
      hosts: dev
      vars:
        support_os:
        - RedHat
        - CentOS
      tasks:
        - name: "OS Type"
          debug:
                  msg: "The os type is {{ ansible_distribution }}"
          when: ansible_distribution in support_os  # ansible_distribution是ansible_facts中的变量

    示例4 when + register

    ---
    - name: when test
      hosts: dev
      tasks:
        - name: start chronyd service
          service:
            name: chronyd
            state: started
          ignore_errors: true
          register: result- name: debug
          debug:
            msg: "{{ result.failed }}"
          when: result is success  # 也可以使用 result.failed == false

    示例4 loop + when (将对Loop中每项都执行when)

    ---
    - name: when test
      hosts: dev
      tasks:
        - name: debug
          debug:
              msg: "{{ item }}"
          loop: "{{ ansible_mounts }}"
          when: item.mount == "/" and item.size_available > 300000000
  • 相关阅读:
    velocity .vm
    @Autowired
    springMVC
    索引
    Adivisor
    计算火车运行的时间
    倒三角
    XML简介
    表单提交方式
    js动态生成表格
  • 原文地址:https://www.cnblogs.com/vincenshen/p/12611783.html
Copyright © 2011-2022 走看看