Comment 0 for bug 1884651

Revision history for this message
Chris Winnicki (chriswinnicki) wrote :

Brief Description
-----------------
sriov vf lower ifname must be unique across entire system

Adding a VF interface to a parent interface results in an exception during worker unlock if other workers in the system have parent sriov interfaces that are also used by other workers

Severity
--------
Minor, workaround exists

Steps to Reproduce
------------------
Install yow-cgcs-r720-3-7 with 20.06

Provision workers so their interface config resembles (like below) this interface naming convention;
ie: where parent sriov interface names are not globally unique across workers

[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-list compute-0
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+
| uuid | name | class | type | vlan id | ports | uses i/f | used by i/f | attributes |
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+
| 2e2deb35-2352-4387-893b-cedcae596897 | cluster0 | platform | ethernet | None | [u'enp5s0f1'] | [] | [] | MTU=9000 |
| 4c649308-16ee-4142-b18c-5c7673b5d88d | mgmt0 | platform | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 8fcfb649-4221-4311-98d9-1184777603b2 | data0 | data | ethernet | None | [u'enp5s0f0'] | [] | [u'data1'] | MTU=9216,accelerated=True |
| a9d22b05-3fcb-447e-af3c-e4bb8041d06e | pthru0 | pci-passthrough | ethernet | None | [u'enp6s0f0'] | [] | [] | MTU=9216 |
| c232d284-3605-495f-868a-8bfddbad0269 | sriov0 | pci-sriov | ethernet | None | [u'enp6s0f1'] | [] | [] | MTU=9216 |
| c38d7ba9-142a-4d95-bd6b-f2e7b3c9c492 | data1 | data | vlan | 11 | [] | [u'data0'] | [] | MTU=1600,accelerated=True |
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-list compute-1
+--------------------------------------+----------+-----------------+----------+---------+---------------+-------------+---------------+---------------------------+
| uuid | name | class | type | vlan id | ports | uses i/f | used by i/f | attributes |
+--------------------------------------+----------+-----------------+----------+---------+---------------+-------------+---------------+---------------------------+
| 1a2ae942-3019-422b-b778-dbd6ed354923 | data0 | data | ethernet | None | [u'enp5s0f0'] | [] | [u'data1'] | MTU=9216,accelerated=True |
| 2c15889e-f805-4d60-a3a6-8652208d382e | sriov1 | pci-sriov | ethernet | None | [u'enp6s0f1'] | [] | [u'childvf1'] | MTU=1500 |
| 3caace95-c162-4c05-ad8e-72d6c749db1f | data1 | data | vlan | 11 | [] | [u'data0'] | [] | MTU=1600,accelerated=True |
| 75b737da-b688-4104-9fd6-2f0040f9f1a1 | cluster0 | platform | ethernet | None | [u'enp5s0f1'] | [] | [] | MTU=9000 |
| 7cb7c1a8-3a36-4ddb-82c3-cff0246f2573 | mgmt0 | platform | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| ab6c45c9-10ad-4690-a760-43e1b96d582f | childvf1 | pci-sriov | vf | None | [] | [u'sriov1'] | [] | MTU=1500 |
| b134a8e1-2d0c-4805-a662-e6be9fdaf87f | pthru0 | pci-passthrough | ethernet | None | [u'enp6s0f0'] | [] | [] | MTU=9216 |
+--------------------------------------+----------+-----------------+----------+---------+---------------+-------------+---------------+---------------------------+
[sysadmin@controller-0 ~(keystone_admin)]$ system host-if-list compute-2
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+
| uuid | name | class | type | vlan id | ports | uses i/f | used by i/f | attributes |
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+
| 157c70a0-ec2c-4439-a25c-4f35d84ab274 | data0 | data | ethernet | None | [u'enp5s0f0'] | [] | [u'data1'] | MTU=9216,accelerated=True |
| 226cf243-be89-4dc9-9a8d-ff8786ee0725 | cluster0 | platform | ethernet | None | [u'enp5s0f1'] | [] | [] | MTU=9000 |
| 2396b127-d0d1-43b8-8208-86451228e75b | mgmt0 | platform | ethernet | None | [u'eno2'] | [] | [] | MTU=1500 |
| 609f22a4-6b1d-4419-ae2b-13e82e020152 | pthru0 | pci-passthrough | ethernet | None | [u'enp6s0f0'] | [] | [] | MTU=9216 |
| 67bc6215-7c04-4e38-8ff0-3c23be1c783f | sriov0 | pci-sriov | ethernet | None | [u'enp6s0f1'] | [] | [] | MTU=9216 |
| a70f5f84-c88a-40f8-9661-2698aebc1627 | data1 | data | vlan | 11 | [] | [u'data0'] | [] | MTU=1600,accelerated=True |
+--------------------------------------+----------+-----------------+----------+---------+---------------+------------+-------------+---------------------------+

* add a VF interface to the parent sriov interface:
system host-if-add -c pci-sriov compute-1 childvf1 vf sriov0 -N 2 --vf-driver netdevice

* attempt to unlock worker compute-1

Expected Behavior
------------------
worker host should unlock successfully

Actual Behavior
----------------
system host-if-add -c pci-sriov compute-1 childvf1 vf sriov0 -N 2 --vf-driver netdevice
and attempting to unlock compute-1:

[sysadmin@controller-0 ~(keystone_admin)]$ system host-unlock compute-1
Remote error: InvalidParameterValue Multiple entries found for interface sriov0
[u'Traceback (most recent call last):\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/openstack/common/rpc/amqp.py", line 437, in _process_data\n **args)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/openstack/common/rpc/dispatcher.py", line 172, in dispatch\n result = getattr(proxyobj, method)(ctxt, **kwargs)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/conductor/manager.py", line 11190, in evaluate_app_reapply\n armada_format=True, armada_chart_info=app.charts, combined=True)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/helm/helm.py", line 49, in _wrapper\n return func(self, *args, **kwargs)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/helm/helm.py", line 643, in generate_helm_application_overrides\n cnamespace)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/helm/helm.py", line 406, in _get_helm_application_overrides\n cnamespace)})\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/helm/helm.py", line 311, in _get_helm_chart_overrides\n cnamespace))\n', u' File "/opt/platform/helm/20.06/stx-openstack/1.0-1-centos-stable-versioned/plugins/k8sapp_openstack_avs/helm/neutron.py", line 29, in get_overrides\n overrides = super(NeutronAVSHelm, self).get_overrides(namespace)\n', u' File "/opt/platform/helm/20.06/stx-openstack/1.0-1-centos-stable-versioned/plugins/k8sapp_openstack/helm/neutron.py", line 45, in get_overrides\n \'hosts\': self._get_per_host_overrides()\n', u' File "/opt/platform/helm/20.06/stx-openstack/1.0-1-centos-stable-versioned/plugins/k8sapp_openstack/helm/neutron.py", line 98, in _get_per_host_overrides\n \'sriov_agent\': self._get_dynamic_sriov_agent_config(host),\n', u' File "/opt/platform/helm/20.06/stx-openstack/1.0-1-centos-stable-versioned/plugins/k8sapp_openstack/helm/neutron.py", line 205, in _get_dynamic_sriov_agent_config\n port_name = self._get_interface_port_name(iface)\n', u' File "/opt/platform/helm/20.06/stx-openstack/1.0-1-centos-stable-versioned/plugins/k8sapp_openstack/helm/neutron.py", line 277, in _get_interface_port_name\n lower_iface = self.dbapi.iinterface_get(iface[\'uses\'][0])\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/objects/__init__.py", line 111, in wrapper\n result = fn(*args, **kwargs)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/db/sqlalchemy/api.py", line 2280, in iinterface_get\n return self._iinterface_get(iinterface_id, ihost)\n', u' File "/usr/lib64/python2.7/site-packages/sysinv/db/sqlalchemy/api.py", line 2274, in _iinterface_get\n err="Multiple entries found for interface %s" % iinterface_id)\n', u'InvalidParameterValue: Multiple entries found for interface sriov0\n'].
[sysadmin@controller-0 ~(keystone_admin)]$

Reproducibility
---------------
100% (3 out of 3)

System Configuration
--------------------
Simplex
wolfpass-15

Branch/Pull Time/Commit
-----------------------
###
### Wind River Cloud Platform
### Release 20.06
###
### Wind River Systems, Inc.
###

SW_VERSION="20.06"
BUILD_TARGET="Host Installer"
BUILD_TYPE="Formal"
BUILD_ID="2020-06-17_20-00-00"
SRC_BUILD_ID="22"

JOB="WRCP_20.06_Build"
BUILD_BY="jenkins"
BUILD_NUMBER="22"
BUILD_HOST="yow-cgts4-lx.wrs.com"
BUILD_DATE="2020-06-17 20:02:06 -0400"

Last Pass
---------
n/a

Timestamp/Logs
--------------

2020-06-22T18:56:06.000
Test Activity
-------------
Feature Testing

Workaround
----------
Name parent sriov interfaces to be globally unique