diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-01-16 18:42:00 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-01-16 18:42:00 +0000 |
| commit | a5e73ffe190f6b42cee592d2d7eceae368c7be1d (patch) | |
| tree | f2e27ab7ff16fb103dbfcf1b407b198bf5229ad5 /nova/api | |
| parent | c50546df8cbf159af13335813d9cb06098645b2c (diff) | |
| parent | 6e7e3870a4ca047185ba5e3320d63afaa08357b8 (diff) | |
| download | nova-a5e73ffe190f6b42cee592d2d7eceae368c7be1d.tar.gz nova-a5e73ffe190f6b42cee592d2d7eceae368c7be1d.tar.xz nova-a5e73ffe190f6b42cee592d2d7eceae368c7be1d.zip | |
Merge "Increase robustness of image filtering by server"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/compute/images.py | 11 | ||||
| -rw-r--r-- | nova/api/openstack/compute/servers.py | 5 |
2 files changed, 11 insertions, 5 deletions
diff --git a/nova/api/openstack/compute/images.py b/nova/api/openstack/compute/images.py index 194c5071e..fed326f66 100644 --- a/nova/api/openstack/compute/images.py +++ b/nova/api/openstack/compute/images.py @@ -24,6 +24,7 @@ from nova import exception from nova import flags import nova.image from nova import log +import nova.utils LOG = log.getLogger('nova.api.openstack.compute.images') @@ -33,7 +34,7 @@ SUPPORTED_FILTERS = { 'name': 'name', 'status': 'status', 'changes-since': 'changes-since', - 'server': 'property-instance_ref', + 'server': 'property-instance_uuid', 'type': 'property-image_type', 'minRam': 'min_ram', 'minDisk': 'min_disk', @@ -118,6 +119,14 @@ class Controller(wsgi.Controller): # map filter name or carry through if property-* filter_name = SUPPORTED_FILTERS.get(param, param) filters[filter_name] = req.params.get(param) + + # ensure server filter is the instance uuid + filter_name = 'property-instance_uuid' + try: + filters[filter_name] = filters[filter_name].rsplit('/', 1)[1] + except (AttributeError, IndexError, KeyError): + pass + return filters @wsgi.serializers(xml=ImageTemplate) diff --git a/nova/api/openstack/compute/servers.py b/nova/api/openstack/compute/servers.py index e90e30b7d..3a0cc3683 100644 --- a/nova/api/openstack/compute/servers.py +++ b/nova/api/openstack/compute/servers.py @@ -1069,10 +1069,7 @@ class Controller(wsgi.Controller): msg = _("Malformed createImage entity") raise exc.HTTPBadRequest(explanation=msg) - # preserve link to server in image properties - server_ref = os.path.join(req.application_url, 'servers', id) - props = {'instance_ref': server_ref} - + props = {} metadata = entity.get('metadata', {}) common.check_img_metadata_quota_limit(context, metadata) try: |
