Hello community,
here is the log from the commit of package python-glanceclient for
openSUSE:Factory checked in at 2013-09-16 12:45:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-glanceclient (Old)
and /work/SRC/openSUSE:Factory/.python-glanceclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-glanceclient"
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-glanceclient/python-glanceclient.changes
2013-08-18 22:39:02.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-glanceclient.new/python-glanceclient.changes
2013-09-16 12:45:20.000000000 +0200
@@ -1,0 +2,32 @@
+Tue Sep 3 23:54:49 UTC 2013 - [email protected]
+
+- Update to version 0.10.0.17:
+ + Enable query image by tag
+
+-------------------------------------------------------------------
+Thu Aug 29 00:12:44 UTC 2013 - [email protected]
+
+- Update to version 0.10.0.16:
+ + Fix glanceclient usage inconsistences for options
+
+-------------------------------------------------------------------
+Fri Aug 23 23:47:40 UTC 2013 - [email protected]
+
+- Update to version 0.10.0.15:
+ + Add 0.11.0 doc notes
+
+-------------------------------------------------------------------
+Fri Aug 23 00:10:25 UTC 2013 - [email protected]
+
+- Update to version 0.10.0.14:
+ + Allow single-wildcard SSL common name matching
+ + Don't use posixpath for URLs
+
+-------------------------------------------------------------------
+Tue Aug 20 00:03:20 UTC 2013 - [email protected]
+
+- Update to version 0.10.0.10:
+ + removed deprecated parameter --public
+ + Revert "removed deprecated parameter --public"
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-glanceclient.spec ++++++
--- /var/tmp/diff_new_pack.Kdel8u/_old 2013-09-16 12:45:21.000000000 +0200
+++ /var/tmp/diff_new_pack.Kdel8u/_new 2013-09-16 12:45:21.000000000 +0200
@@ -19,7 +19,7 @@
%define component glanceclient
Name: python-glanceclient
-Version: 0.10.0.7
+Version: 0.10.0.17
Release: 0
Summary: Openstack Image (Glance) API Client
License: Apache-2.0
@@ -80,7 +80,7 @@
This package contains testsuite files for %{name}.
%prep
-%setup -q -n python-glanceclient-0.10.0.7.g7e4ba22
+%setup -q -n python-glanceclient-0.10.0.17.g897ae3d
%openstack_cleanup_prep
# Our package versioning scheme is different (but we provide the correct
thing) thus:
sed -i "s|python-keystoneclient>=0.1.2,<1|python-keystoneclient|"
requirements.txt
++++++ python-glanceclient-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-glanceclient-0.10.0.7.g7e4ba22/AUTHORS
new/python-glanceclient-0.10.0.17.g897ae3d/AUTHORS
--- old/python-glanceclient-0.10.0.7.g7e4ba22/AUTHORS 2013-08-16
21:58:30.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/AUTHORS 2013-09-03
21:30:48.000000000 +0200
@@ -22,8 +22,10 @@
Diego Parrilla <[email protected]>
Dirk Mueller <[email protected]>
Doug Hellmann <[email protected]>
+Fei Long Wang <[email protected]>
Flaper Fesp <[email protected]>
Florian Haas <[email protected]>
+Gabe Westmaas <[email protected]>
Gabriel Hurley <[email protected]>
Hugh Saunders <[email protected]>
Jakub Ruzicka <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-glanceclient-0.10.0.7.g7e4ba22/ChangeLog
new/python-glanceclient-0.10.0.17.g897ae3d/ChangeLog
--- old/python-glanceclient-0.10.0.7.g7e4ba22/ChangeLog 2013-08-16
21:58:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/ChangeLog 2013-09-03
21:30:48.000000000 +0200
@@ -1,3 +1,85 @@
+commit 897ae3d795423a0f1d92f0738ad4dff99c28c6de
+Author: Fei Long Wang <[email protected]>
+Date: Sun Aug 11 11:02:32 2013 +0800
+
+ Enable query image by tag
+
+ This patch will enable Glance client to query images by user
+ defined tags.
+
+ Implement bp image-query-by-tag
+ Implement bp glance-client-v2
+
+ Change-Id: I6f54630c5b7c9c567d85485ad4289284e5486814
+
+commit b6e117f151e6d3ed8dc4849c4138d7fb28652e75
+Author: Gabe Westmaas <[email protected]>
+Date: Sun Aug 25 01:14:07 2013 +0000
+
+ Fix glanceclient usage inconsistences for options
+
+ Enumerated options should have the same format for all enumerated options.
+
+ This commit moves all options to the {option1,option2} format.
+
+ fixes bug: #1155171
+
+ Change-Id: I8e0ecf3896c76021cb027cbbbb3b5564a04aacec
+
+commit b15c57c4a2cd7566072fcf8adb1422cb3e21b1de
+Author: Mark J. Washenberger <[email protected]>
+Date: Thu Aug 22 16:01:29 2013 -0700
+
+ Add 0.11.0 doc notes
+
+ Change-Id: Ic76e872e78ec77b731ad9dced833803da3fa9aca
+
+commit 835638fd8ad4fb39be2161ee79057565809082ab
+Merge: fe9a62b a30981e
+Author: Jenkins <[email protected]>
+Date: Thu Aug 22 21:12:47 2013 +0000
+
+ Merge "Don't use posixpath for URLs"
+
+commit fe9a62b5b5681f3f8d467b24b8aca7ab646d1366
+Merge: 53d3a0e 683e40f
+Author: Jenkins <[email protected]>
+Date: Thu Aug 22 21:12:36 2013 +0000
+
+ Merge "Allow single-wildcard SSL common name matching"
+
+commit 683e40fd31d791683e272555485b9eef1400752a
+Author: Brian Waldon <[email protected]>
+Date: Wed Aug 14 15:37:45 2013 -0700
+
+ Allow single-wildcard SSL common name matching
+
+ Fix bug 1212463
+
+ Change-Id: I168601fd9847497c2261c77ce6c856bca187c6c8
+
+commit 53d3a0e129d085b3cb21e8827b321132f3b5f48e
+Author: Dean Troyer <[email protected]>
+Date: Mon Aug 19 19:04:17 2013 +0000
+
+ Revert "removed deprecated parameter --public"
+
+ While trunk devstack was updated for this, stable/folsom and stable/grizzly
+ are not and grenade is now broken. I'm not sure how long --public was
+ undocumented but it may be that certain cli args may need to remain
deprecated
+ but supported for longer than we wish.
+
+ This reverts commit ce8636b6b3c4b606483cfb2bc405d86224f309bc
+
+ Change-Id: I91d4884e470c8fcc611dae62a30fa22d08dbec03
+
+commit 20bd548d71097ca96d4e9f841ff68547e477323d
+Merge: 7e4ba22 ce8636b
+Author: Jenkins <[email protected]>
+Date: Mon Aug 19 15:34:56 2013 +0000
+
+ Merge "removed deprecated parameter --public"
+
commit 7e4ba229c3d89392b52eb9dfb260c745cdb821ae
Author: eddie-sheffield <[email protected]>
Date: Tue Aug 6 16:56:59 2013 -0400
@@ -108,6 +190,18 @@
Change-Id: I040c667e122d792fdcb47ee172463339068af48c
+commit a30981e7f03317b1be06c05ff68833ffe3719fe0
+Author: Justin Santa Barbara <[email protected]>
+Date: Mon Aug 5 14:42:19 2013 -0700
+
+ Don't use posixpath for URLs
+
+ Use URL functions instead.
+
+ Fixes bug #1208618
+
+ Change-Id: I27bb29a6422200a1a522c50335e5d93d495ec429
+
commit 43e71e399372102f8ef4a3b7ad836fe16ace63a3
Merge: 5c4fb2f e827c37
Author: Jenkins <[email protected]>
@@ -160,6 +254,19 @@
Merge "Add v1 client side owner based filtering"
+commit ce8636b6b3c4b606483cfb2bc405d86224f309bc
+Author: Christian Berendt <[email protected]>
+Date: Tue Jul 30 18:26:58 2013 +0200
+
+ removed deprecated parameter --public
+
+ As noted by bcwaldon the parameter can be removed after updating
+ Devstack. Should be done after merging the following change:
+
+ https://review.openstack.org/#/c/39323/
+
+ Change-Id: I8d0f7ab4cccccf022446374a31e03ac913cfb136
+
commit fd0e1175795ac3a5497dcf72ed250077abaf2ed1
Author: Flaper Fesp <[email protected]>
Date: Thu Jul 11 15:28:49 2013 +0200
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-glanceclient-0.10.0.7.g7e4ba22/PKG-INFO
new/python-glanceclient-0.10.0.17.g897ae3d/PKG-INFO
--- old/python-glanceclient-0.10.0.7.g7e4ba22/PKG-INFO 2013-08-16
21:58:30.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/PKG-INFO 2013-09-03
21:30:49.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-glanceclient
-Version: 0.10.0.7.g7e4ba22
+Version: 0.10.0.17.g897ae3d
Summary: OpenStack Image API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/doc/source/index.rst
new/python-glanceclient-0.10.0.17.g897ae3d/doc/source/index.rst
--- old/python-glanceclient-0.10.0.7.g7e4ba22/doc/source/index.rst
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/doc/source/index.rst
2013-09-03 21:29:58.000000000 +0200
@@ -37,6 +37,18 @@
Release Notes
=============
+0.11.0
+------
+
+* 1212463_: Allow single-wildcard SSL common name matching
+* 1208618_: Support absolute redirects for endpoint urls
+* 1190606_: Properly handle integer-like image ids
+* Support removing properties from images in the v2 library
+
+.. _1212463: http://bugs.launchpad.net/python-glanceclient/+bug/1212463
+.. _1208618: http://bugs.launchpad.net/python-glanceclient/+bug/1208618
+.. _1190606: http://bugs.launchpad.net/python-glanceclient/+bug/1190606
+
0.10.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/common/http.py
new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/common/http.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/common/http.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/common/http.py
2013-09-03 21:29:58.000000000 +0200
@@ -18,7 +18,6 @@
import hashlib
import httplib
import logging
-import posixpath
import socket
import StringIO
import struct
@@ -191,8 +190,8 @@
try:
if self.endpoint_path:
- url = '%s/%s' % (self.endpoint_path, url)
- conn_url = posixpath.normpath(url)
+ url = urlparse.urljoin(self.endpoint_path, url)
+ conn_url = urlparse.urlsplit(url).geturl()
# Note(flaper87): Ditto, headers / url
# encoding to make httplib happy.
conn_url = strutils.safe_encode(conn_url)
@@ -327,10 +326,17 @@
connecting to, ie that the certificate's Common Name
or a Subject Alternative Name matches 'host'.
"""
+ common_name = x509.get_subject().commonName
+
# First see if we can match the CN
- if x509.get_subject().commonName == host:
+ if common_name == host:
return True
+ # Support single wildcard matching
+ if common_name.startswith('*.') and host.find('.') > 0:
+ if common_name[2:] == host.split('.', 1)[1]:
+ return True
+
# Also try Subject Alternative Names for a match
san_list = None
for i in xrange(x509.get_extension_count()):
@@ -343,7 +349,7 @@
# Server certificate does not match host
msg = ('Host "%s" does not match x509 certificate contents: '
- 'CommonName "%s"' % (host, x509.get_subject().commonName))
+ 'CommonName "%s"' % (host, common_name))
if san_list is not None:
msg = msg + ', subjectAltName "%s"' % san_list
raise exc.SSLCertificateError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v1/shell.py
new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v1/shell.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v1/shell.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v1/shell.py
2013-09-03 21:29:58.000000000 +0200
@@ -64,7 +64,7 @@
@utils.arg('--sort-dir', default='asc',
choices=glanceclient.v1.images.SORT_DIR_VALUES,
help='Sort image list in specified direction.')
[email protected]('--is-public', type=utils.string_to_bool, metavar='{True|False}',
[email protected]('--is-public', type=utils.string_to_bool, metavar='{True,False}',
help=('Allows the user to select a listing of public or non '
'public images.'))
@utils.arg('--owner', default=None, metavar='<TENANT_ID>',
@@ -215,9 +215,9 @@
# to use --is-public
@utils.arg('--public', action='store_true', default=False,
help=argparse.SUPPRESS)
[email protected]('--is-public', type=utils.string_to_bool, metavar='[True|False]',
[email protected]('--is-public', type=utils.string_to_bool, metavar='{True,False}',
help='Make image accessible to the public.')
[email protected]('--is-protected', type=utils.string_to_bool, metavar='[True|False]',
[email protected]('--is-protected', type=utils.string_to_bool, metavar='{True,False}',
help='Prevent image from being deleted.')
@utils.arg('--property', metavar="<key=value>", action='append', default=[],
help=("Arbitrary property to associate with image. "
@@ -287,9 +287,9 @@
help=('Similar to \'--location\' in usage, but this indicates that'
' the Glance server should immediately copy the data and'
' store it in its configured image store.'))
[email protected]('--is-public', type=utils.string_to_bool, metavar='[True|False]',
[email protected]('--is-public', type=utils.string_to_bool, metavar='{True,False}',
help='Make image accessible to the public.')
[email protected]('--is-protected', type=utils.string_to_bool, metavar='[True|False]',
[email protected]('--is-protected', type=utils.string_to_bool, metavar='{True,False}',
help='Prevent image from being deleted.')
@utils.arg('--property', metavar="<key=value>", action='append', default=[],
help=("Arbitrary property to associate with image. "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v2/images.py
new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v2/images.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v2/images.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v2/images.py
2013-09-03 21:29:58.000000000 +0200
@@ -52,12 +52,22 @@
else:
filters['limit'] = kwargs['page_size']
+ tags = filters.pop('tag', [])
+ tags_url_params = []
+
+ for tag in tags:
+ if isinstance(tag, basestring):
+ tags_url_params.append({'tag': strutils.safe_encode(tag)})
+
for param, value in filters.iteritems():
if isinstance(value, basestring):
filters[param] = strutils.safe_encode(value)
url = '/v2/images?%s' % urllib.urlencode(filters)
+ for param in tags_url_params:
+ url = '%s&%s' % (url, urllib.urlencode(param))
+
for image in paginate(url):
#NOTE(bcwaldon): remove 'self' for now until we have an elegant
# way to pass it into the model constructor without conflict
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v2/shell.py
new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v2/shell.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/glanceclient/v2/shell.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/glanceclient/v2/shell.py
2013-09-03 21:29:58.000000000 +0200
@@ -28,9 +28,11 @@
help='Display images owned by <OWNER>.')
@utils.arg('--checksum', metavar='<CHECKSUM>',
help='Display images matching the checksum')
[email protected]('--tag', metavar='<TAG>', action='append',
+ help="Filter images by an user-defined tag.")
def do_image_list(gc, args):
"""List images you can access."""
- filter_keys = ['visibility', 'member_status', 'owner', 'checksum']
+ filter_keys = ['visibility', 'member_status', 'owner', 'checksum', 'tag']
filter_items = [(key, getattr(args, key)) for key in filter_keys]
filters = dict([item for item in filter_items if item[1] is not None])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/python_glanceclient.egg-info/PKG-INFO
new/python-glanceclient-0.10.0.17.g897ae3d/python_glanceclient.egg-info/PKG-INFO
---
old/python-glanceclient-0.10.0.7.g7e4ba22/python_glanceclient.egg-info/PKG-INFO
2013-08-16 21:58:30.000000000 +0200
+++
new/python-glanceclient-0.10.0.17.g897ae3d/python_glanceclient.egg-info/PKG-INFO
2013-09-03 21:30:48.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-glanceclient
-Version: 0.10.0.7.g7e4ba22
+Version: 0.10.0.17.g897ae3d
Summary: OpenStack Image API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/python_glanceclient.egg-info/SOURCES.txt
new/python-glanceclient-0.10.0.17.g897ae3d/python_glanceclient.egg-info/SOURCES.txt
---
old/python-glanceclient-0.10.0.7.g7e4ba22/python_glanceclient.egg-info/SOURCES.txt
2013-08-16 21:58:30.000000000 +0200
+++
new/python-glanceclient-0.10.0.17.g897ae3d/python_glanceclient.egg-info/SOURCES.txt
2013-09-03 21:30:49.000000000 +0200
@@ -75,4 +75,5 @@
tests/var/certificate.crt
tests/var/expired-cert.crt
tests/var/privatekey.key
+tests/var/wildcard-certificate.crt
tools/with_venv.sh
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/tests/test_ssl.py
new/python-glanceclient-0.10.0.17.g897ae3d/tests/test_ssl.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/tests/test_ssl.py 2013-08-16
21:57:27.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/tests/test_ssl.py
2013-09-03 21:29:58.000000000 +0200
@@ -129,6 +129,21 @@
except Exception:
self.fail('Unexpected exception.')
+ def test_ssl_cert_cname_wildcard(self):
+ """
+ Test certificate: wildcard CN match
+ """
+ cert_file = os.path.join(TEST_VAR_DIR, 'wildcard-certificate.crt')
+ cert = crypto.load_certificate(crypto.FILETYPE_PEM,
+ file(cert_file).read())
+ # The expected cert should have CN=*.pong.example.com
+ self.assertEqual(cert.get_subject().commonName, '*.pong.example.com')
+ try:
+ conn = http.VerifiedHTTPSConnection('ping.pong.example.com', 0)
+ conn.verify_callback(None, cert, 0, 0, 1)
+ except Exception:
+ self.fail('Unexpected exception.')
+
def test_ssl_cert_subject_alt_name(self):
"""
Test certificate: SAN match
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/tests/v2/test_images.py
new/python-glanceclient-0.10.0.17.g897ae3d/tests/v2/test_images.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/tests/v2/test_images.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/tests/v2/test_images.py
2013-09-03 21:29:58.000000000 +0200
@@ -24,6 +24,9 @@
_CHKSUM = '93264c3edf5972c9f1cb309543d38a5c'
_CHKSUM1 = '54264c3edf5972c9f1cb309453d38a46'
+_TAG1 = 'power'
+_TAG2 = '64bit'
+
_BOGUS_ID = '63e7f218-29de-4477-abdc-8db7c9533188'
_EVERYTHING_ID = '802cbbb7-0379-4c38-853f-37302b5e3d29'
_OWNED_IMAGE_ID = 'a4963502-acc7-42ba-ad60-5aa0962b7faf'
@@ -254,6 +257,51 @@
{'images': []},
),
},
+ '/v2/images?limit=%d&tag=%s' % (images.DEFAULT_PAGE_SIZE, _TAG1): {
+ 'GET': (
+ {},
+ {'images': [
+ {
+ 'id': '3a4560a1-e585-443e-9b39-553b46ec92d1',
+ 'name': 'image-1',
+ }
+ ]},
+ ),
+ },
+ '/v2/images?limit=%d&tag=%s' % (images.DEFAULT_PAGE_SIZE, _TAG2): {
+ 'GET': (
+ {},
+ {'images': [
+ {
+ 'id': '2a4560b2-e585-443e-9b39-553b46ec92d1',
+ 'name': 'image-1',
+ },
+ {
+ 'id': '6f99bf80-2ee6-47cf-acfe-1f1fabb7e810',
+ 'name': 'image-2',
+ },
+ ]},
+ ),
+ },
+ '/v2/images?limit=%d&tag=%s&tag=%s' % (images.DEFAULT_PAGE_SIZE,
+ _TAG1, _TAG2):
+ {
+ 'GET': (
+ {},
+ {'images': [
+ {
+ 'id': '2a4560b2-e585-443e-9b39-553b46ec92d1',
+ 'name': 'image-1',
+ }
+ ]},
+ ),
+ },
+ '/v2/images?limit=%d&tag=fake' % images.DEFAULT_PAGE_SIZE: {
+ 'GET': (
+ {},
+ {'images': []},
+ ),
+ },
}
@@ -358,6 +406,35 @@
self.assertEqual(filters["owner"], "ni\xc3\xb1o")
+ def test_list_images_for_tag_single_image(self):
+ img_id = '3a4560a1-e585-443e-9b39-553b46ec92d1'
+ filters = {'filters': dict([('tag', [_TAG1])])}
+ images = list(self.controller.list(**filters))
+ self.assertEquals(1, len(images))
+ self.assertEqual(images[0].id, '%s' % img_id)
+ pass
+
+ def test_list_images_for_tag_multiple_images(self):
+ img_id1 = '2a4560b2-e585-443e-9b39-553b46ec92d1'
+ img_id2 = '6f99bf80-2ee6-47cf-acfe-1f1fabb7e810'
+ filters = {'filters': dict([('tag', [_TAG2])])}
+ images = list(self.controller.list(**filters))
+ self.assertEquals(2, len(images))
+ self.assertEqual(images[0].id, '%s' % img_id1)
+ self.assertEqual(images[1].id, '%s' % img_id2)
+
+ def test_list_images_for_multi_tags(self):
+ img_id1 = '2a4560b2-e585-443e-9b39-553b46ec92d1'
+ filters = {'filters': dict([('tag', [_TAG1, _TAG2])])}
+ images = list(self.controller.list(**filters))
+ self.assertEquals(1, len(images))
+ self.assertEqual(images[0].id, '%s' % img_id1)
+
+ def test_list_images_for_non_existent_tag(self):
+ filters = {'filters': dict([('tag', ['fake'])])}
+ images = list(self.controller.list(**filters))
+ self.assertEquals(0, len(images))
+
def test_get_image(self):
image = self.controller.get('3a4560a1-e585-443e-9b39-553b46ec92d1')
self.assertEqual(image.id, '3a4560a1-e585-443e-9b39-553b46ec92d1')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/tests/v2/test_shell_v2.py
new/python-glanceclient-0.10.0.17.g897ae3d/tests/v2/test_shell_v2.py
--- old/python-glanceclient-0.10.0.7.g7e4ba22/tests/v2/test_shell_v2.py
2013-08-16 21:57:29.000000000 +0200
+++ new/python-glanceclient-0.10.0.17.g897ae3d/tests/v2/test_shell_v2.py
2013-09-03 21:29:58.000000000 +0200
@@ -70,6 +70,7 @@
'member_status': 'Fake',
'owner': 'test',
'checksum': 'fake_checksum',
+ 'tag': 'fake tag'
}
args = self._make_args(input)
with mock.patch.object(self.gc.images, 'list') as mocked_list:
@@ -82,6 +83,7 @@
'member_status': 'Fake',
'visibility': True,
'checksum': 'fake_checksum',
+ 'tag': 'fake tag'
}
mocked_list.assert_called_once_with(page_size=18,
filters=exp_img_filters)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-glanceclient-0.10.0.7.g7e4ba22/tests/var/wildcard-certificate.crt
new/python-glanceclient-0.10.0.17.g897ae3d/tests/var/wildcard-certificate.crt
---
old/python-glanceclient-0.10.0.7.g7e4ba22/tests/var/wildcard-certificate.crt
1970-01-01 01:00:00.000000000 +0100
+++
new/python-glanceclient-0.10.0.17.g897ae3d/tests/var/wildcard-certificate.crt
2013-09-03 21:29:58.000000000 +0200
@@ -0,0 +1,61 @@
+#Certificate:
+# Data:
+# Version: 1 (0x0)
+# Serial Number: 13493453254446411258 (0xbb42603e589dedfa)
+# Signature Algorithm: sha1WithRSAEncryption
+# Issuer: C=US, ST=CA, L=State1, O=Openstack Test Org, OU=Openstack
Test Unit, CN=*.pong.example.com/[email protected]
+# Validity
+# Not Before: Aug 21 17:29:18 2013 GMT
+# Not After : Jul 28 17:29:18 2113 GMT
+# Subject: C=US, ST=CA, L=State1, O=Openstack Test Org, OU=Openstack
Test Unit, CN=*.pong.example.com/[email protected]
+# Subject Public Key Info:
+# Public Key Algorithm: rsaEncryption
+# Public-Key: (4096 bit)
+# Modulus:
+# 00:d4:bb:3a:c4:a0:06:54:31:23:5d:b0:78:5a:be:
+# 45:44:ae:a1:89:86:11:d8:ca:a8:33:b0:4f:f3:e1:
+# 46:1e:85:a3:2a:9c:a4:e0:c2:14:34:4f:91:df:dc:
+# .
+# .
+# .
+# Exponent: 65537 (0x10001)
+# Signature Algorithm: sha1WithRSAEncryption
+# 9f:cc:08:5d:19:ee:54:31:a3:57:d7:3c:89:89:c0:69:41:dd:
+# 46:f8:73:68:ec:46:b9:fa:f5:df:f6:d9:58:35:d8:53:94:88:
+# bd:36:a6:23:9e:0c:0d:89:62:35:91:49:b6:14:f4:43:69:3c:
+# .
+# .
+# .
+-----BEGIN CERTIFICATE-----
+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
+-----END CERTIFICATE-----
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]