Skip to content

[Bug]: updating interface removes vlan-id's #1384

Open
@alfredhdahl

Description

@alfredhdahl

Ansible NetBox Collection version

v3.20.0

Ansible version

ansible [core 2.17.8]
  config file = /home/alfred@eidsiva/ansible/ansible-playbook-poc/ansible.cfg
  configured module search path = ['/home/alfred@eidsiva/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/alfred@eidsiva/ansible/venv/lib/python3.10/site-packages/ansible
  ansible collection location = /home/alfred@eidsiva/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/alfred@eidsiva/ansible/venv/bin/ansible
  python version = 3.10.12 (main, Jan 17 2025, 14:35:34) [GCC 11.4.0] (/home/[email protected]/ansible/venv/bin/python)
  jinja version = 3.1.5
  libyaml = True

NetBox version

4.2.2

Python version

3.10

Steps to Reproduce

this task:

delegate_to: localhost
netbox.netbox.netbox_device_interface:
netbox_url: "{{ _netboxurl }}"
netbox_token: "{{ _netboxtoken }}"
validate_certs: false
data:
device: "{{ inventory_hostname }}"
description: "{{ _description }}"
enabled: "{{ _isenabled }}"
name: "{{ _name }}"
type: "virtual"
parent_interface: "{{ interface_idx.name }}"
mtu: "{{ _mtu }}"
custom_fields:
junos_family_inet_rpf_check: "{{ _family_inet_rpf_check }}"
junos_interface_encapsulation_type: "{{ _encapsulation }}"
state: present
loop: "{{ interface_idx.unit }}"
loop_control:
loop_var: subinterface_idx

results in task output:

changed: {
"ansible_loop_var": "subinterface_idx",
"changed": true,
"diff": {
"after": {
"custom_fields": {
"junos_family_inet_rpf_check": false,
"junos_interface_encapsulation_type": ""
},
"description": "",
"mtu": 9192
},
"before": {
"custom_fields": {
"junos_family_inet_rpf_check": false
},
"description": """",
"mtu": 65535
}
},

but in reality, as collected from netbox changelog, this is changed:

Difference:

before:
{
"custom_fields": {
...
"junos_family_inet_rpf_check": false,
"junos_interface_encapsulation_type": null,
...
},
"description": """",
"mtu": 65535,
"tagged_vlans": [
19843
]
}

after:
{
"custom_fields": {
...
"junos_family_inet_rpf_check": false,
"junos_interface_encapsulation_type": "",
...
},
"description": "",
"mtu": 9192,
"tagged_vlans": []
}

Expected Behavior

using netbox.netbox.netbox_device_interface to update the mentioned dict should not remove vlan tagged in tagged_vlans

Observed Behavior

using netbox.netbox.netbox_device_interface to update the mentioned dict, removes any vlan tagged at the same interface

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions