← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2028112] [NEW] Unable to create VM when using the sriov agent with the ml2/ovn driver.

 

Public bug reported:

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
```

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2028112

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

Status in neutron:
  New

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
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2028112/+subscriptions



Follow ups