diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-10-04 17:27:57 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-10-04 17:27:57 +0000 |
| commit | df22ef9c0f45fe29353d8bbc020f488cfe9314ce (patch) | |
| tree | f10366fc3ee937f8516a84b2ce1836505093b705 | |
| parent | 5ca55f5578a0df03533f1d6958e5d6d2bb9c4410 (diff) | |
| parent | ee2dd66c9c2350d9c4aa4ae535daed7e8d72dfb3 (diff) | |
| download | nova-df22ef9c0f45fe29353d8bbc020f488cfe9314ce.tar.gz nova-df22ef9c0f45fe29353d8bbc020f488cfe9314ce.tar.xz nova-df22ef9c0f45fe29353d8bbc020f488cfe9314ce.zip | |
Merge "Updated code to update attach_time of a volume while detaching"
| -rw-r--r-- | nova/api/ec2/cloud.py | 2 | ||||
| -rw-r--r-- | nova/db/sqlalchemy/api.py | 1 | ||||
| -rw-r--r-- | nova/tests/api/ec2/test_cloud.py | 2 | ||||
| -rw-r--r-- | nova/tests/test_volume.py | 2 |
4 files changed, 6 insertions, 1 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index a27057aa7..aa7e880df 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -987,7 +987,7 @@ class CloudController(object): # TODO(yamahata): volume attach time ebs = {'volumeId': volume_id, 'deleteOnTermination': bdm['delete_on_termination'], - 'attachTime': vol['attach_time'] or '-', + 'attachTime': vol['attach_time'] or '', 'status': vol['status'], } res = {'deviceName': bdm['device_name'], 'ebs': ebs, } diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index dbf8a38e3..5e38d6e14 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -2981,6 +2981,7 @@ def volume_detached(context, volume_id): volume_ref['mountpoint'] = None volume_ref['attach_status'] = 'detached' volume_ref['instance_uuid'] = None + volume_ref['attach_time'] = None volume_ref.save(session=session) diff --git a/nova/tests/api/ec2/test_cloud.py b/nova/tests/api/ec2/test_cloud.py index 3d7b29fc4..29f68328e 100644 --- a/nova/tests/api/ec2/test_cloud.py +++ b/nova/tests/api/ec2/test_cloud.py @@ -2060,12 +2060,14 @@ class CloudTestCase(test.TestCase): self.assertEqual(vol['mountpoint'], mountpoint) self.assertEqual(vol['status'], "in-use") self.assertEqual(vol['attach_status'], "attached") + self.assertNotEqual(vol['attach_time'], None) def _assert_volume_detached(self, vol): self.assertEqual(vol['instance_uuid'], None) self.assertEqual(vol['mountpoint'], None) self.assertEqual(vol['status'], "available") self.assertEqual(vol['attach_status'], "detached") + self.assertEqual(vol['attach_time'], None) def test_stop_start_with_volume(self): """Make sure run instance with block device mapping works""" diff --git a/nova/tests/test_volume.py b/nova/tests/test_volume.py index 0c5328456..7b14d8a99 100644 --- a/nova/tests/test_volume.py +++ b/nova/tests/test_volume.py @@ -273,6 +273,7 @@ class VolumeTestCase(test.TestCase): self.assertEqual(vol['attach_status'], "attached") self.assertEqual(vol['mountpoint'], mountpoint) self.assertEqual(vol['instance_uuid'], instance_uuid) + self.assertNotEqual(vol['attach_time'], None) self.assertRaises(exception.VolumeAttached, self.volume.delete_volume, @@ -286,6 +287,7 @@ class VolumeTestCase(test.TestCase): volume_id) vol = db.volume_get(self.context, volume_id) self.assertEqual(vol['status'], "available") + self.assertEqual(vol['attach_time'], None) self.volume.delete_volume(self.context, volume_id) self.assertRaises(exception.VolumeNotFound, |
