Merge "l2pop: check port mac in pre-commit to stop change"

This commit is contained in:
Jenkins 2015-08-21 10:12:12 +00:00 committed by Gerrit Code Review
commit 6f109bd642
2 changed files with 9 additions and 4 deletions

View File

@ -99,7 +99,7 @@ class L2populationMechanismDriver(api.MechanismDriver,
return True return True
def update_port_postcommit(self, context): def update_port_precommit(self, context):
port = context.current port = context.current
orig = context.original orig = context.original
@ -107,7 +107,12 @@ class L2populationMechanismDriver(api.MechanismDriver,
context.status == const.PORT_STATUS_ACTIVE): context.status == const.PORT_STATUS_ACTIVE):
LOG.warning(_LW("unable to modify mac_address of ACTIVE port " LOG.warning(_LW("unable to modify mac_address of ACTIVE port "
"%s"), port['id']) "%s"), port['id'])
raise ml2_exc.MechanismDriverError(method='update_port_postcommit') raise ml2_exc.MechanismDriverError(method='update_port_precommit')
def update_port_postcommit(self, context):
port = context.current
orig = context.original
diff_ips = self._get_diff_ips(orig, port) diff_ips = self._get_diff_ips(orig, port)
if diff_ips: if diff_ips:
self._fixed_ips_changed(context, orig, port, diff_ips) self._fixed_ips_changed(context, orig, port, diff_ips)

View File

@ -892,7 +892,7 @@ class TestL2PopulationMechDriver(base.BaseTestCase):
[constants.FLOODING_ENTRY]}} [constants.FLOODING_ENTRY]}}
self.assertEqual(expected_result, result) self.assertEqual(expected_result, result)
def test_update_port_postcommit_mac_address_changed_raises(self): def test_update_port_precommit_mac_address_changed_raises(self):
port = {'status': u'ACTIVE', port = {'status': u'ACTIVE',
'device_owner': u'compute:None', 'device_owner': u'compute:None',
'mac_address': u'12:34:56:78:4b:0e', 'mac_address': u'12:34:56:78:4b:0e',
@ -912,4 +912,4 @@ class TestL2PopulationMechDriver(base.BaseTestCase):
mech_driver = l2pop_mech_driver.L2populationMechanismDriver() mech_driver = l2pop_mech_driver.L2populationMechanismDriver()
with testtools.ExpectedException(ml2_exc.MechanismDriverError): with testtools.ExpectedException(ml2_exc.MechanismDriverError):
mech_driver.update_port_postcommit(ctx) mech_driver.update_port_precommit(ctx)