Ansible-根据任务完成情况采取行动

时间:2018-09-17 19:55:39

标签: ansible

该手册的目的是查看cisco设备上的running-config,并检查它是否包含以下文件中的命令:change.txt

---
# This playbook will display version information about the devices it scans
- hosts: mygroup
  connection: network_cli
  remote_user: user
  tasks:
    - name: Checking to see if specified changes are present in running-config
      ios_config:
        diff_against: running
        src: change.txt
        diff_ignore_lines:
          - password 7 .*
        match: line
      register: delta
      check_mode: Yes
      failed_when: delta != ""

change.txt包含2行(已删除其他行以简化故障排除)

line vty 0 4
exec-timeout 5 0

我在运行任务时得到以下输出:

$ ansible-playbook missing.yml --limit 10.9.72.10
SSH password:

PLAY [mygroup] *****************************************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************************
ok: [10.9.72.10]

TASK [Checking to see if specified changes are present in running-config] ***************************************************************************************************************************
fatal: [10.9.72.10]: FAILED! => changed=false
  failed_when_result: true

PLAY RECAP ******************************************************************************************************************************************************************************************
10.9.72.10                 : ok=1    changed=0    unreachable=0    failed=1

当文件中的行出现在设备上时,就会发生这种情况。当存在差异时,我得到了这个(具体来说,我将计时器更改为15分钟:

$ ansible-playbook missing.yml -k --limit 10.9.72.10
SSH password:

PLAY [mygroup] *****************************************************************************************************************************************************************************************

TASK [Gathering Facts] ******************************************************************************************************************************************************************************
ok: [10.9.72.10]

TASK [Checking to see if specified changes are present in running-config] ***************************************************************************************************************************
fatal: [10.9.72.10]: FAILED! => changed=true
  banners: {}
  commands:
  - line vty 0 4
  - exec-timeout 15 0
  failed_when_result: true
  updates:
  - line vty 0 4
  - exec-timeout 15 0

PLAY RECAP ******************************************************************************************************************************************************************************************
10.9.72.10                 : ok=1    changed=0    unreachable=0    failed=1

这是我期望得到的,我希望的是,当没有差异时,任务不会失败。

0 个答案:

没有答案