[arch-commits] Commit in python-glanceclient/trunk (PKGBUILD warlock-1.3.patch)

Felix Yan felixonmars at archlinux.org
Tue Jul 19 03:26:51 UTC 2016


    Date: Tuesday, July 19, 2016 @ 03:26:50
  Author: felixonmars
Revision: 183097

upgpkg: python-glanceclient 2.2.0-1

Added:
  python-glanceclient/trunk/warlock-1.3.patch
Modified:
  python-glanceclient/trunk/PKGBUILD

-------------------+
 PKGBUILD          |    9 ++-
 warlock-1.3.patch |  139 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 145 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-07-19 03:19:57 UTC (rev 183096)
+++ PKGBUILD	2016-07-19 03:26:50 UTC (rev 183097)
@@ -4,7 +4,7 @@
 
 pkgbase=python-glanceclient
 pkgname=(python-glanceclient python2-glanceclient)
-pkgver=2.1.0
+pkgver=2.2.0
 pkgrel=1
 pkgdesc="OpenStack Image API Client Library"
 arch=('any')
@@ -18,10 +18,13 @@
 checkdepends=('python-oslotest' 'python2-oslotest' 'python-requests-mock'
               'python2-requests-mock')
 options=('!emptydirs')
-source=("git+https://git.openstack.org/openstack/python-glanceclient#tag=$pkgver")
-md5sums=('SKIP')
+source=("git+https://git.openstack.org/openstack/python-glanceclient#tag=$pkgver"
+        warlock-1.3.patch)
+md5sums=('SKIP'
+         'c653fff631fcb402f3db69810644ba23')
 
 prepare() {
+  (cd python-glanceclient; patch -p1 -i ../warlock-1.3.patch)
   cp -a python-glanceclient{,-py2}
 }
 

Added: warlock-1.3.patch
===================================================================
--- warlock-1.3.patch	                        (rev 0)
+++ warlock-1.3.patch	2016-07-19 03:26:50 UTC (rev 183097)
@@ -0,0 +1,139 @@
+From d7db97c92605a11e312d17cdcdd8ac363bc10924 Mon Sep 17 00:00:00 2001
+From: Sabari Kumar Murugesan <smurugesan at vmware.com>
+Date: Wed, 06 Jul 2016 18:02:28 -0700
+Subject: [PATCH] Fix warlock model creation
+
+Commands like glance md-namespace-show <namespace> fail because
+of a breaking change in warlock 1.3.0's model creation factory
+method.
+
+Warlock introduced a new kwarg 'resolver' in model_factory method
+but changed its position with the 'base_class' kwarg. Since we
+were calling the model_factory method with positional arg, this
+broke the model creation.
+
+Closes-Bug: #1596573
+
+Change-Id: Ic7821f4fdb1b752e0c7ed2bc486299a06bf485c1
+---
+
+diff --git a/glanceclient/tests/unit/v2/test_schemas.py b/glanceclient/tests/unit/v2/test_schemas.py
+index 60442a8..c01d8bd 100644
+--- a/glanceclient/tests/unit/v2/test_schemas.py
++++ b/glanceclient/tests/unit/v2/test_schemas.py
+@@ -130,7 +130,7 @@
+     def setUp(self):
+         super(TestSchemaBasedModel, self).setUp()
+         self.model = warlock.model_factory(_SCHEMA.raw(),
+-                                           schemas.SchemaBasedModel)
++                                           base_class=schemas.SchemaBasedModel)
+ 
+     def test_patch_should_replace_missing_core_properties(self):
+         obj = {
+diff --git a/glanceclient/v2/image_tags.py b/glanceclient/v2/image_tags.py
+index bcecd01..deebce2 100644
+--- a/glanceclient/v2/image_tags.py
++++ b/glanceclient/v2/image_tags.py
+@@ -27,7 +27,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('image')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def update(self, image_id, tag_value):
+         """Update an image with the given tag.
+diff --git a/glanceclient/v2/images.py b/glanceclient/v2/images.py
+index a9a5e99..f69fed5 100644
+--- a/glanceclient/v2/images.py
++++ b/glanceclient/v2/images.py
+@@ -39,16 +39,16 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('image')
+-        warlock_model = warlock.model_factory(schema.raw(),
+-                                              schemas.SchemaBasedModel)
++        warlock_model = warlock.model_factory(
++            schema.raw(), base_class=schemas.SchemaBasedModel)
+         return warlock_model
+ 
+     @utils.memoized_property
+     def unvalidated_model(self):
+         """A model which does not validate the image against the v2 schema."""
+         schema = self.schema_client.get('image')
+-        warlock_model = warlock.model_factory(schema.raw(),
+-                                              schemas.SchemaBasedModel)
++        warlock_model = warlock.model_factory(
++            schema.raw(), base_class=schemas.SchemaBasedModel)
+         warlock_model.validate = lambda *args, **kwargs: None
+         return warlock_model
+ 
+diff --git a/glanceclient/v2/metadefs.py b/glanceclient/v2/metadefs.py
+index 28d0db6..4bee224 100644
+--- a/glanceclient/v2/metadefs.py
++++ b/glanceclient/v2/metadefs.py
+@@ -34,7 +34,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('metadefs/namespace')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def create(self, **kwargs):
+         """Create a namespace.
+@@ -186,7 +187,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('metadefs/resource_type')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def associate(self, namespace, **kwargs):
+         """Associate a resource type with a namespace."""
+@@ -234,7 +236,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('metadefs/property')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def create(self, namespace, **kwargs):
+         """Create a property.
+@@ -314,7 +317,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('metadefs/object')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def create(self, namespace, **kwargs):
+         """Create an object.
+@@ -397,7 +401,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('metadefs/tag')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def create(self, namespace, tag_name):
+         """Create a tag.
+diff --git a/glanceclient/v2/tasks.py b/glanceclient/v2/tasks.py
+index f9c8826..dd94e9e 100644
+--- a/glanceclient/v2/tasks.py
++++ b/glanceclient/v2/tasks.py
+@@ -35,7 +35,8 @@
+     @utils.memoized_property
+     def model(self):
+         schema = self.schema_client.get('task')
+-        return warlock.model_factory(schema.raw(), schemas.SchemaBasedModel)
++        return warlock.model_factory(schema.raw(),
++                                     base_class=schemas.SchemaBasedModel)
+ 
+     def list(self, **kwargs):
+         """Retrieve a listing of Task objects.



More information about the arch-commits mailing list