From b3c4c117b874c99e3ef88d63d08574fda9ec1fbb Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Mon, 22 Aug 2011 08:59:35 -0700 Subject: [PATCH] Add 'nova-manage network modify' command. --- bin/nova-manage | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/bin/nova-manage b/bin/nova-manage index 62504f82..0a8edb9f 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -795,6 +795,36 @@ class NetworkCommands(object): ' before delete' % network.project_id)) db.network_delete_safe(context.get_admin_context(), network.id) + @args('--network', dest="fixed_range", metavar='', + help='Network to modify') + @args('--project', dest="project", metavar='', + help='Project name to associate/disasscociate') + @args('--host', dest="host", metavar='', + help='Host to associate/disasscociate') + def modify(self, fixed_range, project=None, host=None): + """Associate/Disasscociate Network with Project and/or Host + arguments: network project host + specify 'None' to disassociate it + leave any field blank to ignore it + """ + admin_context = context.get_admin_context() + network = db.network_get_by_cidr(admin_context, fixed_range) + if project != "None": + if project: + project_id = manager.Project.safe_id(project) + db.network_associate_by_id(admin_context, network_id=network['id'], project_id=project, force=True) + else: + db.network_disassociate(admin_context, network_id=network['id']) + if host != "None": + if host: + db.network_set_host(admin_context, + network['id'], + host) + else: + db.network_set_host(admin_context, + network['id'], + None) + class VmCommands(object): """Class for mangaging VM instances."""