Added ability to remove networks on nova-manage command
This commit is contained in:
@@ -548,6 +548,10 @@ class NetworkCommands(object):
|
|||||||
def delete(self, fixed_range):
|
def delete(self, fixed_range):
|
||||||
"""Deletes a network"""
|
"""Deletes a network"""
|
||||||
network = db.network_get_by_cidr(context.get_admin_context(), fixed_range)
|
network = db.network_get_by_cidr(context.get_admin_context(), fixed_range)
|
||||||
|
if network.project_id is not None:
|
||||||
|
raise ValueError(_('Network must be disassociated from project %s'
|
||||||
|
' before delete' %network.project_id))
|
||||||
|
db.network_delete_safe(context.get_admin_context(), network.id)
|
||||||
|
|
||||||
class ServiceCommands(object):
|
class ServiceCommands(object):
|
||||||
"""Enable and disable running services"""
|
"""Enable and disable running services"""
|
||||||
|
|||||||
@@ -488,6 +488,13 @@ def network_create_safe(context, values):
|
|||||||
"""
|
"""
|
||||||
return IMPL.network_create_safe(context, values)
|
return IMPL.network_create_safe(context, values)
|
||||||
|
|
||||||
|
def network_delete_safe(context, network_id):
|
||||||
|
"""Delete network with key network_id
|
||||||
|
|
||||||
|
This method assumes that the network is not associated with any project
|
||||||
|
"""
|
||||||
|
return IMPL.network_delete_safe(context, network_id)
|
||||||
|
|
||||||
|
|
||||||
def network_create_fixed_ips(context, network_id, num_vpn_clients):
|
def network_create_fixed_ips(context, network_id, num_vpn_clients):
|
||||||
"""Create the ips for the network, reserving sepecified ips."""
|
"""Create the ips for the network, reserving sepecified ips."""
|
||||||
|
|||||||
@@ -1042,6 +1042,13 @@ def network_create_safe(context, values):
|
|||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
@require_admin_context
|
||||||
|
def network_delete_safe(context, network_id):
|
||||||
|
session = get_session()
|
||||||
|
with session.begin():
|
||||||
|
network_ref = network_get(context, network_id=network_id, session=session)
|
||||||
|
session.delete(network_ref)
|
||||||
|
|
||||||
|
|
||||||
@require_admin_context
|
@require_admin_context
|
||||||
def network_disassociate(context, network_id):
|
def network_disassociate(context, network_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user