summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@yahoo.com>2010-10-25 01:37:01 -0700
committerVishvananda Ishaya <vishvananda@yahoo.com>2010-10-25 01:37:01 -0700
commitbde0d8d0f0e864d5b5d0f87e55ab23839846f71e (patch)
treee75b65b75cfa6db5633259f194e3ce15e2cb41ff /nova/api
parent3e2715b21a51c10451e6275e649385f0a846b033 (diff)
fix bugs, describe volumes, detach on terminate
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 784697b01..a1899c47f 100644
--- a/nova/api/ec2/cloud.py
+++ b/nova/api/ec2/cloud.py
@@ -463,24 +463,31 @@ class CloudController(object):
return {'volumeSet': volumes}
def _format_volume(self, context, volume):
+ instance_ec2_id = None
+ instance_data = None
+ if volume.get('instance', None):
+ internal_id = volume['instance']['internal_id']
+ ec2_id = internal_id_to_ec2_id(internal_id)
+ instance_data = '%s[%s]' % (instance_ec2_id,
+ volume['instance']['host'])
v = {}
v['volumeId'] = volume['ec2_id']
v['status'] = volume['status']
v['size'] = volume['size']
v['availabilityZone'] = volume['availability_zone']
v['createTime'] = volume['created_at']
- if context.user.is_admin():
+ if context.is_admin:
v['status'] = '%s (%s, %s, %s, %s)' % (
volume['status'],
volume['user_id'],
volume['host'],
- volume['instance_id'],
+ instance_data,
volume['mountpoint'])
if volume['attach_status'] == 'attached':
v['attachmentSet'] = [{'attachTime': volume['attach_time'],
'deleteOnTermination': False,
'device': volume['mountpoint'],
- 'instanceId': volume['instance_id'],
+ 'instanceId': instance_ec2_id,
'status': 'attached',
'volume_id': volume['ec2_id']}]
else: