Ansible : fail & fail_when & change_when & check_mode & register & ignore_errors

 

fail & failed_when:

- hosts: buster
  remote_user: root
  tasks:
    - shell: "echo 'This is a string for testing--error'"
      register: value
    - debug:
        msg: "2"
    # - fail:
    - fail:
        msg: "Interrupted On Purpose"
        when: '"error" in value.stdout'
    - debug:
        msg: "3"
    - debug:
        msg: "4"

- hosts: buster
  remote_user: root
  tasks:
    - debug:
        msg: "I execute normally"
    - shell: "echo 'This is a string for testing error'"
      register: return_value
      failed_when: ' "error" in return_value.stdout'
    - debug:
        msg: "I never execute,Because the playbook has stopped"

 

changed_when:

- hosts: buster
  remote_user: root
  gather_facts: false
  tasks:
    - debug:
        msg: "debug msg"
      changed_when: true
    - shell: "pwd"
      changed_when: false

 

check_mode:

- hosts: buster
  remote_user: root
  gather_facts: false
  tasks:
    - shell: pwd
      register: value
      check_mode: true
    - debug:
        msg: "stdout: {{ value.stdout }}"

 

register:

- hosts: buster
  remote_user: root
  gather_facts: false

  tasks:
    - name: register user
      raw: whoami
      register: value
    - debug:
        # var: user
        msg: "User: {{ value.stdout }}"

 

ignore_errors:

- hosts: buster
  remote_user: root
  gather_facts: true

  tasks:
    - name: pp
      shell: |
        echo aaaaa
        ech bbbb
      ignore_errors: true

    - debug: msg="{{ ansible_distribution }}"

    - block:
      - name: aa
        command: echo aa
      - name: bb
        shell: echo bb
      when: ansible_os_family  == "RedHat"

 

上一篇:计算机系统结构


下一篇:thinkphp6短信或者邮箱验证码防刷代码