RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1859148 - vlan tag is not removed from interface if was attached over bridged/bridge less with custom MTU
Summary: vlan tag is not removed from interface if was attached over bridged/bridge le...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: nmstate
Version: 8.3
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: 8.0
Assignee: Gris Ge
QA Contact: Mingyu Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-21 10:39 UTC by Michael Burman
Modified: 2020-11-04 03:11 UTC (History)
7 users (show)

Fixed In Version: nmstate-0.3.3-3.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-04 03:08:54 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Reproducer (972 bytes, application/x-shellscript)
2020-07-23 06:07 UTC, Ales Musil
no flags Details
verified.log (34.65 KB, text/plain)
2020-07-30 08:21 UTC, Mingyu Shi
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github nmstate nmstate pull 1231 0 None closed [Regression] Ifaces: allowing child been removed 2020-11-05 07:29:00 UTC
Red Hat Product Errata RHBA-2020:4696 0 None None None 2020-11-04 03:09:08 UTC

Description Michael Burman 2020-07-21 10:39:54 UTC
Description of problem:
vlan tag is not removed from interface if was attached over bridged/brisgeless with custom MTU

We see new regression on RHV while testing nmstate from rhel8.3

The vlan tag is not removed(wiped out) after a bridge or bridgeless network was attached to it with custom MTU

Version-Release number of selected component (if applicable):
nmstate-0.3.3-2.el8.noarch

How reproducible:
100%

Steps to Reproduce:
1. Attach bridge or bridgeless network with vlan tag + custom MTU to an interface
2. Detach the network from the interface

Actual results:
vlan tag is not removed from the interface as should be

Expected results:
vlan tag should be removed from the inetrface after the master bridge or bridgeless network was detached from him

Additional info:
Issue was found out during an early testing of RHV 4.4 with nmstate from rhel 8.3 during network tier1 execution

Comment 4 Michael Burman 2020-07-21 10:50:29 UTC
Desired state of adding the network with vlan tag 5 and custom MTU 5000 over NIC

MainProcess|jsonrpc/1::INFO::2020-07-21 13:46:59,584::configurator::197::root::(_setup_nmstate) Desired state: {'interfaces': [{'name': 'enp5s0f0', 'state': 'up', 'mtu': 5
000}, {'vlan': {'id': 5, 'base-iface': 'enp5s0f0'}, 'name': 'enp5s0f0.5', 'type': 'vlan', 'state': 'up', 'mtu': 5000, 'ipv4': {'enabled': False}, 'ipv6': {'enabled': False
}}, {'name': 'nom_vm', 'type': 'linux-bridge', 'state': 'up', 'mtu': 5000, 'bridge': {'port': [{'name': 'enp5s0f0.5'}], 'options': {'stp': {'enabled': False}}}, 'ipv4': {'
enabled': False}, 'ipv6': {'enabled': False}}, {'name': 'ovirtmgmt'}]}

nmcli c s

enp5s0f0.5  6796b20d-7600-4165-8981-38eb033e2ee4  vlan      enp5s0f0.5 


Desired state of removing the network from the NIC

MainProcess|jsonrpc/7::INFO::2020-07-21 13:48:48,910::configurator::197::root::(_setup_nmstate) Desired state: {'interfaces': [{'name': 'enp5s0f0', 'mtu': 1500}, {'name': 
'enp5s0f0.5', 'state': 'absent'}, {'name': 'nom_vm', 'state': 'absent'}, {'name': 'ovirtmgmt'}]}

nmcli c s
enp5s0f0.5  6796b20d-7600-4165-8981-38eb033e2ee4  vlan      enp5s0f0.5  - the vlan tag remain on the NIC

Comment 8 Ales Musil 2020-07-23 06:07:29 UTC
Created attachment 1702158 [details]
Reproducer

Comment 9 Ales Musil 2020-07-23 06:09:38 UTC
Running the reproducer: 

2020-07-23 06:06:22,075 root         DEBUG    Async action: Create checkpoint started
2020-07-23 06:06:22,081 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/3 created for all devices
2020-07-23 06:06:22,082 root         DEBUG    Async action: Create checkpoint finished
2020-07-23 06:06:22,088 root         DEBUG    Async action: Add profile: dummy started
2020-07-23 06:06:22,091 root         DEBUG    Async action: Add profile: dummy.5 started
2020-07-23 06:06:22,098 root         DEBUG    Async action: Add profile: dummy finished
2020-07-23 06:06:22,101 root         DEBUG    Async action: Add profile: dummy.5 finished
2020-07-23 06:06:22,104 root         DEBUG    Async action: Activate profile: dummy started
2020-07-23 06:06:22,108 root         DEBUG    Connection activation initiated: dev=dummy, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-07-23 06:06:22,115 root         DEBUG    Connection activation succeeded: dev=dummy, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATED of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_ACTIVATED of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_IP4_READY | NM_ACTIVATION_STATE_FLAG_IP6_READY of type NM.ActivationStateFlags>
2020-07-23 06:06:22,116 root         DEBUG    Async action: Activate profile: dummy finished
2020-07-23 06:06:22,116 root         DEBUG    Async action: Reapply device config: dummy started
2020-07-23 06:06:22,120 root         DEBUG    Async action: Reapply device config: dummy finished
2020-07-23 06:06:22,120 root         DEBUG    Async action: Activate profile: dummy.5 started
2020-07-23 06:06:22,129 root         DEBUG    Connection activation initiated: dev=dummy.5, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-07-23 06:06:22,133 root         DEBUG    Connection activation succeeded: dev=dummy.5, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATED of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_ACTIVATED of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_IP4_READY | NM_ACTIVATION_STATE_FLAG_IP6_READY of type NM.ActivationStateFlags>
2020-07-23 06:06:22,133 root         DEBUG    Async action: Activate profile: dummy.5 finished
2020-07-23 06:06:22,151 root         DEBUG    Async action: Retrieve applied config: dummy started
2020-07-23 06:06:22,152 root         DEBUG    Async action: Retrieve applied config: dummy.5 started
2020-07-23 06:06:22,153 root         DEBUG    Async action: Retrieve applied config: dummy finished
2020-07-23 06:06:22,154 root         DEBUG    Async action: Retrieve applied config: dummy.5 finished
2020-07-23 06:06:22,162 root         DEBUG    Async action: Destroy checkpoint /org/freedesktop/NetworkManager/Checkpoint/3 started
2020-07-23 06:06:22,164 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/3 destroyed
2020-07-23 06:06:22,164 root         DEBUG    Async action: Destroy checkpoint /org/freedesktop/NetworkManager/Checkpoint/3 finished
Desired state applied: 
{
    "interfaces": [
        {
            "name": "dummy",
            "state": "up",
            "mtu": 5000
        },
        {
            "name": "dummy.5",
            "type": "vlan",
            "state": "up",
            "ipv4": {
                "enabled": false
            },
            "ipv6": {
                "enabled": false
            },
            "mtu": 5000,
            "vlan": {
                "base-iface": "dummy",
                "id": 5
            }
        }
    ]
}

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: eth0@if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 42:7f:d7:94:3a:74 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.88.1.255/16 brd 10.88.255.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::407f:d7ff:fe94:3a74/64 scope link 
       valid_lft forever preferred_lft forever
6: dummy: <BROADCAST,NOARP,UP,LOWER_UP> mtu 5000 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether f2:b2:24:be:6a:95 brd ff:ff:ff:ff:ff:ff
7: dummy.5@dummy: <BROADCAST,NOARP,UP,LOWER_UP> mtu 5000 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether f2:b2:24:be:6a:95 brd ff:ff:ff:ff:ff:ff

2020-07-23 06:06:22,548 root         DEBUG    Async action: Retrieve applied config: dummy started
2020-07-23 06:06:22,548 root         DEBUG    Async action: Retrieve applied config: dummy.5 started
2020-07-23 06:06:22,550 root         DEBUG    Async action: Retrieve applied config: dummy finished
2020-07-23 06:06:22,551 root         DEBUG    Async action: Retrieve applied config: dummy.5 finished
2020-07-23 06:06:22,578 root         DEBUG    Async action: Create checkpoint started
2020-07-23 06:06:22,580 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/4 created for all devices
2020-07-23 06:06:22,580 root         DEBUG    Async action: Create checkpoint finished
2020-07-23 06:06:22,582 root         DEBUG    Async action: Update profile: dummy started
2020-07-23 06:06:22,583 root         DEBUG    Async action: Update profile: dummy.5 started
2020-07-23 06:06:22,590 root         DEBUG    Async action: Update profile: dummy finished
2020-07-23 06:06:22,592 root         DEBUG    Async action: Update profile: dummy.5 finished
2020-07-23 06:06:22,593 root         DEBUG    Async action: Reapply device config: dummy.5 started
2020-07-23 06:06:22,593 root         DEBUG    Async action: Reapply device config: dummy started
2020-07-23 06:06:22,595 root         DEBUG    Async action: Reapply device config: dummy.5 finished
2020-07-23 06:06:22,596 root         DEBUG    Async action: Reapply device config: dummy finished
2020-07-23 06:06:22,606 root         DEBUG    Async action: Retrieve applied config: dummy started
2020-07-23 06:06:22,606 root         DEBUG    Async action: Retrieve applied config: dummy.5 started
2020-07-23 06:06:22,607 root         DEBUG    Async action: Retrieve applied config: dummy finished
2020-07-23 06:06:22,608 root         DEBUG    Async action: Retrieve applied config: dummy.5 finished
2020-07-23 06:06:22,616 root         DEBUG    Async action: Destroy checkpoint /org/freedesktop/NetworkManager/Checkpoint/4 started
2020-07-23 06:06:22,617 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/4 destroyed
2020-07-23 06:06:22,617 root         DEBUG    Async action: Destroy checkpoint /org/freedesktop/NetworkManager/Checkpoint/4 finished
Desired state applied: 
{
    "interfaces": [
        {
            "name": "dummy",
            "mtu": 1500
        },
        {
            "name": "dummy.5",
            "state": "absent"
        }
    ]
}
7: dummy.5@dummy: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000


After the second state apply the dummy.5 interface should be removed but it is still present.
One thing to note if we do not change mtu of dummy in the same step it behaves as it should.

Comment 13 Michael Burman 2020-07-26 08:53:58 UTC
Issue resolved with nmstate-0.3.3-3.el8.noarch, RHV flows are passing now. tnx

Comment 14 Mingyu Shi 2020-07-30 08:21:10 UTC
Created attachment 1702901 [details]
verified.log

Reproduced on:
nmstate-0.3.3-2.el8.noarch
NetworkManager-1.26.0-2.el8.x86_64
DISTRO=RHEL-8.3.0-20200723.n.0
Linux dell-r430-22.gsslab.rdu2.redhat.com 4.18.0-227.el8.x86_64 #1 SMP Mon Jul 20 18:17:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Verified with versions:
nmstate-0.3.4-3.el8.noarch
NetworkManager-1.26.0-2.el8.x86_64
DISTRO=RHEL-8.3.0-20200728.n.0
Linux hpe-dl380pgen8-02-vm-9.hpe2.lab.eng.bos.redhat.com 4.18.0-228.el8.x86_64 #1 SMP Mon Jul 27 06:05:31 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Comment 17 errata-xmlrpc 2020-11-04 03:08:54 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (nmstate bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4696


Note You need to log in before you can comment on or make changes to this bug.