zoukankan      html  css  js  c++  java
  • Ansible条件测试

    本节内容:

    • Ansible条件测试

    一、Ansible条件测试

    在ansible中还可以进行条件测试。如果需要根据变量、facts或此前任务的执行结果来做为某task执行与否的前提时要用到条件测试。

    1. when语句

    在task后添加when子句即可使用条件测试:when语句支持Jinja2表达式语法。例如:

    tasks:
    - name: "shutdown Debian flavored systems"
      command: /sbin/shutdown -h now
      when: ansible_os_family == "Debian"

    when语句还可以使用Jinja2的大多“filter”,例如要忽略此前某语句额错误并基于其结果(failed或success)运行后面指定的语句,可使用类似如下形式:

    tasks:
    - command: /bin/false
      register: result
      ignore_errors: True
    - command: /bin/sonmething
      when: result|failed
    - command: /bin/something_else
      when: result|success
    - command: /bin/still/something_else
      when: result|skipped

    此外,when语句还可以使用facts或playbook中定义的变量。facts就是主机报告上来的变量。比如:

  • 相关阅读:
    偏函数
    装饰器
    排序
    匿名函数
    参数传递
    pass语句
    不定长函数
    通用函数
    不定长参数(元祖)
    不定长参数(字典)
  • 原文地址:https://www.cnblogs.com/zhaojiankai/p/7644054.html
Copyright © 2011-2022 走看看