Added ability to remove networks on nova-manage command
This commit is contained in:
@@ -548,7 +548,11 @@ class NetworkCommands(object):
|
||||
def delete(self, fixed_range):
|
||||
"""Deletes a network"""
|
||||
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):
|
||||
"""Enable and disable running services"""
|
||||
|
||||
|
||||
@@ -488,6 +488,13 @@ def 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):
|
||||
"""Create the ips for the network, reserving sepecified ips."""
|
||||
|
||||
@@ -1042,6 +1042,13 @@ def network_create_safe(context, values):
|
||||
except IntegrityError:
|
||||
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
|
||||
def network_disassociate(context, network_id):
|
||||
|
||||
Reference in New Issue
Block a user