Ansible 如何使用“创建”;匹配“;及;替换“;幂等可分解剧本?
我正在尝试为我们的Cisco交换机创建幂等函数剧本,我读了很多文档,但这里一定缺少一些东西 我有一个剧本,在剧本中,我将我的角色称为需要设置交换机端口的角色: /etc/ansible/playbook.ymlAnsible 如何使用“创建”;匹配“;及;替换“;幂等可分解剧本?,ansible,cisco,Ansible,Cisco,我正在尝试为我们的Cisco交换机创建幂等函数剧本,我读了很多文档,但这里一定缺少一些东西 我有一个剧本,在剧本中,我将我的角色称为需要设置交换机端口的角色: /etc/ansible/playbook.yml ... roles: ... - role: set_acc_switchports access_ports: g1/0/1 - 2 /etc/ansible/roles/set\u acc\u switchport/tasks/main.ym
...
roles:
...
- role: set_acc_switchports
access_ports: g1/0/1 - 2
/etc/ansible/roles/set\u acc\u switchport/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
事情是这样的:它设置了端口,但当我再次运行playbook时,尽管已经有了完全相同的配置(并且只有该配置),但输出总是这个角色已经改变了一些东西,而不是刚刚确定:
...
TASK [set_acc_switchports : Set switchports to default] *****************************************************************************
changed: [Switch]
PLAY RECAP ***********************************************************************************************************************
Switch: ok=2 changed=1 unreachable=0 failed=0
我试着调整匹配并替换params,但没有成功。非常感谢您的帮助。可能是因为您使用了缩写的命令/名称
查看。有一个问题,但它已关闭。也许一个简单的更新会有帮助。谢谢!我没有想到“g1/0/1-2”也会导致这个问题。替换为完整的接口名称,工作起来很有魅力。