Skip to content

Commit a08ee15

Browse files
authored
Merge pull request #456 from rackerlabs/delete_tenant_network
feat: delete tenant network
2 parents 2e1fe24 + eef1088 commit a08ee15

File tree

2 files changed

+34
-2
lines changed

2 files changed

+34
-2
lines changed

python/neutron-understack/neutron_understack/nautobot.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,13 @@ def ucvni_create(
4343
resp = self.s.post(url, json=payload, timeout=10)
4444
LOG.debug("ucvni_create resp: %(resp)s", {"resp": resp.json()})
4545
resp.raise_for_status()
46+
47+
def ucvni_delete(self, network_id):
48+
payload = {"id": network_id}
49+
50+
ucvni_url = f"/api/plugins/undercloud-vni/ucvnis/{network_id}/"
51+
url = urljoin(self.base_url, ucvni_url)
52+
LOG.debug("ucvni_delete payload: %(payload)s", {"payload": payload})
53+
resp = self.s.delete(url, json=payload, timeout=10)
54+
LOG.debug("ucvni_delete resp: %(resp)s", {"resp": resp.status_code})
55+
resp.raise_for_status()

python/neutron-understack/neutron_understack/neutron_understack_mech.py

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ def create_network_postcommit(self, context):
140140
raise exc.NetworkNotFound(net_id=network_id) from e
141141

142142
LOG.info(
143-
"network %(net_id)s has been added on ucvni_group %(ucvni_group), "
144-
"physnet %(physnet)",
143+
"network %(net_id)s has been added on ucvni_group %(ucvni_group)s, "
144+
"physnet %(physnet)s",
145145
{"net_id": network_id, "ucvni_group": ucvni_group, "physnet": physnet},
146146
)
147147

@@ -157,6 +157,28 @@ def delete_network_precommit(self, context):
157157
def delete_network_postcommit(self, context):
158158
log_call("delete_network_postcommit", context)
159159

160+
network = context.current
161+
network_id = network["id"]
162+
provider_type = network.get("provider:network_type")
163+
physnet = network.get("provider:physical_network")
164+
165+
if provider_type == p_const.TYPE_VXLAN:
166+
conf = cfg.CONF.ml2_understack
167+
ucvni_group = conf.ucvni_group
168+
try:
169+
self.nb.ucvni_delete(network_id)
170+
except Exception as e:
171+
LOG.exception(
172+
"unable to delete network %(net_id)s", {"net_id": network_id}
173+
)
174+
raise exc.NetworkNotFound(net_id=network_id) from e
175+
176+
LOG.info(
177+
"network %(net_id)s has been deleted from ucvni_group %(ucvni_group)s, "
178+
"physnet %(physnet)s",
179+
{"net_id": network_id, "ucvni_group": ucvni_group, "physnet": physnet},
180+
)
181+
160182
def create_subnet_precommit(self, context):
161183
log_call("create_subnet_precommit", context)
162184

0 commit comments

Comments
 (0)