Ansible + Cisco idempotence

时间:2017-07-18 03:51:23

标签: ansible cisco idempotent

所以我正在用Ansible进行一些测试来管理思科设备(在这种情况下特别是3750)。 我可以毫无问题地添加我的VLAN和Loopback。

当环回或VLAN存在时,只是试图让Ansible停止注册任务中的更改。

现在我的游戏看起来像这样:

    - name: Set the IP for Loop 0
  ios_config:
    provider: "{{ connection }}"
    lines:
      - description AnsibleLoop0
      - ip address 8.8.8.8 255.255.255.0
    before:
      - interface Loopback0
    match: exact

无论何时运行此任务,Ansible都会将其注册为更改:

changed: [switch] => {"changed": true, "updates": ["interface Loopback0", "description AnsibleLoop0", "ip address 8.8.8.8 255.255.255.0"], "warnings": []}

我尝试过不同的match类型(line, exact)无济于事。 也许我在这里弄错了。

我认为如果我在播放中插入的行与show run中显示的行完全一样,那么它会不会将其注册为更改?

任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:1)

您可能遇到此问题:

https://github.com/ansible/ansible/pull/24345

您是否每次使用Playbook中的save: "yes”将配置更改保存到Cisco设备?我遇到了同样的问题,每次播放剧本时都会保存配置。设置为no只是为了测试,在第一次运行报告changed=True顺序运行后,将通过Ansible报告changed=False