[sriov] physical_device_mappings allows only one physnet for per nic

Bug #1558626 reported by Vladimir Eremin on 2016-03-17
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
High
Vladimir Eremin

Bug Description

Mitaka, ML2, ml2_sriov.agent_required=True

sriov_nic.physical_device_mappings is allowed to specify ony one NIC per physnet. If I try to specify two nics like following

[sriov_nic]
physical_device_mappings=physnet2:enp1s0f0,physnet2:enp1s0f1

I've got next error on start

2016-03-17 15:26:48.818 6832 INFO neutron.common.config [-] Logging enabled!
2016-03-17 15:26:48.819 6832 INFO neutron.common.config [-] /usr/bin/neutron-sriov-nic-agent version 8.0.0.0b3
2016-03-17 15:26:48.819 6832 DEBUG neutron.common.config [-] command line: /usr/bin/neutron-sriov-nic-agent --config-file=/etc/neutron/plugins/ml2/sriov_agent.ini --log-file=/var/log/neutron/neutron-sriov-agent.log --config-file=/etc/neutron/neutron.conf setup_logging /usr/lib/python2.7/dist-packages/neutron/common/config.py:266
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent [-] Failed on Agent configuration parse. Agent terminated!
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent Traceback (most recent call last):
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py", line 436, in main
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent config_parser.parse()
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py", line 411, in parse
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent cfg.CONF.SRIOV_NIC.physical_device_mappings)
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent File "/usr/lib/python2.7/dist-packages/neutron/common/utils.py", line 240, in parse_mappings
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent "unique") % {'key': key, 'mapping': mapping})
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent ValueError: Key physnet2 in mapping: 'physnet2:enp1s0f1' not unique
2016-03-17 15:26:48.819 6832 ERROR neutron.plugins.ml2.drivers.mech_sriov.agent.sriov_nic_agent

summary: - physical_device_mappings allows only one physnet for per nic
+ [sriov] physical_device_mappings allows only one physnet for per nic
description: updated

Fix proposed to branch: master
Review: https://review.openstack.org/294188

Changed in neutron:
assignee: nobody → Vladimir Eremin (yottatsa)
status: New → In Progress
tags: added: sriov-pci-pt

That's a regression for Mitaka, as per http://lists.openstack.org/pipermail/openstack-dev/2016-March/thread.html#90863 so setting High impact.

tags: added: mitaka-backport-potential
Changed in neutron:
importance: Undecided → High

Reviewed: https://review.openstack.org/294188
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=46ddaf4288a1cac44d8afc0525b4ecb3ae2186a3
Submitter: Jenkins
Branch: master

commit 46ddaf4288a1cac44d8afc0525b4ecb3ae2186a3
Author: Vladimir Eremin <email address hidden>
Date: Thu Mar 17 19:32:29 2016 +0300

    Allow to use several nics for physnet with SR-IOV

    Accordind specs and docs, SRIOV_NIC.physical_device_mappings is not
    limited to be a 1-1 mapping between physnets and NICs. However,
    implementation requires this. This bugfix unlocks 1-M mappings, so one
    physnet could be managed by many NICs.

    * introduced unique_keys in neutron.utils.parse_mappings
    * SRIOV_NIC.physical_device_mappings is parsed as dict with lists as
      values with parse_mappings(..., unique_keys=False)

    DocImpact
    Change-Id: I07b8682fdfe8389a35893cc662b87c94a00bd4a5
    Closes-Bug: #1558626

Changed in neutron:
status: In Progress → Fix Released

Reviewed: https://review.openstack.org/299884
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=aac460b0a7fec68fbb173ac8899274809e254a7a
Submitter: Jenkins
Branch: stable/mitaka

