diff options
| author | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-08-26 16:16:17 -0700 |
|---|---|---|
| committer | Vishvananda Ishaya <vishvananda@gmail.com> | 2011-08-26 16:16:17 -0700 |
| commit | aaec0f17abccf0b6d842b21d5c6e34fb972afa2c (patch) | |
| tree | 0e8563dd271e6cd5d9f1f46fc4c1e0c6bf1a110b /bin | |
| parent | de0a17310e7228aa96263243851a89fb016f9730 (diff) | |
| parent | 847d6aecb64d7abece4d4f426f26a9561ffb1e51 (diff) | |
merged trunk
Diffstat (limited to 'bin')
| -rwxr-xr-x | bin/nova-api | 1 | ||||
| -rwxr-xr-x | bin/nova-api-ec2 | 1 | ||||
| -rwxr-xr-x | bin/nova-api-os | 1 | ||||
| -rwxr-xr-x | bin/nova-compute | 1 | ||||
| -rwxr-xr-x | bin/nova-manage | 89 | ||||
| -rwxr-xr-x | bin/nova-network | 1 | ||||
| -rwxr-xr-x | bin/nova-objectstore | 1 | ||||
| -rwxr-xr-x | bin/nova-scheduler | 3 | ||||
| -rwxr-xr-x | bin/nova-volume | 1 |
9 files changed, 74 insertions, 25 deletions
diff --git a/bin/nova-api b/bin/nova-api index 38e2624d8..d8635978e 100755 --- a/bin/nova-api +++ b/bin/nova-api @@ -45,6 +45,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() servers = [] for api in flags.FLAGS.enabled_apis: servers.append(service.WSGIService(api)) diff --git a/bin/nova-api-ec2 b/bin/nova-api-ec2 index df50f713d..9f82a69e4 100755 --- a/bin/nova-api-ec2 +++ b/bin/nova-api-ec2 @@ -41,6 +41,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.WSGIService('ec2') service.serve(server) service.wait() diff --git a/bin/nova-api-os b/bin/nova-api-os index 374e850ea..83a808987 100755 --- a/bin/nova-api-os +++ b/bin/nova-api-os @@ -41,6 +41,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.WSGIService('osapi') service.serve(server) service.wait() diff --git a/bin/nova-compute b/bin/nova-compute index 5239fae72..0c69a8129 100755 --- a/bin/nova-compute +++ b/bin/nova-compute @@ -43,6 +43,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.Service.create(binary='nova-compute') service.serve(server) service.wait() diff --git a/bin/nova-manage b/bin/nova-manage index 8e6419c0b..890cde0b8 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='<Project name>', 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='<user name>', 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='<Project name>', 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: @@ -611,6 +612,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: @@ -763,23 +766,26 @@ class NetworkCommands(object): def list(self): """List all created networks""" - print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( - _('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 "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % ( - 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='<x.x.x.x/yy>', help='Network to delete') @@ -792,6 +798,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.""" diff --git a/bin/nova-network b/bin/nova-network index 57759d30a..0f1482515 100755 --- a/bin/nova-network +++ b/bin/nova-network @@ -43,6 +43,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.Service.create(binary='nova-network') service.serve(server) service.wait() diff --git a/bin/nova-objectstore b/bin/nova-objectstore index c7a76e120..757301c24 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 2e168cbc6..c1033a304 100755 --- a/bin/nova-scheduler +++ b/bin/nova-scheduler @@ -22,6 +22,7 @@ import eventlet eventlet.monkey_patch() +import gettext import os import sys @@ -33,6 +34,7 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]), if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')): sys.path.insert(0, possible_topdir) +gettext.install('nova', unicode=1) from nova import flags from nova import log as logging @@ -43,6 +45,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.Service.create(binary='nova-scheduler') service.serve(server) service.wait() diff --git a/bin/nova-volume b/bin/nova-volume index 5405aebbb..8caa0f44a 100755 --- a/bin/nova-volume +++ b/bin/nova-volume @@ -43,6 +43,7 @@ if __name__ == '__main__': utils.default_flagfile() flags.FLAGS(sys.argv) logging.setup() + utils.monkey_patch() server = service.Service.create(binary='nova-volume') service.serve(server) service.wait() |
