ml2: exceptions in extension driver will be interceptered by extenstion manager

Bug #1468990 reported by yalei wang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
yalei wang

Bug Description

Not sure if we make it intentionally, but exceptions in extension driver is interceptered by extenstion manager.

https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/managers.py#L351

for examples, when a port creating, if one of the ext drivers emit a exception, the extension process could continue for the left ext drivers. But it may cover some error in that problem driver. Maybe that driver emit the exception passively(because of error in code) or intentionally(some kind of verification in ext driver itself).

maybe I understand it wrong.

yalei wang (yalei-wang)
description: updated
description: updated
Changed in neutron:
assignee: nobody → yalei wang (yalei-wang)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/202061
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=73845d564c910bb9113a3ba5963b368384efbaad
Submitter: Jenkins
Branch: master

commit 73845d564c910bb9113a3ba5963b368384efbaad
Author: Yalei Wang <email address hidden>
Date: Thu Aug 6 01:03:20 2015 +0800

    Pass the extension driver exception to plugin

    The extension driver is intercepted by driver manager currently. It will
    cover the errors/exceptions happened in extension drivers. The extension
    process will continue even if preceding extension driver get a wrong/useless
    extended result, or even no result.
    This patch make process_[create|update]_<resource>() and
    extend_<resource>_dict() methods return the exception, and log it with proper
    level respectively, and also include a minor optimization for the
    extend_<resource>_dict() methods.

    Change-Id: I20a249c47b58292125476bc44b2372ca959509e3
    Closes-Bug: #1468990

Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/211492

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/qos)

Fix proposed to branch: feature/qos
Review: https://review.openstack.org/211565

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (37.3 KiB)

Reviewed: https://review.openstack.org/211492
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=a7b91632fc65ab9d2687298c68b1d715866d0356
Submitter: Jenkins
Branch: feature/pecan

commit 966203f89dee8fe61fb2dce654e36e510e80380f
Author: Sukhdev Kapur <email address hidden>
Date: Wed Jul 1 16:30:44 2015 -0700

    Neutron-Ironic integration patch

    This patch is in preparation for the integration
    of Ironic and Neutron. A new vnic_type is being
    added so that ML2 drivers can filter for all
    Ironic ports based upon match for 'baremetal'.
    Nova/Ironic will set this vnic_type when issuing
    port-create request to neutron.
    (e.g. binding:vnic_type = 'baremetal' )

    Change-Id: I25dc9472b31db052719db503a10c1fb1a55572ef
    Partial-Implements: blueprint neutron-ironic-integration

commit 236e408272bcb9b8e957524864e571b5afdc4623
Author: Oleg Bondarev <email address hidden>
Date: Tue Jul 7 12:02:58 2015 +0300

    DVR: fix router scheduling

    Fix scheduling of DVR routers to not stop scheduling once
    csnat portion was scheduled. See bug report for failing
    scenario.

    This partially reverts
    commit 3794b4a83e68041e24b715135f0ccf09a5631178
    and fixes bug 1374473 by moving csnat scheduling
    after general dvr router scheduling, so double binding does
    not happen.

    Closes-Bug: #1472163
    Related-Bug: #1374473
    Change-Id: I57c06e2be732e47b6cce7c724f6b255ea2d8fa32

commit e152f93878b9bb6af7cfedc9e045892fcf7d0615
Author: Assaf Muller <email address hidden>
Date: Sat Aug 8 21:15:03 2015 +0300

    TESTING.rst love

    Change-Id: I64b569048f8f87ea2fe63d861302b4020d36493d

commit 633c52cca1b383af2c900e1663c8682114acd177
Author: sridhargaddam <email address hidden>
Date: Wed Aug 5 10:49:33 2015 +0000

    Avoid dhcp_release for ipv6 addresses

    dhcp_release is only supported for IPv4 addresses [1] and not for
    IPv6 addresses [2]. There will be no effect when it is called with
    IPv6 address. This patch adds a corresponding note and avoids calling
    dhcp_release for IPv6 addresses.

    [1] http://manpages.ubuntu.com/manpages/trusty/man1/dhcp_release.1.html
    [2] http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2013q2/007084.html

    Change-Id: I8b8316c9d3d011c2a687a3a1e2a4da5cf1b5d604

commit 2de8fad17402f38bbc30204ee2f4f99cf21cb69d
Author: OpenStack Proposal Bot <email address hidden>
Date: Mon Aug 10 06:11:06 2015 +0000

    Imported Translations from Transifex

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

    Change-Id: I2b423e83a7d0ac8b23239f81fe33dd8382c6fff6

commit fef79dc7b9162e03c8891645494c115b52d4d014
Author: Henry Gessau <email address hidden>
Date: Mon Aug 3 23:30:34 2015 -0400

    Consistent layout and headings for devref

    The lack of convention for heading levels among the independently
    written devref documents was starting to make the Table of Contents
    look rather messy when rendered in HTML.

    This patch does not cover the "Neutron Internals" section since its
    layo...

tags: added: in-feature-pecan
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/qos)

Reviewed: https://review.openstack.org/211565
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=08f0bb9ce5c821b421394d2c7d9186f40c417f7d
Submitter: Jenkins
Branch: feature/qos

commit 08f0bb9ce5c821b421394d2c7d9186f40c417f7d
Author: Yalei Wang <email address hidden>
Date: Thu Aug 6 01:03:20 2015 +0800

    Pass the extension driver exception to plugin

    The extension driver is intercepted by driver manager currently. It will
    cover the errors/exceptions happened in extension drivers. The extension
    process will continue even if preceding extension driver get a wrong/useless
    extended result, or even no result.
    This patch make process_[create|update]_<resource>() and
    extend_<resource>_dict() methods return the exception, and log it with proper
    level respectively, and also include a minor optimization for the
    extend_<resource>_dict() methods.

    Change-Id: I20a249c47b58292125476bc44b2372ca959509e3
    Closes-Bug: #1468990
    (cherry picked from commit 73845d564c910bb9113a3ba5963b368384efbaad)

tags: added: in-feature-qos
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/qos)

Fix proposed to branch: feature/qos
Review: https://review.openstack.org/212166

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (feature/qos)

Change abandoned by Ihar Hrachyshka (<email address hidden>) on branch: feature/qos
Review: https://review.openstack.org/212166
Reason: Wrong branch.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

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

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)
Download full text (60.4 KiB)

Reviewed: https://review.openstack.org/212170
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=70727ba781e1d9e95a4e79dd61408b3ee2ae9886
Submitter: Jenkins
Branch: master

commit bb1546df15b57923fdbb9057407274bdcce59c50
Author: John Schwarz <email address hidden>
Date: Mon Aug 3 18:55:31 2015 +0300

    Forbid attaching rules if policy isn't accessible

    Following up patch If06de416dfe0eb7115fd4be9feb461fae8e8358d, this patch
    continues to make sure all access to QoS policies are attempted safely -
    if the policy doesn't exist or it's not accessible (for tenant_id
    reasons), then an exception will be raised instead.

    Change-Id: Id7e64c745cdd63d650a3f69572635dc10197259c
    Partially-Implements: quantum-qos-api

commit d56fea0a39cbb53c36b0f7df3f7baef34588ec9a
Author: Miguel Angel Ajo <email address hidden>
Date: Tue Aug 11 13:51:16 2015 +0200

    Fix the low level OVS driver to really do egress

    It seems that the Queue + QoS + linux-htb implementation was really
    limiting ingress by default. So this patch switches the implementation
    to the ovs ingress_policing_rate and ingress_policing_burst parameters
    of the Interface table.

    Later in time we may want to revise this, to make TC & queueing possible,
    but this is good enough for egress limiting.

    Also, removed the _update_bandwidth_limit del+set on OvS QoS driver for
    the bandwidth limit rule update, since that's not needed anymore.

    Change-Id: Ie802a235ae19bf679ba638563ac7377337448f2a
    Partially-Implements: ml2-qos

commit 995c35221bd9d51a71022902a00a1d9e23449787
Author: Moshe Levi <email address hidden>
Date: Fri Aug 7 17:35:48 2015 +0300

    SR-IOV: Add Agent QoS driver to support bandwidth limit

    This patch adds SR-IOV agent driver which uses eswitch manager to set VF
    rate limit. It also updates the agent to call port_delete api of the
    extension manager to cleanup when port is deleted.

    Partially-Implements: blueprint ml2-sriov-qos-with-bwlimiting
    Change-Id: I364fc8158e502d4dcc3510d6157f12969961a11d

