ansible-collections / cisco.ios

Ansible Network Collection for Cisco IOS
GNU General Public License v3.0
261 stars 162 forks source link

can't manage vlan's using 6.1.0 on cisco c3750x #1020

Closed kalsto closed 3 months ago

kalsto commented 3 months ago
SUMMARY

If I have a working vlan playbook in 6.0.0, my vlan's are deployed successfully. If I try and modify vlan's using 6.1.0, I get an error "no no shutdown"

ISSUE TYPE
COMPONENT NAME

cisco.ios.ios_vlan

ANSIBLE VERSION
ansible [core 2.16.2]
  config file = /mnt/c/Users/bigbe/Documents/ansible/infrastructure/homelab/edging/ansible.cfg
  configured module search path = ['/home/<me>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/<me>/.virtualenvs/infra/lib/python3.10/site-packages/ansible
  ansible collection location = /home/<me>/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/<me>/.virtualenvs/infra/bin/ansible
  python version = 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (/home/<me>/.virtualenvs/infra/bin/python)
  jinja version = 3.1.3
  libyaml = True
COLLECTION VERSION
ansible-galaxy collection list cisco.ios

# /home/<me>/.ansible/collections/ansible_collections
Collection Version
---------- -------
cisco.ios  6.1.0
CONFIGURATION
CALLBACKS_ENABLED(/mnt/c/Users/<me>/Documents/ansible/infrastructure/homelab/edging/ansible.cfg) = ['ansible.posix.profile_tasks', 'ansible.posix.timer', 'ansible.posix.skippy']
CONFIG_FILE() = /mnt/c/Users/<me>/Documents/ansible/infrastructure/homelab/edging/ansible.cfg
DEFAULT_HOST_LIST(/mnt/c/Users/<me>/Documents/ansible/infrastructure/homelab/edging/ansible.cfg) = ['/mnt/c/Users/<me>/Documents/<me>/infrastructure/homelab/edging/inventory']
DEFAULT_MANAGED_STR(/mnt/c/Users/<me>/Documents/ansible/infrastructure/homelab/edging/ansible.cfg) = "Ansible managed - last update %Y-%m-%d %H:%M:%S by {uid} on {host}"
DEFAULT_STDOUT_CALLBACK(/mnt/c/Users/<me>/Documents/ansible/infrastructure/homelab/edging/ansible.cfg) = community.general.yaml
EDITOR(env: EDITOR) = vim
PAGER(env: PAGER) = less
OS / ENVIRONMENT

I've tried from both Ubuntu on WSL and Fedora 39. Same results Applying against a Cisco c3750X

Switch Ports Model SW Version SW Image


STEPS TO REPRODUCE

Create a playbook managing vlan's. Make any change requiring

- name: Purge existing vlans except mgmt vlan
  cisco.ios.ios_vlans:
    state: overridden
    config:
      - vlan_id: 187
        name: mgmt
        state: active

fatal: [Switch1]: FAILED! => changed=false
  module_stderr: |-
    no no shutdown
    no no shutdown
        ^
    % Invalid input detected at '^' marker.

    Switch1(config-vlan)#
  module_stdout: ''
  msg: |-
    MODULE FAILURE
    See stdout/stderr for the exact error
<!--- Paste example playbooks or commands between quotes below -->

Switch1#sh vlan

VLAN Name Status Ports


1 default active Gi1/0/1, Gi1/0/2, Gi1/0/3 Gi1/0/4, Gi1/0/5, Gi1/0/6 Gi1/0/7, Gi1/0/8, Gi1/0/9 Gi1/0/10, Gi1/0/11, Gi1/0/12 Gi1/0/13, Gi1/0/14, Gi1/0/15 Gi1/0/16, Gi1/0/17, Gi1/0/18 Gi1/0/19, Gi1/0/20, Gi1/0/21 Gi1/0/22, Gi1/0/23, Gi1/0/24 Gi1/0/25, Gi1/0/26, Gi1/0/27 Gi1/0/28, Gi1/0/29, Gi1/0/30 Gi1/0/31, Gi1/0/32, Gi1/0/33 Gi1/0/34, Gi1/0/35, Gi1/0/36 Gi1/0/37, Gi1/0/38, Gi1/0/39 Gi1/0/40, Gi1/0/41, Gi1/0/42 Gi1/0/43, Gi1/0/44, Gi1/0/45 Gi1/0/46, Gi1/0/47 25 test active 127 home active 187 mgmt active

EXPECTED RESULTS

With this playbook, I would expect only vlan 1 (Default) and vlan187 (mgmt) to remain

ACTUAL RESULTS

The module errors out and doesn't appear to do anything when running on version 6.1.0

If I put a requirements.yaml file in place and install cisco.ios 6.0.0, this same playbook behaves as expected.