Merge "Ensure driver error preventing trunk port deletion is logged" into stable/queens

This commit is contained in:
Zuul 2020-02-19 19:05:04 +00:00 committed by Gerrit Code Review
commit 2af24fd58d
1 changed files with 13 additions and 3 deletions

View File

@ -23,6 +23,7 @@ from neutron_lib import context
from neutron_lib.plugins import directory from neutron_lib.plugins import directory
from neutron_lib.services import base as service_base from neutron_lib.services import base as service_base
from oslo_log import log as logging from oslo_log import log as logging
from oslo_utils import excutils
from oslo_utils import uuidutils from oslo_utils import uuidutils
from neutron.db import _resource_extend as resource_extend from neutron.db import _resource_extend as resource_extend
@ -268,15 +269,24 @@ class TrunkPlugin(service_base.ServicePluginBase,
# object disappears from the datastore, therefore there is no # object disappears from the datastore, therefore there is no
# status transition involved. If PRECOMMIT failures occur, # status transition involved. If PRECOMMIT failures occur,
# the trunk remains in the status where it was. # the trunk remains in the status where it was.
trunk.delete() try:
trunk.delete()
except Exception as e:
with excutils.save_and_reraise_exception():
LOG.warning('Trunk driver raised exception when '
'deleting trunk port %s: %s', trunk_id,
str(e))
payload = callbacks.TrunkPayload(context, trunk_id, payload = callbacks.TrunkPayload(context, trunk_id,
original_trunk=trunk) original_trunk=trunk)
registry.notify(constants.TRUNK, events.PRECOMMIT_DELETE, self, registry.notify(constants.TRUNK, events.PRECOMMIT_DELETE, self,
payload=payload) payload=payload)
else: else:
LOG.info('Trunk driver does not consider trunk %s '
'untrunkable', trunk_id)
raise trunk_exc.TrunkInUse(trunk_id=trunk_id) raise trunk_exc.TrunkInUse(trunk_id=trunk_id)
registry.notify(constants.TRUNK, events.AFTER_DELETE, self, registry.notify(constants.TRUNK,
payload=payload) events.AFTER_DELETE,
self, payload=payload)
@db_base_plugin_common.convert_result_to_dict @db_base_plugin_common.convert_result_to_dict
def add_subports(self, context, trunk_id, subports): def add_subports(self, context, trunk_id, subports):