summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorAnthony Young <sleepsonthefloor@gmail.com>2010-12-22 12:36:37 -0800
committerAnthony Young <sleepsonthefloor@gmail.com>2010-12-22 12:36:37 -0800
commit19f389b3dcc89f0115dc6fc1a6ca606338ad866a (patch)
treeea98bffe24f8e2ececcbf8432f51d31c895f05e7 /nova/api
parentf98bb2b2dee4a0ff67a6548646a852686092c53f (diff)
working connection security
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index e4ef552b0..b3aa83398 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -452,7 +452,11 @@ class CloudController(object):
"output": base64.b64encode(output)}
def get_ajax_console(self, context, instance_id, **kwargs):
- """Create an AJAX Console"""
+ """Get an AJAX Console
+
+ In order for this to work properly, a ttyS0 must be configured
+ in the instance
+ """
ec2_id = instance_id[0]
internal_id = ec2_id_to_internal_id(ec2_id)
@@ -461,14 +465,17 @@ class CloudController(object):
output = rpc.call(context,
'%s.%s' % (FLAGS.compute_topic,
instance_ref['host']),
- {"method": "get_ajax_console",
- "args": {"instance_id": instance_ref['id']}})
+ {'method': 'get_ajax_console',
+ 'args': {'instance_id': instance_ref['id']}})
- rpc.cast(context, '%s' % FLAGS.ajax_proxy_topic,
- {"method": "authorize",
- "args": {"token": "token", "host": "host", "port":8000}})
+ # TODO: make this a call
+ 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": output }
+ return {'url': '%s?token=%s' % (FLAGS.ajax_console_proxy_url,
+ output['token'])}
def describe_volumes(self, context, volume_id=None, **kwargs):
if context.user.is_admin():