summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorChuck Short <zulcss@ubuntu.com>2011-09-09 20:48:53 -0400
committerChuck Short <zulcss@ubuntu.com>2011-09-09 20:48:53 -0400
commit965e510e7c3d66efd8d806418ca6a5c2f1c5b94e (patch)
treec2c9594f2168bdf2d99bc7b2bd81ce6455f363b2 /bin
parentc3cb1d38ca4a6f3308503c79e13e3e8688143163 (diff)
parent717f73909ac6ec71b9a9b0234585c862d909d2a0 (diff)
Merge trunk
Diffstat (limited to 'bin')
-rwxr-xr-xbin/instance-usage-audit5
-rwxr-xr-xbin/nova-ajax-console-proxy12
-rwxr-xr-xbin/nova-manage47
3 files changed, 43 insertions, 21 deletions
diff --git a/bin/instance-usage-audit b/bin/instance-usage-audit
index a06c6b1b3..7ce5732e7 100755
--- a/bin/instance-usage-audit
+++ b/bin/instance-usage-audit
@@ -102,9 +102,8 @@ if __name__ == '__main__':
logging.setup()
begin, end = time_period(FLAGS.instance_usage_audit_period)
print "Creating usages for %s until %s" % (str(begin), str(end))
- instances = db.instance_get_active_by_window(context.get_admin_context(),
- begin,
- end)
+ ctxt = context.get_admin_context()
+ instances = db.instance_get_active_by_window_joined(ctxt, begin, end)
print "%s instances" % len(instances)
for instance_ref in instances:
usage_info = utils.usage_from_instance(instance_ref,
diff --git a/bin/nova-ajax-console-proxy b/bin/nova-ajax-console-proxy
index 0a789b4b9..23fb42fb5 100755
--- a/bin/nova-ajax-console-proxy
+++ b/bin/nova-ajax-console-proxy
@@ -113,11 +113,10 @@ class AjaxConsoleProxy(object):
AjaxConsoleProxy.tokens[kwargs['token']] = \
{'args': kwargs, 'last_activity': time.time()}
- conn = rpc.create_connection(new=True)
- consumer = rpc.create_consumer(
- conn,
- FLAGS.ajax_console_proxy_topic,
- TopicProxy)
+ self.conn = rpc.create_connection(new=True)
+ self.conn.create_consumer(
+ FLAGS.ajax_console_proxy_topic,
+ TopicProxy)
def delete_expired_tokens():
now = time.time()
@@ -129,7 +128,7 @@ class AjaxConsoleProxy(object):
for k in to_delete:
del AjaxConsoleProxy.tokens[k]
- utils.LoopingCall(consumer.fetch, enable_callbacks=True).start(0.1)
+ self.conn.consume_in_thread()
utils.LoopingCall(delete_expired_tokens).start(1)
if __name__ == '__main__':
@@ -142,3 +141,4 @@ if __name__ == '__main__':
server = wsgi.Server("AJAX Console Proxy", acp, port=acp_port)
service.serve(server)
service.wait()
+ self.conn.close()
diff --git a/bin/nova-manage b/bin/nova-manage
index c9cf4266d..bc191b2f0 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -59,11 +59,11 @@ import glob
import json
import math
import netaddr
+from optparse import OptionParser
import os
import sys
import time
-from optparse import OptionParser
# If ../nova/__init__.py exists, add ../ to Python search path, so that
# it will override what happens to be installed in /usr/(local/)lib/python...
@@ -166,7 +166,7 @@ class VpnCommands(object):
print address,
print vpn['host'],
print ec2utils.id_to_ec2_id(vpn['id']),
- print vpn['state_description'],
+ print vpn['vm_state'],
print state
else:
print None
@@ -685,10 +685,17 @@ class NetworkCommands(object):
help='Multi host')
@args('--dns1', dest="dns1", metavar="<DNS Address>", help='First DNS')
@args('--dns2', dest="dns2", metavar="<DNS Address>", help='Second DNS')
+ @args('--uuid', dest="net_uuid", metavar="<network uuid>",
+ help='Network UUID')
+ @args('--project_id', dest="project_id", metavar="<project id>",
+ help='Project id')
+ @args('--priority', dest="priority", metavar="<number>",
+ help='Network interface priority')
def create(self, label=None, fixed_range_v4=None, num_networks=None,
network_size=None, multi_host=None, vlan_start=None,
vpn_start=None, fixed_range_v6=None, gateway_v6=None,
- bridge=None, bridge_interface=None, dns1=None, dns2=None):
+ bridge=None, bridge_interface=None, dns1=None, dns2=None,
+ project_id=None, priority=None, uuid=None):
"""Creates fixed ips for host by range"""
# check for certain required inputs
@@ -765,7 +772,10 @@ class NetworkCommands(object):
bridge=bridge,
bridge_interface=bridge_interface,
dns1=dns1,
- dns2=dns2)
+ dns2=dns2,
+ project_id=project_id,
+ priority=priority,
+ uuid=uuid)
def list(self):
"""List all created networks"""
@@ -790,16 +800,29 @@ class NetworkCommands(object):
network.project_id,
network.uuid)
+ def quantum_list(self):
+ """List all created networks with Quantum-relevant fields"""
+ _fmt = "%-32s\t%-10s\t%-10s\t%s , %s"
+ print _fmt % (_('uuid'),
+ _('project'),
+ _('priority'),
+ _('cidr_v4'),
+ _('cidr_v6'))
+ for network in db.network_get_all(context.get_admin_context()):
+ print _fmt % (network.uuid,
+ network.project_id,
+ network.priority,
+ network.cidr,
+ network.cidr_v6)
+
@args('--network', dest="fixed_range", metavar='<x.x.x.x/yy>',
help='Network to delete')
def delete(self, fixed_range):
"""Deletes a network"""
- network = db.network_get_by_cidr(context.get_admin_context(), \
- fixed_range)
- if network.project_id is not None:
- raise ValueError(_('Network must be disassociated from project %s'
- ' before delete' % network.project_id))
- db.network_delete_safe(context.get_admin_context(), network.id)
+
+ # delete the network
+ net_manager = utils.import_object(FLAGS.network_manager)
+ net_manager.delete_network(context.get_admin_context(), fixed_range)
@args('--network', dest="fixed_range", metavar='<x.x.x.x/yy>',
help='Network to modify')
@@ -869,7 +892,7 @@ class VmCommands(object):
instance['hostname'],
instance['host'],
instance['instance_type'].name,
- instance['state_description'],
+ instance['vm_state'],
instance['launched_at'],
instance['image_ref'],
instance['kernel_id'],
@@ -1223,7 +1246,7 @@ class VsaCommands(object):
type=vc['instance_type']['name'],
fl_ip=floating_addr,
fx_ip=fixed_addr,
- stat=vc['state_description'],
+ stat=vc['vm_state'],
host=vc['host'],
time=str(vc['created_at']))