commit 08f0bb9ce5c821b421394d2c7d9186f40c417f7d
Author: Yalei Wang <email address hidden>
Date: Thu Aug 6 01:03:20 2015 +0800

    Pass the extension driver exception to plugin

    The extension driver is intercepted by driver manager currently. It will
    cover the errors/exceptions happened in extension drivers. The extension
    process will continue even if preceding extension driver get a wrong/useless
    extended result, or even no result.
    This patch make process_[create|update]_<resource>() and
    extend_<resource>_dict() methods return the exception, and log it with proper
    level respectively, and also include a minor optimization for the
    extend_<resource>_dict() methods.

    Change-Id: I20a249c47b58292125476bc44b2372ca959509e3
    Closes-Bug: #1468990
    (cherry picked from commit 73845d564c910bb9113a3ba5963b368384efbaad)

commit a17d97fc00d7467e9128f9691d3409636ce1e9b4
Author: Miguel Angel Ajo <email address hidden>
Date: Tue Aug 11 16:47:23 2015 +0200

    Update documentation acording to last QoS/OvS changes

    Cha...

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/218710

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (155.6 KiB)

Reviewed: https://review.openstack.org/218710
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=2c5f44e1b3bd4ed8a0b7232fd293b576cc8c1c87
Submitter: Jenkins
Branch: feature/pecan

commit f35d1c5c50dccbef1a2e079f967b82f0df0e22e9
Author: Adelina Tuvenie <email address hidden>
Date: Thu Aug 27 02:27:28 2015 -0700

    Fixes wrong neutron Hyper-V Agent name in constants

    Change Id03fb147e11541be309c1cd22ce27e70fadc28b5 moved the
    AGENT_TYPE_HYPERV constant from common.constants to
    plugins.ml2.drivers.hyperv.constants but change the value of the
    constant from 'HyperV agent' to 'hyperv'. This patch changes
    the name back to 'HyperV agent'

    Change-Id: If74b4b2a84811e266c8b12e70bf6bfe74ed4ea21
    Partial-Bug: #1487598

commit de604de334854e2eb6b4312ff57920564cbd4459
Author: OpenStack Proposal Bot <email address hidden>
Date: Sun Aug 30 01:39:06 2015 +0000

    Updated from global requirements

    Change-Id: Ie52aa3b59784722806726e4046bd07f4a4d97328

commit f0415ac20eaf5ab4abb9bd4839bf6d04ceee85d0
Author: armando-migliaccio <email address hidden>
Date: Fri Aug 28 13:53:04 2015 -0700

    Revert "Add support for unaddressed port"

    This implementation may expose a vulnerability where a malicious
    user can sieze the opportunity of a time window where a port
    may land unaddressed on a shared network, thus allowing him/her
    to suck up all the tenant traffic he/she wants....oh the shivers.

    This reverts commit d4c52b7f5a36a103a92bf9dcda7f371959112292.

    Change-Id: I7ebdaa8d3defa80eab90e460fde541a5bdd8864c

commit 013fdcd2a6d45dbe4de5d6e7077e5e9b60985ef9
Author: Assaf Muller <email address hidden>
Date: Fri Aug 28 16:41:07 2015 -0400

    Improve logging upon failure in iptables functional tests

    This will help us nail down a more accurate and efficient logstash
    query.

    Change-Id: Iee4238e358f7b056e373c7be8d6aa3202117a680
    Related-Bug: #1478847

commit 622dea818d851224a43d5276a81d5ce8a6eebb76
Author: Ivar Lazzaro <email address hidden>
Date: Mon Aug 17 17:17:42 2015 -0700

    handle gw_info outside of the db transaction on router creation

    Move the gateway interface creation outside the DB transaction
    to avoid lock timeout.

    Change-Id: I5a78d7f32e8ca912016978105221d5f34618af19
    Closes-bug: 1485809

commit 5b27d290a0a95f6247fc5a0fe6da1e7d905e6b2d
Author: Assaf Muller <email address hidden>
Date: Wed Aug 26 10:07:03 2015 -0400

    Remove ml2 resource extension success logging

    This is the cause of a tremendous amount of logs, for no
    perceivable gain. A normal dvr run in the gate shows this debug
    message around 120K times, which is way too much.

    Closes-Bug: #1489952

    Change-Id: I26fca8515d866a7cc1638d07fa33bc04479ae221

commit 8d3faf549cba2f58c872ef4121b2481e73464010
Author: huangpengtao <email address hidden>
Date: Fri Aug 28 23:20:46 2015 +0800

    Replace "prt" variable by "port"

    the local variable prt is meaningless,
    and port is used popular.

    Change-Id: I20849102cf5b4d84433c46791b4b1e2a22dc4739

commit ee374e7a5f4dea538fcd942f5...

Thierry Carrez (ttx)
Changed in neutron:
milestone: none → liberty-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-3 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.