Bug 1852604 - Since implementation of uplink_status_propgation, default behavior changed for VF link propgation from auto to disabled
Summary: Since implementation of uplink_status_propgation, default behavior changed fo...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-neutron-lib
Version: 16.0 (Train)
Hardware: x86_64
OS: All
low
low
Target Milestone: ---
: ---
Assignee: Rodolfo Alonso
QA Contact: nlevinki
URL:
Whiteboard:
: 1905791 (view as bug list)
Depends On:
Blocks: 1476900 1500557 1734490
TreeView+ depends on / blocked
 
Reported: 2020-06-30 20:36 UTC by David Hill
Modified: 2024-06-13 22:45 UTC (History)
11 users (show)

Fixed In Version: python-neutron-lib-1.29.1-0.20200310214055.4ef4b71.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-28 15:38:12 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1888487 0 None None None 2020-07-22 10:14:20 UTC
OpenStack gerrit 744208 0 None MERGED Change "propagate_uplink_status" default value to True 2021-02-09 20:28:29 UTC
OpenStack gerrit 744210 0 None MERGED Change "propagate_uplink_status" default value to True 2021-02-09 20:28:30 UTC
Red Hat Issue Tracker OSP-14347 0 None None None 2022-03-28 18:52:55 UTC
Red Hat Knowledge Base (Solution) 5193451 0 None None None 2020-06-30 20:45:43 UTC
Red Hat Product Errata RHEA-2020:4284 0 None None None 2020-10-28 15:38:33 UTC

Description David Hill 2020-06-30 20:36:45 UTC
Description of problem:
Since implementation of uplink_status_propgation, default behavior changed for VF link propgation from auto to disabled

So basically, before we were not setting the propagate_uplink_state and now we are:
~~~
def set_device_state(self, pci_slot, state):
        """Set device state.

        @param pci_slot: Virtual Function address
        @param state: link state
        """
        vf_index = self._get_vf_index(pci_slot)
        return self.pci_dev_wrapper.set_vf_state(vf_index, state)

~~~
to
~~~
def set_device_state(self, pci_slot, state, propagate_uplink_state):
        """Set device state.

        @param pci_slot: Virtual Function address
        @param state: link state
        """
        vf_index = self._get_vf_index(pci_slot)
        return self.pci_dev_wrapper.set_vf_state(vf_index, state,
                                                 auto=propagate_uplink_state)

~~~

And set_vf_state went from:
~~~
    def set_vf_state(self, vf_index, state):
        """sets vf state.

        @param vf_index: vf index
        @param state: required state {True/False}
        """
        status_str = self.LinkState.ENABLE if state else \
            self.LinkState.DISABLE
        self._set_feature(vf_index, "state", status_str)
~~~

to:
~~~
    def set_vf_state(self, vf_index, state, auto=False):
        """sets vf state.

        @param vf_index: vf index
        @param state: required state {True: enable (1)
                                      False: disable (2)}
        @param auto: set link_state to auto (0)
        """
        ip = self.device(self.dev_name)
        if auto:
            link_state = 0
        else:
            link_state = 1 if state else 2
        vf_config = {'vf': vf_index, 'link_state': link_state}
        ip.link.set_vf_feature(vf_config)
~~~

Can we make this either configurable through configuration files or revert to the default behavior of "auto" ?

Comment 11 errata-xmlrpc 2020-10-28 15:38:12 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 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:4284

Comment 12 Rodolfo Alonso 2020-12-15 14:35:46 UTC
*** Bug 1905791 has been marked as a duplicate of this bug. ***


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