Bug 2103019 - Neutron fails to report updates to placement
Summary: Neutron fails to report updates to placement
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: 17.0 (Wallaby)
Hardware: Unspecified
OS: Unspecified
high
urgent
Target Milestone: beta
: 17.0
Assignee: Rodolfo Alonso
QA Contact: Fiorella Yanac
URL:
Whiteboard:
Depends On:
Blocks: 2101409
TreeView+ depends on / blocked
 
Reported: 2022-07-01 08:15 UTC by Eduardo Olivares
Modified: 2022-09-21 12:23 UTC (History)
5 users (show)

Fixed In Version: openstack-neutron-18.4.1-0.20220705190433.5258354.el9ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-09-21 12:23:13 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1980488 0 None None None 2022-07-01 10:12:04 UTC
OpenStack gerrit 848431 0 None MERGED [OVN][Placement] Make the Placement reporter compatible with OVN 2022-07-11 13:58:46 UTC
Red Hat Issue Tracker OSP-16192 0 None None None 2022-07-01 08:26:49 UTC
Red Hat Product Errata RHEA-2022:6543 0 None None None 2022-09-21 12:23:29 UTC

Description Eduardo Olivares 2022-07-01 08:15:48 UTC
Description of problem:
OSP17 environment with OVN+SRIOV configured

sriov_agent.ini includes the following minimum BW configuration that should be reported to placement:
[sriov_nic]                                                                                                                                                                                                                                   
physical_device_mappings=datacentre:enp7s0f3,datacentre:enp5s0f0
resource_provider_bandwidths=enp7s0f3:10000000:10000000,enp5s0f0:10000000:10000000
resource_provider_hypervisors=enp7s0f3:computesriov-0.localdomain,enp5s0f0:computesriov-0.localdomain                                                                                                                                         

placement section is correctly configured on neutron.conf:
[placement]
auth_url=http://10.20.1.65:5000
username=nova
password=D6BO88QBbKbEYI76XkNzX5W68
project_domain_name=Default
project_name=service
user_domain_name=Default
region_name=regionOne
auth_type=password


When the sriov-agent running in a compute node is restarted, it successfully generates the information that should be reported to placement:
2022-07-01 08:03:13.803 526516 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Physical Devices mappings: {'datacentre': ['enp7s0f3', 'enp5s0f0']}
2022-07-01 08:03:13.804 526516 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Exclude Devices: {}
2022-07-01 08:03:13.804 526516 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Resource provider bandwidths: {'enp7s0f3': {'egress': 10000000, 'ingress': 10000000}, 'enp5s0f0': {'egress': 10000000, 'ingress': 1000000
0}}
2022-07-01 08:03:13.804 526516 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Resource provider inventory defaults: {'allocation_ratio': 1.0, 'min_unit': 1, 'step_size': 1, 'reserved': 0}
2022-07-01 08:03:13.804 526516 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Resource provider hypervisors: {'enp7s0f3': 'computesriov-0.localdomain', 'enp5s0f0': 'computesriov-0.localdomain'}
2022-07-01 08:03:13.805 526516 DEBUG neutron.plugins.ml2.drivers.mech_sriov.agent.eswitch_manager [-] Number of VFs configured on device enp7s0f3: 5 get_numvfs /usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/mech_sriov/agent/
eswitch_manager.py:133
2022-07-01 08:03:13.805 526516 DEBUG neutron.plugins.ml2.drivers.mech_sriov.agent.eswitch_manager [-] Number of VFs configured on device enp5s0f0: 5 get_numvfs /usr/lib/python3.9/site-packages/neutron/plugins/ml2/drivers/mech_sriov/agent/
eswitch_manager.py:133


