Ansible:ios_config-仅在存在时删除配置行



如果路由器当前通过" no ip sla 46"运行,我需要在路由器上删除IP SLA配置。想法?

    - name: Add IP SLA test
      ios_config:
        lines:
          - udp-jitter 10.x.x.x source-ip {{ loopback }} codec g711ulaw
          - tos 184
          - tag Network Operation Center - G711ulaw EF VoIP
          - frequency 180
        parents: ip sla 46
        before: no ip sla 46

最终使用ios_command检查当前的IP SLA配置并删除(如果存在)。

- name: Find current SLA 46 config
  ios_command:
    commands: 'show run | inc sla 46'
  register: raw_sla_46
- set_fact:
    sla_46: "{{ raw_sla_46.stdout[0] }}"
- name: Delete IP SLA 46 if present
  ios_config:
    lines:
      - no ip sla 46
  when: sla_46 == 'ip sla 46'
- name: Add IP SLA from Lo0 to DC
  ios_config:
    lines:
      - udp-jitter 10.20.0.25 17000 source-ip {{ loopback }} codec g711ulaw
      - tos 184
      - tag Network Operation Center - CHA - G711ulaw EF VoIP
      - frequency 180
    parents: ip sla 46

我也有同样的问题 - 我想更改NTP服务器,但出于添加所需的功能时,我想删除任何旧/错误的人。在Ansible中,应该有一种可以替换行的方法 - 我不想使用之前的子句删除所有NTP配置,因为它具有破坏性的侧面影响。

当前配置

ntp server 10.10.10.10

所需的config

ntp server 10.10.10.20

如果我使用新服务器的ios_config命令运行了一本剧本,我最终会带有2个NTP服务器 - 这不是我想要的!

最新更新