commit aac460b0a7fec68fbb173ac8899274809e254a7a
Author: Vladimir Eremin <email address hidden>
Date: Thu Mar 17 19:32:29 2016 +0300

    Allow to use several nics for physnet with SR-IOV

    Accordind specs and docs, SRIOV_NIC.physical_device_mappings is not
    limited to be a 1-1 mapping between physnets and NICs. However,
    implementation requires this. This bugfix unlocks 1-M mappings, so one
    physnet could be managed by many NICs.

    * introduced unique_keys in neutron.utils.parse_mappings
    * SRIOV_NIC.physical_device_mappings is parsed as dict with lists as
      values with parse_mappings(..., unique_keys=False)

    DocImpact
    Change-Id: I07b8682fdfe8389a35893cc662b87c94a00bd4a5
    Closes-Bug: #1558626
    (cherry picked from commit 46ddaf4288a1cac44d8afc0525b4ecb3ae2186a3)

tags: added: in-stable-mitaka
Changed in neutron:
status: Fix Released → In Progress
Oleg Bondarev (obondarev) wrote :

New bug was filed for handling multiple nics per phys net: https://bugs.launchpad.net/neutron/+bug/1576757

Changed in neutron:
status: In Progress → Fix Released

This issue was fixed in the openstack/neutron 8.1.0 release.

Download full text (36.9 KiB)

Reviewed: https://review.openstack.org/314250
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=3bf73801df169de40d365e6240e045266392ca63
Submitter: Jenkins
Branch: master

commit a323769143001d67fd1b3b4ba294e59accd09e0e
Author: Ryan Moats <email address hidden>
Date: Tue Oct 20 15:51:37 2015 +0000

    Revert "Improve performance of ensure_namespace"

    This reverts commit 81823e86328e62850a89aef9f0b609bfc0a6dacd.

    Unneeded optimization: this commit only improves execution
    time on the order of milliseconds, which is less than 1% of
    the total router update execution time at the network node.

    This also

    Closes-bug: #1574881

    Change-Id: Icbcdf4725ba7d2e743bb6761c9799ae436bd953b

commit 7fcf0253246832300f13b0aa4cea397215700572
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Apr 21 07:05:16 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I9e930750dde85a9beb0b6f85eeea8a0962d3e020

commit 643b4431606421b09d05eb0ccde130adbf88df64
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Apr 19 06:52:48 2016 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure

    Change-Id: I52d7460b3265b5460b9089e1cc58624640dc7230

commit 1ffea42ccdc14b7a6162c1895bd8f2aae48d5dae
Author: OpenStack Proposal Bot <email address hidden>
Date: Mon Apr 18 15:03:30 2016 +0000

    Updated from global requirements

    Change-Id: Icb27945b3f222af1d9ab2b62bf2169d82b6ae26c

commit b970ed5bdac60c0fa227f2fddaa9b842ba4f51a7
Author: Kevin Benton <email address hidden>
Date: Fri Apr 8 17:52:14 2016 -0700

    Clear DVR MAC on last agent deletion from host

    Once all agents are deleted from a host, the DVR MAC generated
    for that host should be deleted as well to prevent a buildup of
    pointless flows generated in the OVS agent for hosts that don't
    exist.

    Closes-Bug: #1568206
    Change-Id: I51e736aa0431980a595ecf810f148ca62d990d20
    (cherry picked from commit 92527c2de2afaf4862fddc101143e4d02858924d)

commit eee9e58ed258a48c69effef121f55fdaa5b68bd6
Author: Mike Bayer <email address hidden>
Date: Tue Feb 9 13:10:57 2016 -0500

    Add an option for WSGI pool size

    Neutron currently hardcodes the number of
    greenlets used to process requests in a process to 1000.
    As detailed in
    http://lists.openstack.org/pipermail/openstack-dev/2015-December/082717.html

    this can cause requests to wait within one process
    for available database connection while other processes
    remain available.

    By adding a wsgi_default_pool_size option functionally
    identical to that of Nova, we can lower the number of
    greenlets per process to be more in line with a typical
    max database connection pool size.

    DocImpact: a previously unused configuration value
               wsgi_default_pool_size is now used to a...

tags: added: neutron-proactive-backport-potential

This issue was fixed in the openstack/neutron 9.0.0.0b1 development milestone.

tags: removed: neutron-proactive-backport-potential
tags: removed: mitaka-backport-potential
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers