如何用“ match”和“ replace”等幂Ansible剧本创建?

时间:2019-06-14 12:35:10

标签: ansible cisco

我正在尝试为我们的思科交换机创建幂等的剧本,我读了很多文档,但是这里肯定有我想念的东西...

我有一本剧本,在这里我扮演我的角色,需要在其中设置我的切换端口:

/etc/ansible/playbook.yml

 ...   
   roles:
 ...  
   - role: set_acc_switchports
       access_ports: g1/0/1 - 2

/etc/ansible/roles/set_acc_switchports/tasks/main.yml:

- name: Set switchports to default
  ios_config:
    lines:
      - switchport access vlan 169
      - switchport mode access
      - switchport port-security
     parents: interface range {{ access_ports }}
     match: strict
     replace: line

这是问题:它设置端口,但是当我再次运行剧本时,尽管已经有了完全相同的配置(并且只有该配置),但输出始终是此角色已更改了某些内容,而不是仅仅:

...
TASK [set_acc_switchports : Set switchports to default] *****************************************************************************
changed: [Switch]

PLAY RECAP ***********************************************************************************************************************
Switch: ok=2    changed=1    unreachable=0    failed=0

我尝试调整比赛并替换参数,但没有运气。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

可能是因为您使用了缩写的命令/名称。

看看Ansible Network FAQ