Unable to create VM when using the sriov agent with the ml2/ovn driver.

Bug #2028112 reported by kyle yoon
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
New
Undecided
Unassigned

Bug Description

I am planning to operate nodes using HWOL and OVN Controller and nodes using SR-IOV simultaneously in the OVN environment.

The test content is as follows.

** Controller server **

The ml2 mechanism_drivers were specified as follows:

```
[ml2]
mechanism_drivers = sriovnicswitch,ovn
```

Upon checking the log, the driver was confirmed to be loaded normally.

```
2023-07-19 00:44:37.403 1697414 INFO neutron.plugins.ml2.managers [-] Configured mechanism driver names: ['ovn', 'sriovnicswitch']
2023-07-19 00:44:37.464 1697414 INFO neutron.plugins.ml2.managers [-] Loaded mechanism driver names: ['ovn', 'sriovnicswitch']
2023-07-19 00:44:37.464 1697414 INFO neutron.plugins.ml2.managers [-] Registered mechanism drivers: ['ovn', 'sriovnicswitch']
2023-07-19 00:44:37.464 1697414 INFO neutron.plugins.ml2.managers [-] No mechanism drivers provide segment reachability information for agent scheduling.
2023-07-19 00:44:38.358 1697414 INFO neutron.plugins.ml2.managers [req-bc634856-2d9a-44d0-ae0e-351b440a2a0b - - - - -] Initializing mechanism driver 'ovn'
2023-07-19 00:44:38.378 1697414 INFO neutron.plugins.ml2.managers [req-bc634856-2d9a-44d0-ae0e-351b440a2a0b - - - - -] Initializing mechanism driver 'sriovnicswitch'
```

** Compute **

nova.conf

```
[pci]
passthrough_whitelist = { "devname": "enp94s0f1np1", "physical_network": "physnet1" }
```

plugin/ml2/sriov-agent.ini
```
[DEFAULT]
debug = true

[securitygroup]
firewall_driver = neutron.agent.firewall.NoopFirewallDriver

[sriov_nic]
physical_device_mappings = physnet1:enp94s0f1np1
```

Neutron Agent status
```
+--------------------------------------+------------------------------+-------------------+-------------------+-------+-------+----------------------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+------------------------------+-------------------+-------------------+-------+-------+----------------------------+
| 24e9395c-379f-4afd-aa84-ae0d970794ff | NIC Switch agent | Qacloudhost06 | None | :-) | UP | neutron-sriov-nic-agent |
| 43ba481c-c0f2-49bc-a34a-c94faa284ac7 | NIC Switch agent | Qaamdhost02 | None | :-) | UP | neutron-sriov-nic-agent |
| 4c1a6c78-e58a-48d9-aa4a-abdf44d2f359 | NIC Switch agent | Qacloudhost07 | None | :-) | UP | neutron-sriov-nic-agent |
| 534f0946-6eb3-491f-a57d-65cbc0133399 | NIC Switch agent | Qacloudhost02 | None | :-) | UP | neutron-sriov-nic-agent |
| 2275f9d4-7c69-51db-ae71-b6e0be15e9b8 | OVN Metadata agent | Qacloudhost05 | | :-) | UP | neutron-ovn-metadata-agent |
| 92a7b8dc-e122-49c8-a3bc-ae6a38b56cc0 | OVN Controller Gateway agent | Qacloudhost05 | | :-) | UP | ovn-controller |
| c3a1e8fe-8669-5e7a-a3d7-3a2b638fae26 | OVN Metadata agent | Qaamdhost02 | | :-) | UP | neutron-ovn-metadata-agent |
| d203ff10-0835-4d7e-bc63-5ff274ade5a3 | OVN Controller agent | Qaamdhost02 | | :-) | UP | ovn-controller |
| fc4c5075-9b44-5c21-a24d-f86dfd0009f9 | OVN Metadata agent | Qacloudhost02 | | :-) | UP | neutron-ovn-metadata-agent |
| 6666bed0-1519-47f8-b52f-3a9116e1408f | OVN Controller Gateway agent | Qacloudhost02 | | :-) | UP | ovn-controller |
+--------------------------------------+------------------------------+-------------------+-------------------+-------+-------+----------------------------+
```

When creating a vm, Neutron error log
```
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers [req-9204d6f7-ddc3-44e2-878c-bfa9c3f761ef fbec686e249e4818be7a686833140326 7a4dd87db099460795d775b055a648ea - default default] Mechanism driver 'ovn' failed in update_port_precommit: neutron_lib.exceptions.InvalidInput: Invalid input for operation: Invalid binding:profile. too many parameters.
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers Traceback (most recent call last):
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3/dist-packages/neutron/plugins/ml2/managers.py", line 482, in _call_on_drivers
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers getattr(driver.obj, method_name)(context)
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3/dist-packages/neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py", line 792, in update_port_precommit
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers ovn_utils.validate_and_get_data_from_binding_profile(port)
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers File "/usr/lib/python3/dist-packages/neutron/common/ovn/utils.py", line 266, in validate_and_get_data_from_binding_profile
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers raise n_exc.InvalidInput(error_message=msg)
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers neutron_lib.exceptions.InvalidInput: Invalid input for operation: Invalid binding:profile. too many parameters.
2023-07-19 02:44:30.463 1725695 ERROR neutron.plugins.ml2.managers
```

When the ovn is removed from the Mechanisum driver setting, the vm is created normally.
```
[ml2]
mechanism_drivers = sriovnicswitch
```

kyle yoon (kk9150)
no longer affects: ovn (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.