summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-11-20 01:11:29 +0000
committerGerrit Code Review <review@openstack.org>2012-11-20 01:11:29 +0000
commitb2f22409b7101902035b544a31bdae76f5bbaa7b (patch)
tree75cd41cb9c2f0d914f35ca1d38521ca044f468aa /nova/api
parent4c3ce791de81438844967e65b168bb773376e159 (diff)
parent6eac65a8e13d3040c0c6561709f59b3d9bab5435 (diff)
Merge "'BackupCreate' rotation parameter >= 0"
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/compute/contrib/admin_actions.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/nova/api/openstack/compute/contrib/admin_actions.py b/nova/api/openstack/compute/contrib/admin_actions.py
index 3614d7ba1..0c1db0835 100644
--- a/nova/api/openstack/compute/contrib/admin_actions.py
+++ b/nova/api/openstack/compute/contrib/admin_actions.py
@@ -229,6 +229,10 @@ class AdminActionsController(wsgi.Controller):
except ValueError:
msg = _("createBackup attribute 'rotation' must be an integer")
raise exc.HTTPBadRequest(explanation=msg)
+ if rotation < 0:
+ msg = _("createBackup attribute 'rotation' must be greater "
+ "than or equal to zero")
+ raise exc.HTTPBadRequest(explanation=msg)
props = {}
metadata = entity.get('metadata', {})
@@ -251,12 +255,14 @@ class AdminActionsController(wsgi.Controller):
common.raise_http_conflict_for_instance_invalid_state(state_error,
'createBackup')
- # build location of newly-created image entity
- image_id = str(image['id'])
- image_ref = os.path.join(req.application_url, 'images', image_id)
-
resp = webob.Response(status_int=202)
- resp.headers['Location'] = image_ref
+
+ # build location of newly-created image entity if rotation is not zero
+ if rotation > 0:
+ image_id = str(image['id'])
+ image_ref = os.path.join(req.application_url, 'images', image_id)
+ resp.headers['Location'] = image_ref
+
return resp
@wsgi.action('os-migrateLive')