Skip to content

ios_config on interface looping #1317

Description

@kiksen

Bug Summary

Hello,

I run the following playbook to configure ports. I used ios_config because this is faster than doing it with the l2 ressource modules.

The playbook works, but it takes forever. Ansible send the config again and again. Finally it works, like expected, but too slow.

I'm very confident it worked in the past, but I can't say when it broke. Is there something I can do?
Thank you!

  - set_fact:
      lines:
      - description Test TESABC123
      - switchport access vlan 920
      - switchport mode access
      - switchport nonegotiate
      - switchport voice vlan 960
      - srr-queue bandwidth share 1 10 50 35
      - priority-queue out
      - ipv6 nd raguard
      - no snmp trap link-status
      - mls qos trust dscp
      - storm-control broadcast level 10.00 7.00
      - storm-control multicast level 10.00 7.00
      - storm-control action trap
      - spanning-tree portfast edge
      - spanning-tree bpduguard enable

  - name: Change Interface
    cisco.ios.ios_config:
      lines: "{{ lines }}"
      parents: interface GigabitEthernet1/0/10    
      before: default interface GigabitEthernet1/0/10
      match: strict
      replace: line
    register: output
Mar 30 18:17:55.725: %SYS-5-CONFIG_I: Configured from console by username on vty0 (10.1.1.1)
Mar 30 18:17:58.183: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:interface GigabitEthernet1/0/1
Mar 30 18:17:58.186: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default spanning-tree bpduguard
Mar 30 18:17:58.193: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default spanning-tree portfast
Mar 30 18:17:58.197: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control action trap
Mar 30 18:17:58.204: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control multicast level
Mar 30 18:17:58.207: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control broadcast level
Mar 30 18:17:58.225: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default mls qos trust dscp
Mar 30 18:17:58.228: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default snmp trap link-status
Mar 30 18:17:58.235: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default ipv6 nd raguard
Mar 30 18:17:58.242: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default priority-queue out
Mar 30 18:17:58.249: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default srr-queue bandwidth share
Mar 30 18:17:58.253: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport voice vlan
Mar 30 18:17:58.256: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport nonegotiate
Mar 30 18:17:58.263: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport mode
Mar 30 18:17:58.267: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport access vlan
Mar 30 18:17:58.270: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default description
Mar 30 18:17:58.274: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default interface GigabitEthernet1/0/1
Mar 30 18:17:59.371: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:interface GigabitEthernet1/0/1
Mar 30 18:18:01.685: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:description Test TEST1234xxx
Mar 30 18:18:03.370: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport access vlan 900
Mar 30 18:18:03.534: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport mode access
Mar 30 18:18:04.226: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport nonegotiate
Mar 30 18:18:05.506: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport voice vlan 960
Mar 30 18:18:06.750: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:srr-queue bandwidth share 1 10 50 35
Mar 30 18:18:06.949: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:priority-queue out
Mar 30 18:18:07.271: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:ipv6 nd raguard
Mar 30 18:18:07.537: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:no snmp trap link-status
Mar 30 18:18:07.795: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:mls qos trust dscp
Mar 30 18:18:09.071: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control broadcast level 10.00  7.00
Mar 30 18:18:11.319: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control multicast level 10.00  7.00
Mar 30 18:18:12.469: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control action trap
Mar 30 18:18:15.632: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:spanning-tree portfast edge
Mar 30 18:18:16.855: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:spanning-tree bpduguard enable
Mar 30 18:18:17.058: %SYS-5-CONFIG_I: Configured from console by username on vty0 (10.1.1.1)
Mar 30 18:18:19.550: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:interface GigabitEthernet1/0/1
Mar 30 18:18:19.554: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default spanning-tree bpduguard
Mar 30 18:18:19.557: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default spanning-tree portfast
Mar 30 18:18:19.561: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control action trap
Mar 30 18:18:19.568: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control multicast level
Mar 30 18:18:19.571: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default storm-control broadcast level
Mar 30 18:18:19.592: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default mls qos trust dscp
Mar 30 18:18:19.596: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default snmp trap link-status
Mar 30 18:18:19.599: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default ipv6 nd raguard
Mar 30 18:18:19.620: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default priority-queue out
Mar 30 18:18:19.627: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default srr-queue bandwidth share
Mar 30 18:18:19.631: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport voice vlan
Mar 30 18:18:19.634: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport nonegotiate
Mar 30 18:18:19.641: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport mode
Mar 30 18:18:19.648: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default switchport access vlan
Mar 30 18:18:19.652: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default description
Mar 30 18:18:19.655: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:default interface GigabitEthernet1/0/1
Mar 30 18:18:20.697: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:interface GigabitEthernet1/0/1
Mar 30 18:18:20.931: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:description Test TEST1234xxx
Mar 30 18:18:22.092: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport access vlan 900
Mar 30 18:18:23.217: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport mode access
Mar 30 18:18:23.458: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport nonegotiate
Mar 30 18:18:25.657: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:switchport voice vlan 960
Mar 30 18:18:27.936: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:srr-queue bandwidth share 1 10 50 35
Mar 30 18:18:28.184: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:priority-queue out
Mar 30 18:18:28.397: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:ipv6 nd raguard
Mar 30 18:18:28.663: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:no snmp trap link-status
Mar 30 18:18:30.820: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:mls qos trust dscp
Mar 30 18:18:33.095: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control broadcast level 10.00  7.00
Mar 30 18:18:36.259: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control multicast level 10.00  7.00
Mar 30 18:18:36.510: %PARSER-5-CFGLOG_LOGGEDCMD: User:username  logged command:storm-control action trap
.....
ansible [core 2.20.4]
  config file = /mnt/d/Ansible/ansible.cfg
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/usernae/.ansible/lib/python3.12/site-packages/ansible
  ansible collection location = /home/username/.ansible/collections/ansible_collections
  executable location = /home/username/.ansible/bin/ansible
  python version = 3.12.3 (main, Nov  6 2025, 13:44:16) [GCC 13.3.0] (/home/username/.ansible/bin/python3)
  jinja version = 3.1.6
  pyyaml version = 6.0.3 (with libyaml v0.2.5)

cisco.ios 11.3.0

Thank you very much!

Select the relevant components

  • Module
  • Action Plugin
  • Connection Plugin (cliconf)
  • Terminal Plugin
  • Module Utils
  • Documentation
  • Integration Tests
  • Unit Tests
  • Collection Release
  • CI Maintenance
  • Workflow Maintenance

IOS Version

IOS: 15.2(7)E7 / IOS-XE 17.12.04

Hardware Platform

WS-C2960X-48FPS-L / C9200L-48T-4X

Module/Plugin Name

ios_config

Metadata

Metadata

Assignees

Labels

bugThis issue/PR relates to a bug.configios_config module

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions