Bug 2090689

Summary: Incorrect error message and code for invalid bridge VLAN filtering
Product: Red Hat Enterprise Linux 9 Reporter: Mingyu Shi <mshi>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: low Docs Contact:
Priority: low    
Version: 9.1CC: ferferna, jiji, jishi, network-qe, sfaye, till
Target Milestone: rcKeywords: Triaged
Target Release: 9.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: nmstate-2.2.3-2.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-09 07:30:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mingyu Shi 2022-05-26 11:10:48 UTC
Description of problem:
Some failure reasons and return values are different between rust and python version.

Version-Release number of selected component (if applicable):
nmstate-2.1.1-0.alpha.20220519.437e4a9.el9.x86_64

How reproducible:


Steps to Reproduce:
For example, when using "nmstatectl apply" such a state in command line:
interfaces:
  - name: br0
    type: linux-bridge
    state: up
    bridge:
      options:
        stp:
          enabled: true
      port:
        - name: veth0
          vlan:
            mode: trunk
            tag: 200
            trunk-tags:
              - id-range:
                  min: 600
                  max: 900
              - id: 800
              - id-range:
                  max: 500
                  min: 400
        - name: veth1
          vlan:
            mode: trunk
            tag: 200
            trunk-tags:
              - id-range:
                  min: 600
                  max: 900
              - id: 800
              - id-range:
                  max: 500
                  min: 400
    ipv4:
      enabled: true
      dhcp: true
    ipv6:
      enabled: true
      autoconf: true
      dhcp: true


Actual results:
RHEL 9.1 returns value 65, with error:
NmstateError: Bug: DbusConnectionError: org.freedesktop.NetworkManager.Settings.Connection.InvalidProperty: bridge-port.vlans: duplicate bridge VLAN vid 800 dbus: Some(MethodError("org.freedesktop.NetworkManager.Settings.Connection.InvalidProperty", Some("bridge-port.vlans: duplicate bridge VLAN vid 800"), Msg { type: Error, sender: ":1.596", reply-serial: 120, body: Signature: [
        s (115),
] }))

RHEL 8.7 returns value 1, with error:
Tag cannot be use in trunk mode without enable-native

The failure reason of 8.7 is correct.


Expected results:


Additional info:
On RHEL 9.1, though `nmstatectl apply` got value 65, using wrapped python API in CLI would get the error value 1, which is same with RHEL 8.

Comment 1 Mingyu Shi 2022-05-26 11:15:49 UTC
Currently it's not a serious problem, just for tracking later.

I temporarily marked and modified the relative test cases.

Comment 2 Gris Ge 2022-12-14 13:48:47 UTC
You desired yaml has two problems:
 * Overlapping trunk tags.
 * Tag cannot be use in trunk mode without enable-native

Patch posted to upstream: https://github.com/nmstate/nmstate/pull/2159

Add checks for these invalid use cases:
 * VLAN trunk mode with tag defined but without `enable-native: true`.
 * Overlap of VLAN trunk tags.
 * Access mode with `enable-native: true` defined.
 * Trunk mode without trunk-tags defined.
 * Access mode with trunk-tags defined.

Comment 8 Mingyu Shi 2023-01-30 09:44:57 UTC
Verified with:
nmstate-2.2.5-1.el9.x86_64
nispor-1.2.9-1.el9.x86_64
NetworkManager-1.41.90-1.el9.x86_64
DISTRO=RHEL-9.2.0-20230127.12

Comment 10 errata-xmlrpc 2023-05-09 07:30:59 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-2023:2190