From 2a6f97940f71c056b4bfb0cd9a86f5d676abc4e1 Mon Sep 17 00:00:00 2001 From: Tushar Patil Date: Mon, 11 Jul 2011 13:34:39 -0700 Subject: add optional parameter networks to the Create server OS API --- bin/nova-manage | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 7dfe91698..53e3d5c93 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -615,12 +615,14 @@ class NetworkCommands(object): def list(self): """List all created networks""" - print "%-18s\t%-15s\t%-15s\t%-15s" % (_('network'), + print "%-5s\t%-18s\t%-15s\t%-15s\t%-15s" % (_('id'), + _('network'), _('netmask'), _('start address'), 'DNS') for network in db.network_get_all(context.get_admin_context()): - print "%-18s\t%-15s\t%-15s\t%-15s" % (network.cidr, + print "%-5s\t%-18s\t%-15s\t%-15s\t%-15s" % (network.id, + network.cidr, network.netmask, network.dhcp_start, network.dns) -- cgit From 038565bdc735ff7a227a39d2ee21df0e8194929b Mon Sep 17 00:00:00 2001 From: Tushar Patil Date: Tue, 19 Jul 2011 18:24:44 -0700 Subject: Modified alias ^Cd minor fixes --- bin/nova-manage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 47bf81008..7c2dd4d6d 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -621,7 +621,7 @@ class NetworkCommands(object): def list(self): """List all created networks""" - print "%-5s\%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (_('id'), + print "%-5s\t%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (_('id'), _('network'), _('netmask'), _('start address'), -- cgit From 9081e8b62ea01828238ecaebdcf3e627ada3fe9a Mon Sep 17 00:00:00 2001 From: Tushar Patil Date: Tue, 16 Aug 2011 16:04:18 -0700 Subject: Added uuid for networks and made changes to the Create server API format to accept network as uuid instead of id --- bin/nova-manage | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 41433f1d6..9592d5132 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -760,25 +760,26 @@ class NetworkCommands(object): def list(self): """List all created networks""" - print "%-5s\t%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( - _('id'), - _('IPv4'), - _('IPv6'), - _('start address'), - _('DNS1'), - _('DNS2'), - _('VlanID'), - 'project') + _fmt = "%-5s\t%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" + print _fmt % (_('id'), + _('IPv4'), + _('IPv6'), + _('start address'), + _('DNS1'), + _('DNS2'), + _('VlanID'), + _('project'), + _("uuid")) for network in db.network_get_all(context.get_admin_context()): - print "%-5s\t%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( - network.id, - network.cidr, - network.cidr_v6, - network.dhcp_start, - network.dns1, - network.dns2, - network.vlan, - network.project_id) + print _fmt % (network.id, + network.cidr, + network.cidr_v6, + network.dhcp_start, + network.dns1, + network.dns2, + network.vlan, + network.project_id, + network.uuid) @args('--network', dest="fixed_range", metavar='', help='Network to delete') -- cgit From 90650e5becb541790a8949edebaf0bff0ceb8f5b Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 17 Aug 2011 19:31:01 -0700 Subject: make admin context the default, clean up pipelib --- bin/nova-manage | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 8e6419c0b..7474b61cb 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -134,7 +134,7 @@ class VpnCommands(object): help='Project name') def list(self, project=None): """Print a listing of the VPN data for one or all projects.""" - + print "WARNING: This method only works with deprecated auth" print "%-12s\t" % 'project', print "%-20s\t" % 'ip:port', print "%-20s\t" % 'private_ip', @@ -170,17 +170,22 @@ class VpnCommands(object): def spawn(self): """Run all VPNs.""" + print "WARNING: This method only works with deprecated auth" for p in reversed(self.manager.get_projects()): if not self._vpn_for(p.id): print 'spawning %s' % p.id - self.pipe.launch_vpn_instance(p.id) + self.pipe.launch_vpn_instance(p.id, p.project_manager_id) time.sleep(10) @args('--project', dest="project_id", metavar='', help='Project name') - def run(self, project_id): - """Start the VPN for a given project.""" - self.pipe.launch_vpn_instance(project_id) + @args('--user', dest="user_id", metavar='', help='User name') + def run(self, project_id, user_id): + """Start the VPN for a given project and user.""" + if not user_id: + print "WARNING: This method only works with deprecated auth" + user_id = self.manager.get_project(project_id).project_manager_id + self.pipe.launch_vpn_instance(project_id, user_id) @args('--project', dest="project_id", metavar='', help='Project name') @@ -195,10 +200,6 @@ class VpnCommands(object): """ # TODO(tr3buchet): perhaps this shouldn't update all networks # associated with a project in the future - project = self.manager.get_project(project_id) - if not project: - print 'No project %s' % (project_id) - return admin_context = context.get_admin_context() networks = db.project_get_networks(admin_context, project_id) for network in networks: -- cgit From c06bbe99734f2fea35cfb4bdd854814c9119b617 Mon Sep 17 00:00:00 2001 From: Nachi Ueno Date: Fri, 19 Aug 2011 12:30:55 -0700 Subject: Added monkey patching notification code function w --- bin/nova-api | 2 +- bin/nova-compute | 1 + bin/nova-network | 1 + bin/nova-objectstore | 1 + bin/nova-scheduler | 1 + 5 files changed, 5 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/nova-api b/bin/nova-api index fe8e83366..4edf77c7f 100755 --- a/bin/nova-api +++ b/bin/nova-api @@ -45,7 +45,7 @@ FLAGS = flags.FLAGS def main(): """Launch EC2 and OSAPI services.""" nova.utils.Bootstrapper.bootstrap_binary(sys.argv) - + nova.utils.monkey_patch() launcher = nova.service.Launcher() for api in FLAGS.enabled_apis: diff --git a/bin/nova-compute b/bin/nova-compute index cd7c78def..1de53c075 100755 --- a/bin/nova-compute +++ b/bin/nova-compute @@ -45,5 +45,6 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() service.serve() service.wait() diff --git a/bin/nova-network b/bin/nova-network index 101761ef7..5b66b8f2b 100755 --- a/bin/nova-network +++ b/bin/nova-network @@ -45,5 +45,6 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() service.serve() service.wait() diff --git a/bin/nova-objectstore b/bin/nova-objectstore index 4d5aec445..c2860f534 100755 --- a/bin/nova-objectstore +++ b/bin/nova-objectstore @@ -49,6 +49,7 @@ if __name__ == '__main__': utils.default_flagfile() FLAGS(sys.argv) logging.setup() + utils.monkey_patch() router = s3server.S3Application(FLAGS.buckets_path) server = wsgi.Server("S3 Objectstore", router, diff --git a/bin/nova-scheduler b/bin/nova-scheduler index 0c205a80f..ae3db51bc 100755 --- a/bin/nova-scheduler +++ b/bin/nova-scheduler @@ -45,5 +45,6 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() service.serve() service.wait() -- cgit From 46ba1b111bfff27edcb963bc43869f26b02d569a Mon Sep 17 00:00:00 2001 From: Nachi Ueno Date: Fri, 19 Aug 2011 13:31:54 -0700 Subject: Fixed mistake on mergew --- bin/nova-scheduler | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/nova-scheduler b/bin/nova-scheduler index ae3db51bc..c1033a304 100755 --- a/bin/nova-scheduler +++ b/bin/nova-scheduler @@ -46,5 +46,6 @@ if __name__ == '__main__': flags.FLAGS(sys.argv) logging.setup() utils.monkey_patch() - service.serve() + server = service.Service.create(binary='nova-scheduler') + service.serve(server) service.wait() -- cgit From 9508bb599c15035f7afbdc80fe70d539e8598edf Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Mon, 22 Aug 2011 08:59:35 -0700 Subject: Add 'nova-manage network modify' command. --- bin/nova-manage | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 62504f827..0a8edb9f3 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.""" -- cgit From f05da72e28fac1bfc7f208ce57d4462a53f290f2 Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Mon, 22 Aug 2011 11:50:44 -0700 Subject: Fix pep8 --- bin/nova-manage | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 0a8edb9f3..736e55653 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -812,7 +812,10 @@ class NetworkCommands(object): 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) + 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": -- cgit From 77f15157c5ca7013df397abc22a8866cce02976d Mon Sep 17 00:00:00 2001 From: Alex Meade Date: Mon, 22 Aug 2011 17:08:11 -0400 Subject: Ensure that reserve and unreserve exit when an address is not found --- bin/nova-manage | 2 ++ 1 file changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 8e6419c0b..3d9a40afb 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -611,6 +611,8 @@ class FixedIpCommands(object): try: fixed_ip = db.fixed_ip_get_by_address(ctxt, address) + if fixed_ip is None: + raise exception.NotFound('Could not find address') db.fixed_ip_update(ctxt, fixed_ip['address'], {'reserved': reserved}) except exception.NotFound as ex: -- cgit From 0d0c8dfbf29b47aa13e18dd8861bad6ccb10cf12 Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Mon, 22 Aug 2011 16:46:29 -0700 Subject: Change parameters of 'nova-manage network modify'. Move common test codes into private method. --- bin/nova-manage | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 736e55653..349a53a5c 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -798,32 +798,34 @@ class NetworkCommands(object): @args('--network', dest="fixed_range", metavar='', help='Network to modify') @args('--project', dest="project", metavar='', - help='Project name to associate/disasscociate') + help='Project name to associate') @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 + 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 - 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: + 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) + elif dis_project: db.network_disassociate(admin_context, network_id=network['id']) - if host != "None": - if host: - db.network_set_host(admin_context, - network['id'], - host) - else: + if host: + db.network_set_host(admin_context, + network['id'], + host) + elif dis_host: db.network_set_host(admin_context, network['id'], None) -- cgit From 8cd7dcca1ccac0347289d633ebd10567d6cba4c7 Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Tue, 23 Aug 2011 15:06:24 -0700 Subject: Stub out the DB in unit test. Fix 'nova-manage network modify' to use db.network_update() --- bin/nova-manage | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index 349a53a5c..b0322eb11 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -813,22 +813,16 @@ class NetworkCommands(object): """ admin_context = context.get_admin_context() network = db.network_get_by_cidr(admin_context, fixed_range) + net = {} 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) + net['project_id'] = project elif dis_project: - db.network_disassociate(admin_context, network_id=network['id']) + net['project_id'] = None if host: - db.network_set_host(admin_context, - network['id'], - host) + net['host'] = host elif dis_host: - db.network_set_host(admin_context, - network['id'], - None) + net['host'] = None + db.network_update(admin_context, network['id'], net) class VmCommands(object): -- cgit From 88a2dfb582eec7b4c7547c2aa51f3b661a3b9c5d Mon Sep 17 00:00:00 2001 From: Hisaharu Ishii Date: Wed, 24 Aug 2011 14:01:33 -0700 Subject: Add comments for associate/dissociate logic --- bin/nova-manage | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/nova-manage b/bin/nova-manage index eae9e905c..890cde0b8 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -817,6 +817,10 @@ class NetworkCommands(object): 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: -- cgit