Bug 1882400 - [OSP16.1][FFU]During FFU new vms with SRIOV ports cannot be created
Summary: [OSP16.1][FFU]During FFU new vms with SRIOV ports cannot be created
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: z3
: 16.1 (Train on RHEL 8.2)
Assignee: Lukas Bezdicka
QA Contact: Candido Campos
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-24 13:28 UTC by Candido Campos
Modified: 2020-12-15 18:37 UTC (History)
9 users (show)

Fixed In Version: openstack-tripleo-heat-templates-11.3.2-1.20200914170164.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-12-15 18:36:58 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 754952 0 None MERGED [train-only] Switch sriov agent in hybrid state 2021-02-18 15:23:49 UTC
Red Hat Knowledge Base (Solution) 5479611 0 None None None 2020-10-09 20:38:39 UTC
Red Hat Product Errata RHEA-2020:5413 0 None None None 2020-12-15 18:37:21 UTC

Description Candido Campos 2020-09-24 13:28:49 UTC
Description of problem:
During FFU new vms with SRIOV ports cannot be created.

Controllers in 0sp16.1 cannot configure new ports in computes Osp13 due to this feature:

https://bugs.launchpad.net/neutron/+bug/1580880


https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py#L337

...

    def treat_devices_added_updated(self, devices_info):
        try:
            macs_list = set([device_info[0] for device_info in devices_info])
            devices_details_list = self.plugin_rpc.get_devices_details_list(
                self.context, macs_list, self.agent_id, self.conf.host)
        except Exception as e:
            LOG.debug("Unable to get port details for devices "
                      "with MAC addresses %(devices)s: %(e)s",
                      {'devices': macs_list, 'e': e})
            # resync is needed
            return True

        devices_up = set()
        devices_down = set()
        resync = False
        for device_details in devices_details_list:
            device = device_details['device']
            LOG.debug("Port with MAC address %s is added", device)

            if 'port_id' in device_details:
                LOG.info("Port %(device)s updated. Details: %(details)s",
                         {'device': device, 'details': device_details})
                port_id = device_details['port_id']
                profile = device_details['profile']
                spoofcheck = device_details.get('port_security_enabled', True)
                if self.treat_device(
                        device,
                        profile.get('pci_slot'),
                        device_details['admin_state_up'],
                        spoofcheck,
                        device_details['propagate_uplink_status']):
                    if device_details['admin_state_up']:
                        devices_up.add(device)
                    else:
                        devices_down.add(device)
                else:
                    resync = True
                self._update_network_ports(device_details['network_id'],
                                           port_id,
                                           (device, profile.get('pci_slot')))
                self.ext_manager.handle_port(self.context, device_details)


The function  _get_device_details has changed:

...

020-09-24 00:11:50.858 31268 INFO neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [req-3f246188-d8f7-43b8-b731-9948e4d50557 - - - - -] Device with MAC 00:00:00:00:00:00 not defined on plugin



Version-Release number of selected component (if applicable):

(overcloud) [stack@undercloud-0 ~]$ cat core_puddle_version 
RHOS-16.1-RHEL-8-20200917.n.3(overcloud) [stack@undercloud-0 ~]$

How reproducible:

Execute FFu 13 --->16.1

And after first controller ffu is completed, try to create a vm.

Actual results:
Vm creation fails

Expected results:

Vm is created or document the limitation

Comment 21 errata-xmlrpc 2020-12-15 18:36:58 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 (Red Hat OpenStack Platform 16.1.3 bug fix and enhancement advisory), 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-2020:5413


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