From 02267e0809e6319254968ae63f57b79238aedc7f Mon Sep 17 00:00:00 2001 From: Thomas Goirand Date: Mon, 9 Jun 2014 22:11:20 +0800 Subject: [PATCH] Removed fallback-to-None-on-missing-Glance-image-attrs.patch applied upstream. --- debian/changelog | 2 + ...o-None-on-missing-Glance-image-attrs.patch | 103 ------------------ debian/patches/series | 1 - 3 files changed, 2 insertions(+), 104 deletions(-) delete mode 100644 debian/patches/fallback-to-None-on-missing-Glance-image-attrs.patch diff --git a/debian/changelog b/debian/changelog index 0ad12f68e..9fbdf6846 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,8 @@ cinder (2014.1.1-1) unstable; urgency=medium * New upstream release. + * Removed fallback-to-None-on-missing-Glance-image-attrs.patch applied + upstream. -- Thomas Goirand Mon, 09 Jun 2014 22:08:57 +0800 diff --git a/debian/patches/fallback-to-None-on-missing-Glance-image-attrs.patch b/debian/patches/fallback-to-None-on-missing-Glance-image-attrs.patch deleted file mode 100644 index fc7c94790..000000000 --- a/debian/patches/fallback-to-None-on-missing-Glance-image-attrs.patch +++ /dev/null @@ -1,103 +0,0 @@ -Description: Fallback to None on missing Glance image attrs - It's possible for glance images to be missing attributes like name and - checksum. We'll just set those to None by default to avoid missing key - exceptions being raised. -Author: Mike Perez -Origin: upstream, https://review.openstack.org/#/c/88089/ -Bug-Ubuntu: https://launchpad.net/bugs/1308058 -Forwarded: not-needed -Reviewed-By: Sebastien Badia -Last-Update: 2014-04-25 - -diff --git a/cinder/image/glance.py b/cinder/image/glance.py -index 0c15ba0..e0e6ab2 100644 ---- a/cinder/image/glance.py -+++ b/cinder/image/glance.py -@@ -431,7 +431,7 @@ def _extract_attributes(image): - elif attr == 'checksum' and output['status'] != 'active': - output[attr] = None - else: -- output[attr] = getattr(image, attr) -+ output[attr] = getattr(image, attr, None) - - output['properties'] = getattr(image, 'properties', {}) - -diff --git a/cinder/tests/image/test_glance.py b/cinder/tests/image/test_glance.py -index 3be3568..7374372 100644 ---- a/cinder/tests/image/test_glance.py -+++ b/cinder/tests/image/test_glance.py -@@ -17,8 +17,7 @@ - import datetime - - import glanceclient.exc --import glanceclient.v2.client --from glanceclient.v2.client import Client as glanceclient_v2 -+from glanceclient.v2 import client as glance_client_v2 - from oslo.config import cfg - - from cinder import context -@@ -542,6 +541,50 @@ class TestGlanceImageService(test.TestCase): - self.assertEqual(same_id, image_id) - self.assertEqual(service._client.netloc, ipv6_url) - -+ def test_extracting_missing_attributes(self): -+ """Verify behavior from glance objects that are missing attributes -+ -+ This fakes the image class and is missing the checksum and name -+ attribute as the client would return if they're not set in the -+ database. Regression test for bug #1308058. -+ """ -+ class MyFakeGlanceImage(glance_stubs.FakeImage): -+ def __init__(self, metadata): -+ IMAGE_ATTRIBUTES = ['size', 'disk_format', 'owner', -+ 'container_format', 'id', 'created_at', -+ 'updated_at', 'deleted', 'status', -+ 'min_disk', 'min_ram', 'is_public'] -+ raw = dict.fromkeys(IMAGE_ATTRIBUTES) -+ raw.update(metadata) -+ self.__dict__['raw'] = raw -+ -+ metadata = { -+ 'id': 1, -+ 'created_at': self.NOW_DATETIME, -+ 'updated_at': self.NOW_DATETIME, -+ } -+ image = MyFakeGlanceImage(metadata) -+ actual = glance._extract_attributes(image) -+ expected = { -+ 'id': 1, -+ 'name': None, -+ 'is_public': None, -+ 'size': None, -+ 'min_disk': None, -+ 'min_ram': None, -+ 'disk_format': None, -+ 'container_format': None, -+ 'checksum': None, -+ 'created_at': self.NOW_DATETIME, -+ 'updated_at': self.NOW_DATETIME, -+ 'deleted_at': None, -+ 'deleted': None, -+ 'status': None, -+ 'properties': {}, -+ 'owner': None, -+ } -+ self.assertEqual(actual, expected) -+ - - class TestGlanceClientVersion(test.TestCase): - """Tests the version of the glance client generated.""" -@@ -551,11 +594,11 @@ class TestGlanceClientVersion(test.TestCase): - def fake_get_model(self): - return - -- self.stubs.Set(glanceclient_v2, '_get_image_model', -+ self.stubs.Set(glance_client_v2.Client, '_get_image_model', - fake_get_model) - - try: -- self.stubs.Set(glanceclient_v2, '_get_member_model', -+ self.stubs.Set(glance_client_v2.Client, '_get_member_model', - fake_get_model) - except AttributeError: - # method requires stubbing only with newer glanceclients. diff --git a/debian/patches/series b/debian/patches/series index 5d66926da..25c0f244e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ install-missing-files.patch -fallback-to-None-on-missing-Glance-image-attrs.patch -- 2.45.2