summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorvladimir.p <vladimir@zadarastorage.com>2011-08-25 19:18:46 -0700
committervladimir.p <vladimir@zadarastorage.com>2011-08-25 19:18:46 -0700
commit8b4d46285b7f00a89bad6000fdc78cc2ab1d5608 (patch)
treec7756786f2fa32315cd15a59f3f3b09c10196254 /bin
parent59e9adb8e2ef39474a04ead76975a1fc3f913550 (diff)
parente38ba3a6066de8499ea5cc8d1fb2e5daefbf336a (diff)
downloadnova-8b4d46285b7f00a89bad6000fdc78cc2ab1d5608.tar.gz
nova-8b4d46285b7f00a89bad6000fdc78cc2ab1d5608.tar.xz
nova-8b4d46285b7f00a89bad6000fdc78cc2ab1d5608.zip
merged with rev.1499
Diffstat (limited to 'bin')
-rwxr-xr-xbin/nova-manage33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/nova-manage b/bin/nova-manage
index 977ad5c66..76e188596 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -801,6 +801,39 @@ class NetworkCommands(object):
' before delete' % network.project_id))
db.network_delete_safe(context.get_admin_context(), network.id)
+ @args('--network', dest="fixed_range", metavar='<x.x.x.x/yy>',
+ help='Network to modify')
+ @args('--project', dest="project", metavar='<project name>',
+ help='Project name to associate')
+ @args('--host', dest="host", metavar='<host>',
+ help='Host to associate')
+ @args('--disassociate-project', action="store_true", dest='dis_project',
+ default=False, help='Disassociate Network from Project')
+ @args('--disassociate-host', action="store_true", dest='dis_host',
+ default=False, help='Disassociate Host from Project')
+ def modify(self, fixed_range, project=None, host=None,
+ dis_project=None, dis_host=None):
+ """Associate/Disassociate Network with Project and/or Host
+ arguments: network project host
+ leave any field blank to ignore it
+ """
+ admin_context = context.get_admin_context()
+ network = db.network_get_by_cidr(admin_context, fixed_range)
+ net = {}
+ #User can choose the following actions each for project and host.
+ #1) Associate (set not None value given by project/host parameter)
+ #2) Disassociate (set None by disassociate parameter)
+ #3) Keep unchanged (project/host key is not added to 'net')
+ if project:
+ net['project_id'] = project
+ elif dis_project:
+ net['project_id'] = None
+ if host:
+ net['host'] = host
+ elif dis_host:
+ net['host'] = None
+ db.network_update(admin_context, network['id'], net)
+
class VmCommands(object):
"""Class for mangaging VM instances."""