summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2012-02-07 16:56:04 -0800
committerVishvananda Ishaya <vishvananda@gmail.com>2012-02-07 17:00:29 -0800
commita3596658c83ed84970cfaba40d7f489728a00d48 (patch)
tree2ac93bbf9e40723f6f2dae78d9fb73f4a320e4f0 /nova/api
parentb0a708f67407256a449414a000b070752e51dba2 (diff)
downloadnova-a3596658c83ed84970cfaba40d7f489728a00d48.tar.gz
nova-a3596658c83ed84970cfaba40d7f489728a00d48.tar.xz
nova-a3596658c83ed84970cfaba40d7f489728a00d48.zip
Fixes volume snapshotting issues and tests
* changes call for create_snapshot from contrib/volumes.py * fixes some raises in volume/snaphsots.py * rewrites volume api tests to use the right endpoint * updates contrib snapshots test to catch the error * fixes bug 928567 * fixes bug 928588 Change-Id: Ifa6bd8b70dc0df5c8811b0123072ba83eb170a45
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/compute/contrib/volumes.py6
-rw-r--r--nova/api/openstack/volume/snapshots.py4
2 files changed, 6 insertions, 4 deletions
diff --git a/nova/api/openstack/compute/contrib/volumes.py b/nova/api/openstack/compute/contrib/volumes.py
index 6d0110069..e235ad0fe 100644
--- a/nova/api/openstack/compute/contrib/volumes.py
+++ b/nova/api/openstack/compute/contrib/volumes.py
@@ -517,18 +517,20 @@ class SnapshotController(object):
snapshot = body['snapshot']
volume_id = snapshot['volume_id']
+ volume = self.volume_api.get(context, volume_id)
+
force = snapshot.get('force', False)
LOG.audit(_("Create snapshot from volume %s"), volume_id,
context=context)
if force:
new_snapshot = self.volume_api.create_snapshot_force(context,
- volume_id,
+ volume,
snapshot.get('display_name'),
snapshot.get('display_description'))
else:
new_snapshot = self.volume_api.create_snapshot(context,
- volume_id,
+ volume,
snapshot.get('display_name'),
snapshot.get('display_description'))
diff --git a/nova/api/openstack/volume/snapshots.py b/nova/api/openstack/volume/snapshots.py
index 36687d736..67cfca3ea 100644
--- a/nova/api/openstack/volume/snapshots.py
+++ b/nova/api/openstack/volume/snapshots.py
@@ -98,7 +98,7 @@ class SnapshotsController(object):
try:
vol = self.volume_api.get_snapshot(context, id)
except exception.NotFound:
- return exc.HTTPNotFound()
+ raise exc.HTTPNotFound()
return {'snapshot': _translate_snapshot_detail_view(context, vol)}
@@ -112,7 +112,7 @@ class SnapshotsController(object):
snapshot = self.volume_api.get_snapshot(context, id)
self.volume_api.delete_snapshot(context, snapshot)
except exception.NotFound:
- return exc.HTTPNotFound()
+ raise exc.HTTPNotFound()
return webob.Response(status_int=202)
@wsgi.serializers(xml=SnapshotsTemplate)