However, the neutron server is unable to send those data to placement:
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager [req-f40ac07f-9e01-480d-b4a3-11cd63ade5f1 - - - - -] Error during notification for neutron.services.placement_report.plugin.PlacementReportPlugin.handle_placement_config-1384518 agent, after_update: AttributeError: 'OVNMechanismDriver' object has no attribute 'agent_type'
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager Traceback (most recent call last):
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3.9/site-packages/neutron_lib/callbacks/manager.py", line 197, in _notify_loop
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager     callback(resource, event, trigger, **kwargs)
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3.9/site-packages/neutron/services/placement_report/plugin.py", line 204, in handle_placement_config
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager     if agent['agent_type'] not in self._agents.supported_agent_types:
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3.9/site-packages/neutron/services/placement_report/plugin.py", line 264, in supported_agent_types
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager     self._supported_agent_types = [
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager   File "/usr/lib/python3.9/site-packages/neutron/services/placement_report/plugin.py", line 265, in <listcomp>
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager     driver.obj.agent_type
2022-07-01 08:03:13.967 20 ERROR neutron_lib.callbacks.manager AttributeError: 'OVNMechanismDriver' object has no attribute 'agent_type'



This didn't fail in OSP16.2, so this bug is a regression.



Version-Release number of selected component (if applicable):
RHOS-17.0-RHEL-9-20220628.n.1

How reproducible:
100%

Steps to Reproduce:
1. use the configuration described above, restart an sriov agent and check the neutron server logs
2. alternatively, run this downstream job: https://rhos-ci-jenkins.lab.eng.tlv2.redhat.com/job/DFG-network-networking-ovn-17.0_director-rhel-virthost-3cont_2comp-ipv4-vlan-sriov/
3.

Actual results:
$ openstack --os-placement-api-version 1.17  resource provider list
+--------------------------------------+----------------------------+------------+--------------------------------------+----------------------+
| uuid                                 | name                       | generation | root_provider_uuid                   | parent_provider_uuid |
+--------------------------------------+----------------------------+------------+--------------------------------------+----------------------+
| 01db300f-19f4-4f44-828c-30fdbb844f34 | computesriov-1.localdomain |        326 | 01db300f-19f4-4f44-828c-30fdbb844f34 | None                 |
| 5ddc8a22-2a81-47b0-b5b4-d742de6dd6fa | computesriov-0.localdomain |        351 | 5ddc8a22-2a81-47b0-b5b4-d742de6dd6fa | None                 |
+--------------------------------------+----------------------------+------------+--------------------------------------+----------------------+


Expected results:
Something like this is expected (see documentation at https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.2/html-single/networking_guide/index#guaranteed-min-bw_config-qos-policies)
$ openstack --os-placement-api-version 1.17  resource provider list
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| uuid                                 | name                                                | generation | root_provider_uuid                   | parent_provider_uuid                 |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| 31d3d88b-bc3a-41cd-9dc0-fda54028a882 | dell-r730-014.localdomain                           |         28 | 31d3d88b-bc3a-41cd-9dc0-fda54028a882 | None                                 |
| 6b15ddce-13cf-4c85-a58f-baec5b57ab52 | dell-r730-063.localdomain                           |         18 | 6b15ddce-13cf-4c85-a58f-baec5b57ab52 | None                                 |
| e2f5082a-c965-55db-acb3-8daf9857c721 | dell-r730-063.localdomain:NIC Switch agent          |          0 | 6b15ddce-13cf-4c85-a58f-baec5b57ab52 | 6b15ddce-13cf-4c85-a58f-baec5b57ab52 |
| d2fb0ef4-2f45-53a8-88be-113b3e64ba1b | dell-r730-014.localdomain:NIC Switch agent          |          0 | 31d3d88b-bc3a-41cd-9dc0-fda54028a882 | 31d3d88b-bc3a-41cd-9dc0-fda54028a882 |
| f1ca35e2-47ad-53a0-9058-390ade93b73e | dell-r730-063.localdomain:NIC Switch agent:enp6s0f1 |         13 | 6b15ddce-13cf-4c85-a58f-baec5b57ab52 | e2f5082a-c965-55db-acb3-8daf9857c721 |
| e518d381-d590-5767-8f34-c20def34b252 | dell-r730-014.localdomain:NIC Switch agent:enp6s0f1 |         19 | 31d3d88b-bc3a-41cd-9dc0-fda54028a882 | d2fb0ef4-2f45-53a8-88be-113b3e64ba1b |
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Comment 14 errata-xmlrpc 2022-09-21 12:23:13 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 (Release of components for Red Hat OpenStack Platform 17.0 (Wallaby)), 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/RHEA-2022:6543


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