def delete_network(self, tenant_id, net_id): """ Deletes the network with the specified network identifier belonging to the specified tenant. """ LOG.debug("delete_network() called\n") net = db.network_get(net_id) if net: if len(net[const.NETWORKPORTS]) > 0: ports_on_net = db.port_list(net_id) for port in ports_on_net: if port[const.INTERFACEID]: raise exc.NetworkInUse(net_id=net_id) for port in ports_on_net: self.delete_port(tenant_id, net_id, port[const.UUID]) self._invoke_device_plugins(self._func_name(), [tenant_id, net_id]) net_dict = cutil.make_net_dict(net[const.UUID], net[const.NETWORKNAME], []) self._release_vlan_for_tenant(tenant_id, net_id) cdb.remove_vlan_binding(net_id) db.network_destroy(net_id) return net_dict # Network not found raise exc.NetworkNotFound(net_id=net_id)
def delete_network(self, context, id): LOG.debug("L2Network's delete_network() called") tenant_id = context.tenant_id self._invoke_device_plugins(self._func_name(), [context, id]) self._release_vlan_for_tenant(tenant_id, id) cdb.remove_vlan_binding(id) super().delete_network(context, id)
def test_delete_network(self): """Support for the Quantum core API call""" LOG.debug("test_delete_network - START") # Create the network in the test DB, then with the model self.net_id = db.network_create(tenant_id, net_name)[const.UUID] self._l2network_multiblade.create_network([tenant_id, net_name, self.net_id, vlan_name(self.net_id), vlan_id]) cdb.add_vlan_binding(vlan_id, vlan_name(self.net_id), self.net_id) networks = self._l2network_multiblade.delete_network([tenant_id, self.net_id]) cdb.remove_vlan_binding(self.net_id) db.network_destroy(self.net_id) for network in networks: self.assertEqual(network[const.NET_ID], self.net_id) self.assertEqual(network[const.NET_NAME], net_name) LOG.debug("test_delete_network - END")
def delete_vlan_binding(self, network_id): """Delete a vlan binding""" try: res = l2network_db.remove_vlan_binding(network_id) LOG.debug("Deleted vlan binding for vlan: %s" % res.vlan_id) vlan_dict = {} vlan_dict["vlan-id"] = str(res.vlan_id) return vlan_dict except Exception, exc: raise Exception("Failed to delete vlan binding: %s" % str(exc))
def delete_vlan_binding(self, network_id): """Delete a vlan binding.""" try: res = l2network_db.remove_vlan_binding(network_id) LOG.debug("Deleted vlan binding for vlan: %s" % res.vlan_id) vlan_dict = {} vlan_dict["vlan-id"] = str(res.vlan_id) return vlan_dict except Exception as exc: raise Exception("Failed to delete vlan binding: %s" % str(exc))
def test_delete_network(self): """Support for the Quantum core API call""" LOG.debug("test_delete_network - START") # Create the network in the test DB, then with the model self.net_id = db.network_create(tenant_id, net_name)[const.UUID] self._l2network_multiblade.create_network([ tenant_id, net_name, self.net_id, vlan_name(self.net_id), vlan_id ]) cdb.add_vlan_binding(vlan_id, vlan_name(self.net_id), self.net_id) networks = self._l2network_multiblade.delete_network( [tenant_id, self.net_id]) cdb.remove_vlan_binding(self.net_id) db.network_destroy(self.net_id) for network in networks: self.assertEqual(network[const.NET_ID], self.net_id) self.assertEqual(network[const.NET_NAME], net_name) LOG.debug("test_delete_network - END")