yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #11779
[Bug 1294308] [NEW] ML2 bigswitch driver modifies PortContext.current
Public bug reported:
The ML2 bigswitch mechanism driver's create_port_postcommit() and
update_port_postcommit() methods pass the PortContext to a
_prepare_port_for_controller() method that modifies the port dictionary
accessed as PortContext.current. This modified port dictionary is
currently returned by ML2 as the result of the port create or update
operation, but the changes do not get persisted in the DB. The fix for
bug 1276391 is likely to result in these changes no longer being
returned to the client. Mechanism drivers are not supposed to modify
this port dictionary, except by calling PortContext.set_binding() from
within bind_port(). It does not appear that this mechanism driver
actually binds ports. If the port dictionary needs to be modified before
being passed to the bigswitch controller, it should be copied first.
Also, the TestBigSwitchMechDriverPortsV2.test_port_vif_details() unit
test asserts that the returned binding:vif_type is the modified value,
so this test will also need to be changed or eliminated as part of this
fix.
** Affects: neutron
Importance: High
Assignee: Kevin Benton (kevinbenton)
Status: New
** Changed in: neutron
Assignee: (unassigned) => Kevin Benton (kevinbenton)
** Changed in: neutron
Importance: Undecided => High
** Changed in: neutron
Milestone: None => icehouse-rc1
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1294308
Title:
ML2 bigswitch driver modifies PortContext.current
Status in OpenStack Neutron (virtual network service):
New
Bug description:
The ML2 bigswitch mechanism driver's create_port_postcommit() and
update_port_postcommit() methods pass the PortContext to a
_prepare_port_for_controller() method that modifies the port
dictionary accessed as PortContext.current. This modified port
dictionary is currently returned by ML2 as the result of the port
create or update operation, but the changes do not get persisted in
the DB. The fix for bug 1276391 is likely to result in these changes
no longer being returned to the client. Mechanism drivers are not
supposed to modify this port dictionary, except by calling
PortContext.set_binding() from within bind_port(). It does not appear
that this mechanism driver actually binds ports. If the port
dictionary needs to be modified before being passed to the bigswitch
controller, it should be copied first.
Also, the TestBigSwitchMechDriverPortsV2.test_port_vif_details() unit
test asserts that the returned binding:vif_type is the modified value,
so this test will also need to be changed or eliminated as part of
this fix.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1294308/+subscriptions
Follow ups
References