summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-01-14 20:14:32 +0000
committerTarmac <>2011-01-14 20:14:32 +0000
commit34ceed1ce114ab01eca06eced00a204ae71dc3db (patch)
tree51f06d449ccab1d05b56ef9df30941be4ecda906
parentbeec23614e0a268d01341ab2c06c5718161f2d80 (diff)
parentd0713a6a2149274eeeef6fd22e7da4706a8190ec (diff)
downloadnova-34ceed1ce114ab01eca06eced00a204ae71dc3db.tar.gz
nova-34ceed1ce114ab01eca06eced00a204ae71dc3db.tar.xz
nova-34ceed1ce114ab01eca06eced00a204ae71dc3db.zip
This branch fixes two outstanding bugs in compute. It also fixes a bad method signature in network and removes an unused method in cloud.
-rw-r--r--nova/api/ec2/cloud.py18
-rw-r--r--nova/compute/api.py19
-rw-r--r--nova/network/manager.py4
3 files changed, 13 insertions, 28 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 630aaeaf2..fb7e6a59f 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -37,7 +37,6 @@ from nova import exception
from nova import flags
from nova import log as logging
from nova import network
-from nova import rpc
from nova import utils
from nova import volume
from nova.compute import instance_types
@@ -130,15 +129,6 @@ class CloudController(object):
result[key] = [line]
return result
- def _trigger_refresh_security_group(self, context, security_group):
- nodes = set([instance['host'] for instance in security_group.instances
- if instance['host'] is not None])
- for node in nodes:
- rpc.cast(context,
- '%s.%s' % (FLAGS.compute_topic, node),
- {"method": "refresh_security_group",
- "args": {"security_group_id": security_group.id}})
-
def _get_availability_zone_by_host(self, context, host):
services = db.service_get_all_by_host(context, host)
if len(services) > 0:
@@ -522,13 +512,7 @@ class CloudController(object):
# instance_id is passed in as a list of instances
ec2_id = instance_id[0]
instance_id = ec2_id_to_id(ec2_id)
- instance_ref = self.compute_api.get(context, instance_id)
- output = rpc.call(context,
- '%s.%s' % (FLAGS.compute_topic,
- instance_ref['host']),
- {"method": "get_console_output",
- "args": {"instance_id": instance_ref['id']}})
-
+ output = self.compute_api.get_console_output(context, instance_id)
now = datetime.datetime.utcnow()
return {"InstanceId": ec2_id,
"Timestamp": now,
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 40b9e33e8..791cd9d1f 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -21,6 +21,7 @@ Handles all requests relating to instances (guest vms).
"""
import datetime
+import re
import time
from nova import db
@@ -397,23 +398,23 @@ class API(base.Base):
def get_ajax_console(self, context, instance_id):
"""Get a url to an AJAX Console"""
-
instance = self.get(context, instance_id)
-
- output = rpc.call(context,
- '%s.%s' % (FLAGS.compute_topic,
- instance['host']),
- {'method': 'get_ajax_console',
- 'args': {'instance_id': instance['id']}})
-
+ output = self._call_compute_message('get_ajax_console',
+ context,
+ instance_id)
rpc.cast(context, '%s' % FLAGS.ajax_console_proxy_topic,
{'method': 'authorize_ajax_console',
'args': {'token': output['token'], 'host': output['host'],
'port': output['port']}})
-
return {'url': '%s?token=%s' % (FLAGS.ajax_console_proxy_url,
output['token'])}
+ def get_console_output(self, context, instance_id):
+ """Get console output for an an instance"""
+ return self._call_compute_message('get_console_output',
+ context,
+ instance_id)
+
def lock(self, context, instance_id):
"""lock the instance with instance_id"""
self._cast_compute_message('lock_instance', context, instance_id)
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 4d553f074..a92bd3f99 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -239,8 +239,8 @@ class NetworkManager(manager.Manager):
"""Get the network host for the current context."""
raise NotImplementedError()
- def create_networks(self, context, num_networks, network_size, cidr_v6,
- *args, **kwargs):
+ def create_networks(self, context, cidr, num_networks, network_size,
+ cidr_v6, *args, **kwargs):
"""Create networks based on parameters."""
raise NotImplementedError()