diff options
| author | Mike Scherbakov <mihgen@gmail.com> | 2011-07-13 21:06:48 +0000 |
|---|---|---|
| committer | Tarmac <> | 2011-07-13 21:06:48 +0000 |
| commit | fa2cdbc5d4201ace6c1a6459bbd653b0b63b7667 (patch) | |
| tree | 79aca0693f64acb27ff2f9bbbe4009a54038aa52 | |
| parent | 303f5467a13b8a5a61a2d6ee460538b3bd28fbb8 (diff) | |
| parent | 915c7d52fa1b2afe6af9686210982d5bc043be97 (diff) | |
| download | nova-fa2cdbc5d4201ace6c1a6459bbd653b0b63b7667.tar.gz nova-fa2cdbc5d4201ace6c1a6459bbd653b0b63b7667.tar.xz nova-fa2cdbc5d4201ace6c1a6459bbd653b0b63b7667.zip | |
Improvements to nova-manage:
1. nova-manage network list now shows what belongs to what project, and what's the vlan id, simplifying management in case of several networks/projects
2. nova-manage server list [zone] - shows servers. Useful if you have many servers and want to list them in particular zone, instead of grep'ing nova-manage service list.
| -rwxr-xr-x | bin/nova-manage | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/bin/nova-manage b/bin/nova-manage index 7dfe91698..94ab22092 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -615,15 +615,19 @@ class NetworkCommands(object): def list(self): """List all created networks""" - print "%-18s\t%-15s\t%-15s\t%-15s" % (_('network'), - _('netmask'), - _('start address'), - 'DNS') + print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (_('network'), + _('netmask'), + _('start address'), + _('DNS'), + _('VlanID'), + 'project') for network in db.network_get_all(context.get_admin_context()): - print "%-18s\t%-15s\t%-15s\t%-15s" % (network.cidr, - network.netmask, - network.dhcp_start, - network.dns) + print "%-18s\t%-15s\t%-15s\t%-15s\t%-15s\t%-15s" % (network.cidr, + network.netmask, + network.dhcp_start, + network.dns, + network.vlan, + network.project_id) def delete(self, fixed_range): """Deletes a network""" @@ -812,6 +816,28 @@ class ServiceCommands(object): {"method": "update_available_resource"}) +class HostCommands(object): + """List hosts""" + + def list(self, zone=None): + """Show a list of all physical hosts. Filter by zone. + args: [zone]""" + print "%-25s\t%-15s" % (_('host'), + _('zone')) + ctxt = context.get_admin_context() + now = utils.utcnow() + services = db.service_get_all(ctxt) + if zone: + services = [s for s in services if s['availability_zone'] == zone] + hosts = [] + for srv in services: + if not [h for h in hosts if h['host'] == srv['host']]: + hosts.append(srv) + + for h in hosts: + print "%-25s\t%-15s" % (h['host'], h['availability_zone']) + + class DbCommands(object): """Class for managing the database.""" @@ -1185,6 +1211,7 @@ CATEGORIES = [ ('fixed', FixedIpCommands), ('flavor', InstanceTypeCommands), ('floating', FloatingIpCommands), + ('host', HostCommands), ('instance_type', InstanceTypeCommands), ('image', ImageCommands), ('network', NetworkCommands), |
