该手册的目的是查看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
这是我期望得到的,我希望的是,当没有差异时,任务不会失败。