Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-59342

Changing ovs dpdk attribues failed, but actually worked

    • Yes
    • Important
    • rhel-sst-network-management
    • ssg_networking
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Hide

      Given a system administrator has a DPDK interface configured with Nmstate,

      When they attempt to apply an updated configuration to the DPDK interface using Nmstate,

      Then, the configuration should apply successfully without any misleading error messages and
      no "InvalidArgument: Invalid property: missing field devargs" error should appear if the changes are successfully applied.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Integration tests are written and pass
      • The code is part of a downstream build attached to an errata
      Show
      Given a system administrator has a DPDK interface configured with Nmstate, When they attempt to apply an updated configuration to the DPDK interface using Nmstate, Then, the configuration should apply successfully without any misleading error messages and no "InvalidArgument: Invalid property: missing field devargs" error should appear if the changes are successfully applied. Definition of Done: The implementation meets the acceptance criteria Integration tests are written and pass The code is part of a downstream build attached to an errata
    • None
    • None
    • None

      What were you trying to do that didn't work?

      Change attributes of ovs dpdk interface got

      NmstateError: InvalidArgument: Invalid propriety: missing field `devargs`

      but all the changes actually applied successfully.

      What is the impact of this issue to you?

      Please provide the package NVR for which the bug is seen:

      nmstate-2.2.35-1.el9.x86_64
      NetworkManager-1.48.10-2.el9_5.x86_64
      openvswitch3.1-3.1.0-130.el9fdp.x86_64

      How reproducible is this bug?:

      high, may depend on NIC type

      Steps to reproduce

      Here's an example of NIC driver i40e, model Ethernet_Controller_X710_for_10Gb
      In dell-per740-80.rhts.eng.pek2.redhat.com

      cat << EOF > ovsdpdk.yaml
      ---
      interfaces:
      - name: ovsbr0
        type: ovs-bridge
        state: up
        ovs-db:
          other_config:
            pmd-rxq-affinity: "0:3,1:7,3:8"
        bridge:
          options:
            datapath: netdev
          port:
          - name: ovs0
          - name: dpdkbond0
            link-aggregation:
              mode: balance-slb
              port:
              - name: dpdk0
              - name: dpdk1
              ovs-db:
                other_config:
                  pmd-rxq-affinity: "0:3,1:7,3:8"
      - name: dpdk0
        type: ovs-interface
        state: up
        ovs-db:
          other_config:
            pmd-rxq-affinity: "0:3,1:7,3:8"
        dpdk:
          devargs: 0000:3b:00.0
          n_rxq: 100
          n_rxq_desc: 1024
          n_txq_desc: 2048
        mtu: 3000
      - name: dpdk1
        type: ovs-interface
        state: up
        ovs-db:
          other_config:
            pmd-rxq-affinity: "0:3,1:7,3:8"
        dpdk:
          devargs: 0000:3b:00.1
          rx-queue: 100
          n_rxq_desc: 1024
          n_txq_desc: 2048
        mtu: 3000
      - name: ovs0
        type: ovs-interface
        state: up
        ovs-db:
          other_config:
            pmd-rxq-affinity: "0:3,1:7,3:8"
        ipv4:
          enabled: true
          address:
          - ip: 192.168.199.100
            prefix-length: 24
        ipv6:
          enabled: true
          address:
          - ip: 192:168:199::100
            prefix-length: 64
      EOF
      
      sed 's/n_rxq_desc: 1024/n_rxq_desc: 512/g' ovsdpdk.yaml > ovsdpdk-update.yaml
      sed -i 's/n_txq_desc: 2048/n_txq_desc: 1024/g' ovsdpdk-update.yaml
      sed -i 's/mtu: 3000/mtu: 2000/g' ovsdpdk-update.yaml
      sed -i 's/n_rxq: 100/rx-queue: 200/g' ovsdpdk-update.yaml
      sed -i 's/rx-queue: 100/n_rxq: 200/g' ovsdpdk-update.yaml
      
      nmstatectl apply ovsdpdk.yaml
      
      nmstatectl apply ovsdpdk-update.yaml # failed here
      
      ovs-vsctl list Interface dpdk0 # all changed
      

      Expected results

      No failure

      Actual results

      [17:48:33@dell-per740-80 ovs-dpdk]0# nmstatectl set ovsdpdk-update.yaml
      [2024-09-18T09:49:53Z INFO  nmstatectl] Nmstate version: 2.2.35
      Using 'set' is deprecated, use 'apply' instead.
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:53Z INFO  nmstate::query_apply::net_state] Created checkpoint /org/freedesktop/NetworkManager/Checkpoint/2
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("4751101b-4e94-4b0f-9ae2-a8de43997903"), ID Some("dpdk0-if"), type Some(OvsIface) name Some("dpdk0")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("a3f514ae-20d0-4014-a55a-e7c97d36826b"), ID Some("dpdk1-if"), type Some(OvsIface) name Some("dpdk1")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("79b4d242-9608-4cf0-a4f3-90eec60adc6a"), ID Some("ovs0-if"), type Some(OvsIface) name Some("ovs0")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("659324ea-ef68-4701-b521-071a686c2870"), ID Some("ovsbr0-br"), type Some(OvsBridge) name Some("ovsbr0")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("5148dc2b-308b-45a1-a375-f37f42c99155"), ID Some("dpdkbond0-port"), type Some(OvsPort) name Some("dpdkbond0")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("a0c320bb-0440-4848-bfdc-5967c28b8623"), ID Some("ovs0-port"), type Some(OvsPort) name Some("ovs0")
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 659324ea-ef68-4701-b521-071a686c2870: ovsbr0/ovs-bridge
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 5148dc2b-308b-45a1-a375-f37f42c99155: dpdkbond0/ovs-port
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection a0c320bb-0440-4848-bfdc-5967c28b8623: ovs0/ovs-port
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 4751101b-4e94-4b0f-9ae2-a8de43997903: dpdk0/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 4751101b-4e94-4b0f-9ae2-a8de43997903: dpdk0/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapply operation failed on ovs-interface dpdk0 4751101b-4e94-4b0f-9ae2-a8de43997903, reason: IncompatibleReapply:Can't reapply any changes to 'ovs-dpdk' setting, retry on normal activation
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection a3f514ae-20d0-4014-a55a-e7c97d36826b: dpdk1/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection a3f514ae-20d0-4014-a55a-e7c97d36826b: dpdk1/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapply operation failed on ovs-interface dpdk1 a3f514ae-20d0-4014-a55a-e7c97d36826b, reason: IncompatibleReapply:Can't reapply any changes to 'ovs-dpdk' setting, retry on normal activation
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 79b4d242-9608-4cf0-a4f3-90eec60adc6a: ovs0/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nm::query_apply::profile] Reapplying connection 79b4d242-9608-4cf0-a4f3-90eec60adc6a: ovs0/ovs-interface
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:53Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:53Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: dpdk1.interface.mtu desire '2000', current 'null'
      [2024-09-18T09:49:54Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:54Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:55Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: dpdk1.interface.mtu desire '2000', current 'null'
      [2024-09-18T09:49:56Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:56Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:56Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: dpdk1.interface.mtu desire '2000', current 'null'
      [2024-09-18T09:49:57Z INFO  nmstate::nispor::base_iface] Got unsupported interface type tun: ovs0, ignoring
      [2024-09-18T09:49:57Z INFO  nmstate::nispor::show] Got unsupported interface ovs0 type Tun
      [2024-09-18T09:49:57Z INFO  nmstate::query_apply::net_state] Destroyed checkpoint /org/freedesktop/NetworkManager/Checkpoint/2
      NmstateError: InvalidArgument: Invalid propriety: missing field `devargs`
      

       

              rh-ee-sfaye Stanislas Faye
              rh-ee-mshi1 Mingyu Shi
              Network Management Team Network Management Team
              Mingyu Shi Mingyu Shi
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: