summaryrefslogtreecommitdiffstats
path: root/nova/console
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-06-07 18:55:34 +0000
committerGerrit Code Review <review@openstack.org>2012-06-07 18:55:34 +0000
commit089300fd4bcecaacd2ea3fa345a1b6b2c5b2ab61 (patch)
tree7b0a479a21f587762b6ca6814f3c68de9da61c75 /nova/console
parent7bf79a132b1826bc29b1c15ebfc7356c14f42515 (diff)
parentfe5706cb973e1cddecdeed9580fc9d9bbdc848fd (diff)
downloadnova-089300fd4bcecaacd2ea3fa345a1b6b2c5b2ab61.tar.gz
nova-089300fd4bcecaacd2ea3fa345a1b6b2c5b2ab61.tar.xz
nova-089300fd4bcecaacd2ea3fa345a1b6b2c5b2ab61.zip
Merge "Convert consoles to use instance uuid."
Diffstat (limited to 'nova/console')
-rw-r--r--nova/console/api.py40
-rw-r--r--nova/console/manager.py7
-rw-r--r--nova/console/vmrc_manager.py2
3 files changed, 25 insertions, 24 deletions
diff --git a/nova/console/api.py b/nova/console/api.py
index fa0836d44..46718a49e 100644
--- a/nova/console/api.py
+++ b/nova/console/api.py
@@ -34,29 +34,29 @@ class API(base.Base):
def __init__(self, **kwargs):
super(API, self).__init__(**kwargs)
- def get_consoles(self, context, instance_id):
- instance_id = self._translate_uuid_if_necessary(context, instance_id)
- return self.db.console_get_all_by_instance(context, instance_id)
+ def get_consoles(self, context, instance_uuid):
+ instance_id = self._translate_uuid_if_necessary(context, instance_uuid)
+ return self.db.console_get_all_by_instance(context, instance_uuid)
- def get_console(self, context, instance_id, console_id):
- instance_id = self._translate_uuid_if_necessary(context, instance_id)
- return self.db.console_get(context, console_id, instance_id)
+ def get_console(self, context, instance_id, console_uuid):
+ instance_id = self._translate_uuid_if_necessary(context, instance_uuid)
+ return self.db.console_get(context, console_id, instance_uuid)
- def delete_console(self, context, instance_id, console_id):
- instance_id = self._translate_uuid_if_necessary(context, instance_id)
- console = self.db.console_get(context, console_id, instance_id)
+ def delete_console(self, context, instance_id, console_uuid):
+ instance_id = self._translate_uuid_if_necessary(context, instance_uuid)
+ console = self.db.console_get(context, console_id, instance_uuid)
topic = rpc.queue_get_for(context, FLAGS.console_topic,
pool['host'])
rpcapi = console_rpcapi.ConsoleAPI(topic=topic)
rpcapi.remove_console(context, console['id'])
- def create_console(self, context, instance_id):
+ def create_console(self, context, instance_uuid):
#NOTE(mdragon): If we wanted to return this the console info
# here, as we would need to do a call.
# They can just do an index later to fetch
# console info. I am not sure which is better
# here.
- instance = self._get_instance(context, instance_id)
+ instance = self._get_instance(context, instance_uuid)
topic = self._get_console_topic(context, instance['host']),
rpcapi = console_rpcapi.ConsoleAPI(topic=topic)
rpcapi.add_console(context, instance['id'])
@@ -65,15 +65,15 @@ class API(base.Base):
rpcapi = compute_rpcapi.ComputeAPI()
return rpcapi.get_console_topic(context, instance_host)
- def _translate_uuid_if_necessary(self, context, instance_id):
- if utils.is_uuid_like(instance_id):
- instance = self.db.instance_get_by_uuid(context, instance_id)
- instance_id = instance['id']
- return instance_id
+ def _translate_id_if_necessary(self, context, instance_uuid):
+ if not utils.is_uuid_like(instance_uuid):
+ instance = self.db.instance_get(context, instance_uuid)
+ instance_uuid = instance['uuid']
+ return instance_uuid
- def _get_instance(self, context, instance_id):
- if utils.is_uuid_like(instance_id):
- instance = self.db.instance_get_by_uuid(context, instance_id)
+ def _get_instance(self, context, instance_uuid):
+ if utils.is_uuid_like(instance_uuid):
+ instance = self.db.instance_get_by_uuid(context, instance_uuid)
else:
- instance = self.db.instance_get(context, instance_id)
+ instance = self.db.instance_get(context, instance_uuid)
return instance
diff --git a/nova/console/manager.py b/nova/console/manager.py
index cc2c71d41..bc5894290 100644
--- a/nova/console/manager.py
+++ b/nova/console/manager.py
@@ -75,8 +75,8 @@ class ConsoleProxyManager(manager.Manager):
pool = self.get_pool_for_instance_host(context, host)
try:
console = self.db.console_get_by_pool_instance(context,
- pool['id'],
- instance_id)
+ pool['id'],
+ instance['uuid'])
except exception.NotFound:
LOG.debug(_('Adding console'), instance=instance)
if not password:
@@ -84,13 +84,14 @@ class ConsoleProxyManager(manager.Manager):
if not port:
port = self.driver.get_port(context)
console_data = {'instance_name': name,
- 'instance_id': instance_id,
+ 'instance_uuid': instance['uuid'],
'password': password,
'pool_id': pool['id']}
if port:
console_data['port'] = port
console = self.db.console_create(context, console_data)
self.driver.setup_console(context, console)
+
return console['id']
@exception.wrap_exception()
diff --git a/nova/console/vmrc_manager.py b/nova/console/vmrc_manager.py
index 996ed2afd..cb6fd51ad 100644
--- a/nova/console/vmrc_manager.py
+++ b/nova/console/vmrc_manager.py
@@ -99,7 +99,7 @@ class ConsoleVMRCManager(manager.Manager):
try:
console = self.db.console_get_by_pool_instance(context,
pool['id'],
- instance_id)
+ instance['uuid'])
if self.driver.is_otp():
console = self._generate_console(context,
pool,