From 17759dba87c84dc62bf7a0e2fa2b6a6a4f27c9dd Mon Sep 17 00:00:00 2001 From: Anna Khmelnitsky Date: Fri, 4 Jan 2019 14:39:08 -0800 Subject: [PATCH] NSX-T+P: Delete subnet in case of dhcp error If backend errors out during dhcp config, delete neutron subnet that was already created. Change-Id: I526b25c84fc55eed23f9d7f3fa9ac160ed1627df --- vmware_nsx/plugins/common_v3/plugin.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/vmware_nsx/plugins/common_v3/plugin.py b/vmware_nsx/plugins/common_v3/plugin.py index 1c775db0e1..9273c71bc2 100644 --- a/vmware_nsx/plugins/common_v3/plugin.py +++ b/vmware_nsx/plugins/common_v3/plugin.py @@ -1409,8 +1409,14 @@ class NsxPluginV3Base(agentschedulers_db.AZDhcpAgentSchedulerDbMixin, subnet['subnet']['network_id']).dhcp_relay_service if not dhcp_relay: if self.nsxlib: - self._enable_native_dhcp(context, network, - created_subnet) + try: + self._enable_native_dhcp(context, network, + created_subnet) + except nsx_lib_exc.ManagerError: + with excutils.save_and_reraise_exception(): + super(NsxPluginV3Base, + self).delete_subnet( + context, created_subnet['id']) else: msg = (_("Native DHCP is not supported since " "passthough API is disabled"))