23206258 Upgrade cinderclient to 1.6.0
authorLaszlo Peter <laszlo.peter@oracle.com>
Wed, 07 Sep 2016 14:48:36 -0700
changeset 6822 1b782154d546
parent 6821 e3c34501ae8e
child 6823 5c54e168300d
23206258 Upgrade cinderclient to 1.6.0
components/python/cinderclient/Makefile
components/python/cinderclient/cinderclient-PYVER.p5m
components/python/cinderclient/cinderclient.license
components/python/cinderclient/patches/01-requirements.patch
components/python/cinderclient/patches/01-service.patch
--- a/components/python/cinderclient/Makefile	Wed Sep 07 14:48:36 2016 -0700
+++ b/components/python/cinderclient/Makefile	Wed Sep 07 14:48:36 2016 -0700
@@ -22,19 +22,20 @@
 #
 # Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
 #
+
 include ../../../make-rules/shared-macros.mk
 
 COMPONENT_NAME=		python-cinderclient
-COMPONENT_VERSION=	1.3.1
+COMPONENT_VERSION=	1.6.0
 COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
 COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
 COMPONENT_ARCHIVE_HASH=	\
-    sha256:59ae1fbeeda7a12ac8635a7cce9bdc5e8bd080707e2dc12d858857713db1d233
+    sha256:b00b7ffc3394b7ae3f8804a10877f7c980ff65f66d7b0d4b51bf4526933951b2
 COMPONENT_ARCHIVE_URL=	$(call pypi_url)
-COMPONENT_PROJECT_URL=	http://launchpad.net/python-cinderclient
+COMPONENT_PROJECT_URL=	http://docs.openstack.org/developer/python-cinderclient/
 COMPONENT_BUGDB=	service/cinder
 
-TPNO=			25750
+TPNO=			31337
 
 include $(WS_MAKE_RULES)/prep.mk
 include $(WS_MAKE_RULES)/setup.py.mk
@@ -43,19 +44,15 @@
 ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 COMPONENT_POST_INSTALL_ACTION = \
-	(cd $(PROTO_DIR)/usr/bin ; $(MV) -f cinder cinder-$(PYTHON_VERSION))
+    (cd $(PROTO_DIR)/usr/bin ; $(MV) -f cinder cinder-$(PYTHON_VERSION))
 
 # common targets
 build:		$(BUILD_NO_ARCH)
 
 install:	$(INSTALL_NO_ARCH)
 
-#
-# Tests require:
-# pyflakes, flake8, hacking, discover, mock, python-subunit,
-# sphinx, testrepository
-# which haven't been integrated yet.
-#
+# See $(COMPONENT_SRC)/test-requirements.txt for the Python modules
+# required to execute unittests.
 test:		$(NO_TESTS)
 
-system-test:    $(NO_TESTS)
+system-test:	$(NO_TESTS)
--- a/components/python/cinderclient/cinderclient-PYVER.p5m	Wed Sep 07 14:48:36 2016 -0700
+++ b/components/python/cinderclient/cinderclient-PYVER.p5m	Wed Sep 07 14:48:36 2016 -0700
@@ -20,15 +20,18 @@
 #
 
 #
-# Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
 #
 
 #
 # As an earlier Python 3 version of cinderclient was published, we
 # continue to do so for now by dropping the dependency on the
-# corresponding keystoneclient as the latter is not Python 3 ready.
+# corresponding keystoneclient & oslo.utils as the latter are not Python
+# 3 ready.
 #
 <transform depend fmri=library/python/keystoneclient-3\d type=require -> drop>
+<transform depend fmri=library/python/oslo.utils-3\d type=require -> drop>
+#
 set name=pkg.fmri \
     value=pkg:/library/python/cinderclient-$(PYV)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
 set name=pkg.summary \
@@ -91,6 +94,7 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v1/volumes.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/__init__.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/availability_zones.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/capabilities.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/cgsnapshots.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/client.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/consistencygroups.py
@@ -111,6 +115,7 @@
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/volume_type_access.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/volume_types.py
 file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/v2/volumes.py
+file path=usr/lib/python$(PYVER)/vendor-packages/cinderclient/version.py
 file path=usr/lib/python$(PYVER)/vendor-packages/python_cinderclient-$(COMPONENT_VERSION)-py$(PYVER).egg-info/PKG-INFO
 file path=usr/lib/python$(PYVER)/vendor-packages/python_cinderclient-$(COMPONENT_VERSION)-py$(PYVER).egg-info/SOURCES.txt
 file path=usr/lib/python$(PYVER)/vendor-packages/python_cinderclient-$(COMPONENT_VERSION)-py$(PYVER).egg-info/dependency_links.txt
@@ -130,9 +135,6 @@
 # to flush this out.
 depend type=group fmri=library/python/simplejson-$(PYV)
 
-# force a dependency on argparse; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/argparse-$(PYV)
-
 # force a dependency on babel; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/babel-$(PYV)
 
@@ -144,6 +146,9 @@
 # out.
 depend type=require fmri=library/python/keystoneclient-$(PYV)
 
+# force a dependency on oslo.utils; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/oslo.utils-$(PYV)
+
 # force a dependency on pbr; pkgdepend work is needed to flush this out.
 depend type=require fmri=library/python/pbr-$(PYV)
 
--- a/components/python/cinderclient/cinderclient.license	Wed Sep 07 14:48:36 2016 -0700
+++ b/components/python/cinderclient/cinderclient.license	Wed Sep 07 14:48:36 2016 -0700
@@ -8,11 +8,13 @@
 
 See the License for the specific language governing permissions and limitations under the License.
 
+
 Copyright (c) 2009 Jacob Kaplan-Moss - initial codebase (< v2.1)
 Copyright (c) 2011 Rackspace - OpenStack extensions (>= v2.1)
 All rights reserved.
 
-		                 Apache License
+
+                                 Apache License
                            Version 2.0, January 2004
                         http://www.apache.org/licenses/
 
@@ -187,29 +189,76 @@
       incurred by, or claims asserted against, such Contributor by reason
       of your accepting any such warranty or additional liability.
 
-   END OF TERMS AND CONDITIONS
+--- License for python-cinderclient versions prior to 2.1 ---
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
 
-   APPENDIX: How to apply the Apache License to your work.
+    1. Redistributions of source code must retain the above copyright notice,
+       this list of conditions and the following disclaimer.
+
+    2. Redistributions in binary form must reproduce the above copyright
+       notice, this list of conditions and the following disclaimer in the
+       documentation and/or other materials provided with the distribution.
 
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
+    3. Neither the name of this project nor the names of its contributors may
+    be used to endorse or promote products derived from this software without
+    specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+============================================================
+Additional license/copyrights seen:
+
+#!/usr/bin/env python
 
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
+# Copyright (c) 2013, Nebula, Inc.
+# Copyright 2010 United States Government as represented by the
+# Administrator of the National Aeronautics and Space Administration.
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License"); you may
+#    not use this file except in compliance with the License. You may obtain
+#    a copy of the License at
+#
+#         http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+#    License for the specific language governing permissions and limitations
+#    under the License.
+#
+# Colorizer Code is borrowed from Twisted:
+# Copyright (c) 2001-2010 Twisted Matrix Laboratories.
+#
+#    Permission is hereby granted, free of charge, to any person obtaining
+#    a copy of this software and associated documentation files (the
+#    "Software"), to deal in the Software without restriction, including
+#    without limitation the rights to use, copy, modify, merge, publish,
+#    distribute, sublicense, and/or sell copies of the Software, and to
+#    permit persons to whom the Software is furnished to do so, subject to
+#    the following conditions:
+#
+#    The above copyright notice and this permission notice shall be
+#    included in all copies or substantial portions of the Software.
+#
+#    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+#    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+#    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+#    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+#    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+#    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+#    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--- a/components/python/cinderclient/patches/01-requirements.patch	Wed Sep 07 14:48:36 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-In-house patch to remove the dependency on argparse.  Since we use
-Python 2.7 only for OpenStack, argparse is already included.  If this
-line is present, stevedore will fail to find the pip package for it,
-causing a cascade of failures to other tools.
-
-Drop the required version of keystoneclient to be the same as Kilo
-global reqs.  This version of cinderclient was cherry picked to
-pull in features that were missed because the cinder team did not
-cut a cinderclient to match the kilo release.
-
---- python-cinderclient-1.3.1/requirements.txt.orig	2015-11-19 14:55:25.974425490 -0700
-+++ python-cinderclient-1.3.1/requirements.txt	2015-11-19 14:56:46.549580080 -0700
[email protected]@ -2,9 +2,8 @@
- # of appearance. Changing the order has an impact on the overall integration
- # process, which may cause wedges in the gate later.
- pbr<2.0,>=0.11
--argparse
- PrettyTable<0.8,>=0.7
--python-keystoneclient>=1.6.0
-+python-keystoneclient<1.4.0,>=1.2.0
- requests>=2.5.2
- simplejson>=2.2.0
- Babel>=1.3
-
---- python-cinderclient-1.3.1/python_cinderclient.egg-info/requires.txt.orig	2015-11-19 14:57:35.202730172 -0700
-+++ python-cinderclient-1.3.1/python_cinderclient.egg-info/requires.txt	2015-11-19 14:57:18.307302488 -0700
[email protected]@ -1,7 +1,6 @@
- pbr<2.0,>=0.11
--argparse
- PrettyTable<0.8,>=0.7
--python-keystoneclient>=1.6.0
-+python-keystoneclient<1.4.0,>=1.2.0
- requests>=2.5.2
- simplejson>=2.2.0
- Babel>=1.3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/cinderclient/patches/01-service.patch	Wed Sep 07 14:48:36 2016 -0700
@@ -0,0 +1,15 @@
+The 'service' attribute doesn't exists, which can cause horizon to throw an AttributeError exception.
+Logged as upstream bug 1579982 https://bugs.launchpad.net/horizon/+bug/1579982 and this patch
+should be removed when the upstream bug is fixed and integrated in our version of python-cinderclient.
+
+--- python-cinderclient-1.6.0/cinderclient/v2/services.py.old	2016-09-01 11:21:55.402483826 -0700
++++ python-cinderclient-1.6.0/cinderclient/v2/services.py	2016-09-01 11:21:42.665135394 -0700
[email protected]@ -22,7 +22,7 @@
+ class Service(base.Resource):
+ 
+     def __repr__(self):
+-        return "<Service: %s>" % self.service
++        return "<Service: %s>" % self._info
+ 
+ 
+ class ServiceManager(base.ManagerWithFind):