Hello community,
here is the log from the commit of package python-ceilometerclient for
openSUSE:Factory checked in at 2013-08-07 20:51:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ceilometerclient (Old)
and /work/SRC/openSUSE:Factory/.python-ceilometerclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ceilometerclient"
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-ceilometerclient/python-ceilometerclient.changes
2013-07-10 17:30:30.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-ceilometerclient.new/python-ceilometerclient.changes
2013-08-07 20:51:55.000000000 +0200
@@ -1,0 +2,29 @@
+Tue Jul 16 08:54:50 UTC 2013 - [email protected]
+
+- Update to version 1.0.1.9:
+ + Rename README.md to README.rst
+
+-------------------------------------------------------------------
+Sun Jul 14 00:14:13 UTC 2013 - [email protected]
+
+- Update to version 1.0.1.8:
+ + Relax OpenStack upper capping of client versions
+
+-------------------------------------------------------------------
+Fri Jul 12 07:18:49 UTC 2013 - [email protected]
+
+- Update to version 1.0.1.7:
+ + Allow Keystoneclient 0.3.x
+ + Add matching_metadata to the allowed attributes
+
+-------------------------------------------------------------------
+Fri Jul 12 07:17:56 UTC 2013 - [email protected]
+
+- remove requirements-update.diff
+
+-------------------------------------------------------------------
+Wed Jul 10 07:15:17 UTC 2013 - [email protected]
+
+- add requirements-update.diff
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ceilometerclient.spec ++++++
--- /var/tmp/diff_new_pack.SuMjzn/_old 2013-08-07 20:51:56.000000000 +0200
+++ /var/tmp/diff_new_pack.SuMjzn/_new 2013-08-07 20:51:56.000000000 +0200
@@ -20,7 +20,7 @@
%define component ceilometerclient
Name: python-%{component}
-Version: 1.0.1.4
+Version: 1.0.2.7
Release: 0
Url: https://github.com/openstack/python-ceilometerclient
Summary: OpenStack Metering (Ceilometer) API Client
@@ -71,7 +71,7 @@
This package contains testsuite files for %{name}.
%prep
-%setup -q -n python-ceilometerclient-1.0.1.4.g075148b
+%setup -q -n python-ceilometerclient-1.0.2.7.g091937b
%openstack_cleanup_prep
echo %{version} > ceilometerclient/versioninfo
@@ -86,7 +86,7 @@
%files
%defattr(-,root,root,-)
-%doc LICENSE README.md
+%doc LICENSE README.rst
%{_bindir}/ceilometer
%{python_sitelib}/%{component}/
%{python_sitelib}/python_%{component}-*.egg-info
++++++ python-ceilometerclient-master.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/.gitignore
new/python-ceilometerclient-1.0.2.7.g091937b/.gitignore
--- old/python-ceilometerclient-1.0.1.4.g075148b/.gitignore 2013-07-08
10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/.gitignore 1970-01-01
01:00:00.000000000 +0100
@@ -1,21 +0,0 @@
-.coverage
-.venv
-.testrepository
-subunit.log
-*,cover
-cover
-*.pyc
-.idea
-*.swp
-*~
-AUTHORS
-build
-dist
-ChangeLog
-run_tests.err.log
-.tox
-doc/source/api
-*.egg
-ceilometerclient/versioninfo
-python_ceilometerclient.egg-info
-*.log
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/.gitreview
new/python-ceilometerclient-1.0.2.7.g091937b/.gitreview
--- old/python-ceilometerclient-1.0.1.4.g075148b/.gitreview 2013-07-08
10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/.gitreview 1970-01-01
01:00:00.000000000 +0100
@@ -1,4 +0,0 @@
-[gerrit]
-host=review.openstack.org
-port=29418
-project=openstack/python-ceilometerclient.git
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/AUTHORS
new/python-ceilometerclient-1.0.2.7.g091937b/AUTHORS
--- old/python-ceilometerclient-1.0.1.4.g075148b/AUTHORS 2013-07-08
10:37:44.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/AUTHORS 2013-08-05
15:30:18.000000000 +0200
@@ -6,9 +6,11 @@
Eoghan Glynn <[email protected]>
Eric Pendergrass <[email protected]>
Gordon Chung <[email protected]>
+Guangyu Suo <[email protected]>
James E. Blair <[email protected]>
Jason Zhang <[email protected]>
Julien Danjou <[email protected]>
Lianhao Lu <[email protected]>
+Mehdi Abaakouk <[email protected]>
Monty Taylor <[email protected]>
-yolanda.robla <[email protected]>
\ No newline at end of file
+yolanda.robla <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/ChangeLog
new/python-ceilometerclient-1.0.2.7.g091937b/ChangeLog
--- old/python-ceilometerclient-1.0.1.4.g075148b/ChangeLog 2013-07-08
10:37:44.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ChangeLog 2013-08-05
15:30:18.000000000 +0200
@@ -1,3 +1,134 @@
+commit 091937b9a25aac666dba45ca5c8cc725af765a22
+Merge: 423fa26 e4348aa
+Author: Jenkins <[email protected]>
+Date: Mon Aug 5 13:29:07 2013 +0000
+
+ Merge "Handle case where os_auth_token is set to ''"
+
+commit 423fa26342ebfe400b2decd81e7f7dfc5053d718
+Merge: 194f145 dd4b654
+Author: Jenkins <[email protected]>
+Date: Mon Aug 5 13:26:19 2013 +0000
+
+ Merge "Fix typo in help text."
+
+commit 194f145b3a823a33b0d0bcaea4853d7829c07ed5
+Merge: 1772adf 3a780a6
+Author: Jenkins <[email protected]>
+Date: Mon Aug 5 13:22:17 2013 +0000
+
+ Merge "Enhance ceilometer statistics command with --period"
+
+commit e4348aa3d28f26b354326e056dc26c293963ea7f
+Author: Eoghan Glynn <[email protected]>
+Date: Fri Aug 2 17:07:28 2013 +0100
+
+ Handle case where os_auth_token is set to ''
+
+ Properly handle case (as in CLI) where os_auth_token is
+ set, but to an empty string.
+
+ Change-Id: I7e96bf22e2a91e0e3ec783b406fd05e4138860c8
+
+commit 1772adf0cce19de9ef151c24c482122f9d18507e
+Author: Eoghan Glynn <[email protected]>
+Date: Thu Aug 1 17:07:09 2013 +0000
+
+ Ensure keystoneclient.auth_token is re-evaluated
+
+ Fixes bug 1207441
+
+ Force the re-evaluation of the keystoneclient.auth_token property
+ so as to avoid missing out on the in-built refresh logic when expiry
+ is imminent.
+
+ Change-Id: I8319e9e9a71e33e089fbe2fbc812d2b6c15da927
+
+commit dd4b654e5f6d6d739d69226f1898b1d31db07b37
+Author: Eoghan Glynn <[email protected]>
+Date: Thu Aug 1 17:41:38 2013 +0000
+
+ Fix typo in help text.
+
+ Minor misspelling in alarm-{create|update} help text.
+
+ Change-Id: I1ddbaec42dda175a17d32229029c08d46e64151f
+
+commit 3a780a6159e53a25e722ec083ab45d915279958a
+Author: Guangyu Suo <[email protected]>
+Date: Fri Jul 19 10:34:17 2013 +0800
+
+ Enhance ceilometer statistics command with --period
+
+ Currently, if don't specify query parameter in ceilometer statistics
+ command, ceilometer statistics with --period will not work. This change
+ is trying to fix this issue.
+
+ Change-Id: I8723bad11d5c452c2834e33df9bb01ebdc6ce9ce
+ Fixs: bug #1202658
+
+commit 04cc271da208069e921da252554e839de46442ed
+Author: Mehdi Abaakouk <[email protected]>
+Date: Tue Jul 16 18:43:35 2013 +0200
+
+ Allow to set matching_metadata with the cli
+
+ This change allows to set the matching_metadata of a alarm like this:
+
+ ceilometer alarm-create --matching-metadata 'key=value' \
+ --matching-metadata 'key2=value2' --name 'alarm' ...
+
+ Fixes bug #1201877
+
+ Change-Id: I22bf261b0a9580a06ae107ed45d082171f21fcc4
+
+commit 3010ebcc75ea271c46351ef68d00482f0fbacb85
+Author: Angus Salkeld <[email protected]>
+Date: Thu Jul 18 09:41:16 2013 +1000
+
+ Add support for creating samples
+
+ Change-Id: Ib33a5fd162d760efa23a2fc496c1d11d79484491
+
+commit efd67de3fae0be1893c5dbf60e3a29d40e5bdb0d
+Author: Dirk Mueller <[email protected]>
+Date: Sun Jul 14 21:12:41 2013 +0200
+
+ Rename README.md to README.rst
+
+ It actually is a reStructuredText file and README.rst
+ seems to be more common accross all OpenStack projects.
+
+ Change-Id: I2f5ef97315ec906fc7f0089536b038b977f8f68c
+
+commit 3498d5146dbc5b6021c72b0a802af266b213f646
+Author: Gordon Chung <[email protected]>
+Date: Fri Jul 12 14:14:03 2013 -0400
+
+ Relax OpenStack upper capping of client versions
+
+ uncap upper keystoneclient version
+
+ Change-Id: Id1017f6073be8b7b95ca7ff0c68e09f61b26bb82
+ Fixes: bug#1200214
+
+commit 5aff59d7f4813daf6e076cb955811a4443c50421
+Merge: 12ffe2f 2687315
+Author: Jenkins <[email protected]>
+Date: Thu Jul 11 18:03:58 2013 +0000
+
+ Merge "Add matching_metadata to the allowed attributes"
+
+commit 12ffe2f211cbcb71ad66732f25d13a5e8bfc54f6
+Author: Dirk Mueller <[email protected]>
+Date: Wed Jul 10 08:54:59 2013 +0200
+
+ Allow Keystoneclient 0.3.x
+
+ Sync requirements with openstack/requirements file.
+
+ Change-Id: I344aa47f248071cea8b6cbe31450528cd343bca2
+
commit 075148bea58a96abd47e428af45035d9df2af801
Author: Monty Taylor <[email protected]>
Date: Fri Jul 5 22:34:39 2013 -0400
@@ -6,6 +137,14 @@
Change-Id: I74ab14534d80b33f5b9eb1b2200facf82b6d9504
+commit 2687315dc8c7dc8936f26c974f731cb3333e45f7
+Author: Angus Salkeld <[email protected]>
+Date: Fri Jul 5 12:18:24 2013 +1000
+
+ Add matching_metadata to the allowed attributes
+
+ Change-Id: Icbd68061a43d18dd27baa7ff68f9381a160cd545
+
commit f1aaf95f0605eeed422a5579710ea93737b1607b
Merge: 6f81aa1 f09dfd0
Author: Jenkins <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/PKG-INFO
new/python-ceilometerclient-1.0.2.7.g091937b/PKG-INFO
--- old/python-ceilometerclient-1.0.1.4.g075148b/PKG-INFO 2013-07-08
10:37:46.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/PKG-INFO 2013-08-05
15:30:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-ceilometerclient
-Version: 1.0.1.4.g075148b
+Version: 1.0.2.7.g091937b
Summary: OpenStack Metering API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/README.md
new/python-ceilometerclient-1.0.2.7.g091937b/README.md
--- old/python-ceilometerclient-1.0.1.4.g075148b/README.md 2013-07-08
10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/README.md 1970-01-01
01:00:00.000000000 +0100
@@ -1,12 +0,0 @@
-Python bindings to the Ceilometer API
-=====================================
-
-This is a client library for Ceilometer built on the Ceilometer API. It
-provides a Python API (the ``ceilometerclient`` module) and a command-line tool
-(``ceilometer``).
-
-Development takes place via the usual OpenStack processes as outlined in the
-`OpenStack wiki <http://wiki.openstack.org/HowToContribute>`_. The master
-repository is on `GitHub
<http://github.com/openstack/python-ceilometerclient>`_.
-
-See release notes and more at
`<http://docs.openstack.org/developer/python-ceilometerclient/>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/README.rst
new/python-ceilometerclient-1.0.2.7.g091937b/README.rst
--- old/python-ceilometerclient-1.0.1.4.g075148b/README.rst 1970-01-01
01:00:00.000000000 +0100
+++ new/python-ceilometerclient-1.0.2.7.g091937b/README.rst 2013-08-05
15:29:35.000000000 +0200
@@ -0,0 +1,12 @@
+Python bindings to the Ceilometer API
+=====================================
+
+This is a client library for Ceilometer built on the Ceilometer API. It
+provides a Python API (the ``ceilometerclient`` module) and a command-line tool
+(``ceilometer``).
+
+Development takes place via the usual OpenStack processes as outlined in the
+`OpenStack wiki <http://wiki.openstack.org/HowToContribute>`_. The master
+repository is on `GitHub
<http://github.com/openstack/python-ceilometerclient>`_.
+
+See release notes and more at
`<http://docs.openstack.org/developer/python-ceilometerclient/>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/client.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/client.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/client.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/client.py
2013-08-05 15:29:35.000000000 +0200
@@ -73,7 +73,9 @@
'insecure': kwargs.get('insecure'),
}
_ksclient = _get_ksclient(**ks_kwargs)
- token = kwargs.get('os_auth_token') or _ksclient.auth_token
+ token = ((lambda: kwargs.get('os_auth_token'))
+ if kwargs.get('os_auth_token')
+ else (lambda: _ksclient.auth_token))
endpoint = kwargs.get('ceilometer_url') or \
_get_endpoint(_ksclient, **ks_kwargs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/common/http.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/common/http.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/common/http.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/common/http.py
2013-08-05 15:29:35.000000000 +0200
@@ -133,8 +133,9 @@
# Copy the kwargs so we can reuse the original in case of redirects
kwargs['headers'] = copy.deepcopy(kwargs.get('headers', {}))
kwargs['headers'].setdefault('User-Agent', USER_AGENT)
- if self.auth_token:
- kwargs['headers'].setdefault('X-Auth-Token', self.auth_token)
+ auth_token = self.auth_token()
+ if auth_token:
+ kwargs['headers'].setdefault('X-Auth-Token', auth_token)
self.log_curl_request(method, url, kwargs)
conn = self.get_connection()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/common/utils.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/common/utils.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/common/utils.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/common/utils.py
2013-08-05 15:29:35.000000000 +0200
@@ -127,6 +127,19 @@
return importutils.import_module(module)
+def args_array_to_dict(kwargs, key_to_convert):
+ values_to_convert = kwargs.get(key_to_convert)
+ if values_to_convert:
+ try:
+ kwargs[key_to_convert] = dict(v.split("=", 1)
+ for v in values_to_convert)
+ except ValueError:
+ raise exc.CommandError(
+ '%s must be a list of key=value not "%s"' % (
+ key_to_convert, values_to_convert))
+ return kwargs
+
+
def exit(msg=''):
if msg:
print >> sys.stderr, msg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/test_utils.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/test_utils.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/test_utils.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/test_utils.py
2013-08-05 15:29:35.000000000 +0200
@@ -45,3 +45,15 @@
| Key | Value |
+----------+-------+
''')
+
+ def test_args_array_to_dict(self):
+ my_args = {
+ 'matching_metadata': ['metadata.key=metadata_value'],
+ 'other': 'value'
+ }
+ cleaned_dict = utils.args_array_to_dict(my_args,
+ "matching_metadata")
+ self.assertEqual(cleaned_dict, {
+ 'matching_metadata': {'metadata.key': 'metadata_value'},
+ 'other': 'value'
+ })
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_alarms.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_alarms.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_alarms.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_alarms.py
2013-08-05 15:29:35.000000000 +0200
@@ -45,7 +45,6 @@
CREATE_ALARM = copy.deepcopy(AN_ALARM)
del CREATE_ALARM['timestamp']
del CREATE_ALARM['state_timestamp']
-del CREATE_ALARM['matching_metadata']
del CREATE_ALARM['alarm_id']
DELTA_ALARM = {u'alarm_actions': ['url1', 'url2'],
u'comparison_operator': u'lt',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_options.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_options.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_options.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_options.py
2013-08-05 15:29:35.000000000 +0200
@@ -40,6 +40,15 @@
'value': 43}])
self.assertEqual(url, '/?q.op=&q.value=43&q.field=this')
+ def test_one_param(self):
+ url = options.build_url('/', None, ['period=60'])
+ self.assertEqual(url, '/?period=60')
+
+ def test_two_params(self):
+ url = options.build_url('/', None, ['period=60',
+ 'others=value'])
+ self.assertEqual(url, '/?period=60&others=value')
+
class CliTest(utils.BaseTestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_samples.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_samples.py
---
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/tests/v2/test_samples.py
2013-07-08 10:37:08.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/tests/v2/test_samples.py
2013-08-05 15:29:35.000000000 +0200
@@ -13,9 +13,26 @@
# License for the specific language governing permissions and limitations
# under the License.
+import copy
+
from ceilometerclient.tests import utils
import ceilometerclient.v2.samples
+GET_SAMPLE = {u'counter_name': u'instance',
+ u'user_id': u'user-id',
+ u'resource_id': u'resource-id',
+ u'timestamp': u'2012-07-02T10:40:00',
+ u'source': u'test_source',
+ u'message_id': u'54558a1c-6ef3-11e2-9875-5453ed1bbb5f',
+ u'counter_unit': u'',
+ u'counter_volume': 1.0,
+ u'project_id': u'project1',
+ u'resource_metadata': {u'tag': u'self.counter',
+ u'display_name': u'test-server'},
+ u'counter_type': u'cumulative'}
+CREATE_SAMPLE = copy.deepcopy(GET_SAMPLE)
+del CREATE_SAMPLE['message_id']
+del CREATE_SAMPLE['source']
base_url = '/v2/meters/instance'
args = 'q.op=&q.op=&q.value=foo&q.value=bar&q.field=resource_id&q.field=source'
@@ -24,20 +41,11 @@
{
'GET': (
{},
- [
- {u'counter_name': u'instance',
- u'user_id': u'user-id',
- u'resource_id': u'resource-id',
- u'timestamp': u'2012-07-02T10:40:00',
- u'message_id': u'54558a1c-6ef3-11e2-9875-5453ed1bbb5f',
- u'source': u'test_source',
- u'counter_unit': u'',
- u'counter_volume': 1.0,
- u'project_id': u'project1',
- u'resource_metadata': {u'tag': u'self.counter',
- u'display_name': u'test-server'},
- u'counter_type': u'cumulative'},
- ]
+ [GET_SAMPLE]
+ ),
+ 'POST': (
+ {},
+ [CREATE_SAMPLE],
),
},
'%s?%s' % (base_url, args):
@@ -77,3 +85,11 @@
expect = [('GET', '%s?%s' % (base_url, args), {}, None)]
self.assertEqual(self.api.calls, expect)
self.assertEqual(len(samples), 0)
+
+ def test_create(self):
+ sample = self.mgr.create(**CREATE_SAMPLE)
+ expect = [
+ ('POST', '/v2/meters/instance', {}, [CREATE_SAMPLE]),
+ ]
+ self.assertEqual(self.api.calls, expect)
+ self.assertTrue(sample)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v1/client.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v1/client.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v1/client.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v1/client.py
2013-08-05 15:29:35.000000000 +0200
@@ -22,7 +22,7 @@
:param string endpoint: A user-supplied endpoint URL for the ceilometer
service.
- :param string token: Token for authentication.
+ :param function token: Provides token for authentication.
:param integer timeout: Allows customization of the timeout for client
http requests. (optional)
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/alarms.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/alarms.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/alarms.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/alarms.py
2013-08-05 15:29:35.000000000 +0200
@@ -33,6 +33,7 @@
'alarm_actions',
'ok_actions',
'insufficient_data_actions',
+ 'matching_metadata',
]
CREATION_ATTRIBUTES = UPDATABLE_ATTRIBUTES + ['name', 'project_id', 'user_id']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/client.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/client.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/client.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/client.py
2013-08-05 15:29:35.000000000 +0200
@@ -26,7 +26,7 @@
:param string endpoint: A user-supplied endpoint URL for the ceilometer
service.
- :param string token: Token for authentication.
+ :param function token: Provides token for authentication.
:param integer timeout: Allows customization of the timeout for client
http requests. (optional)
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/options.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/options.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/options.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/options.py
2013-08-05 15:29:35.000000000 +0200
@@ -39,7 +39,10 @@
if params:
for p in params:
path += '&%s' % p
-
+ elif params:
+ path += '?%s' % params[0]
+ for p in params[1:]:
+ path += '&%s' % p
return path
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/samples.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/samples.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/samples.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/samples.py
2013-08-05 15:29:35.000000000 +0200
@@ -14,6 +14,17 @@
from ceilometerclient.common import base
from ceilometerclient.v2 import options
+CREATION_ATTRIBUTES = ('source',
+ 'counter_name',
+ 'counter_type',
+ 'counter_unit',
+ 'counter_volume',
+ 'user_id',
+ 'project_id',
+ 'resource_id',
+ 'timestamp',
+ 'resource_metadata')
+
class Sample(base.Resource):
def __repr__(self):
@@ -23,8 +34,20 @@
class SampleManager(base.Manager):
resource_class = Sample
+ @staticmethod
+ def _path(counter_name=None):
+ return '/v2/meters/%s' % counter_name if counter_name else '/v2/meters'
+
def list(self, meter_name=None, q=None):
- path = '/v2/meters'
- if meter_name:
- path += '/' + meter_name
+ path = self._path(counter_name=meter_name)
return self._list(options.build_url(path, q))
+
+ def create(self, **kwargs):
+ new = dict((key, value) for (key, value) in kwargs.items()
+ if key in CREATION_ATTRIBUTES)
+ url = self._path(counter_name=kwargs['counter_name'])
+ resp, body = self.api.json_request('POST',
+ url,
+ body=[new])
+ if body:
+ return [Sample(self, b) for b in body]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/shell.py
new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/shell.py
--- old/python-ceilometerclient-1.0.1.4.g075148b/ceilometerclient/v2/shell.py
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/ceilometerclient/v2/shell.py
2013-08-05 15:29:35.000000000 +0200
@@ -16,6 +16,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import json
+
from ceilometerclient.common import utils
from ceilometerclient import exc
from ceilometerclient.v2 import options
@@ -76,6 +78,41 @@
sortby=0)
[email protected]('--project-id', metavar='<PROJECT_ID>',
+ help='Tenant to associate with alarm '
+ '(only settable by admin users)')
[email protected]('--user-id', metavar='<USER_ID>',
+ help='User to associate with alarm '
+ '(only settable by admin users)')
[email protected]('-r', '--resource-id', metavar='<RESOURCE_ID>',
+ help='ID of the resource.')
[email protected]('-m', '--meter-name', metavar='<METER_NAME>',
+ help='the meter name')
[email protected]('--meter-type', metavar='<METER_TYPE>',
+ help='the meter type')
[email protected]('--meter-unit', metavar='<METER_UNIT>',
+ help='the meter unit')
[email protected]('--sample-volume', metavar='<SAMPLE_VOLUME>',
+ help='The sample volume')
[email protected]('--resource-metadata', metavar='<RESOURCE_METADATA>',
+ help='resource metadata')
+def do_sample_create(cc, args={}):
+ '''Create a sample.'''
+ arg_to_field_mapping = {'meter_name': 'counter_name',
+ 'meter_unit': 'counter_unit',
+ 'meter_type': 'counter_type',
+ 'sample_volume': 'counter_volume'}
+ fields = {}
+ for var in vars(args).items():
+ k, v = var[0], var[1]
+ if v is not None:
+ if k == 'resource_metadata':
+ fields[k] = json.loads(v)
+ else:
+ fields[arg_to_field_mapping.get(k, k)] = v
+ cc.samples.create(**fields)
+
+
@utils.arg('-q', '--query', metavar='<QUERY>',
help='key[op]value; list.')
def do_meter_list(cc, args={}):
@@ -110,7 +147,8 @@
fields = ['name', 'description', 'counter_name', 'period',
'evaluation_periods', 'threshold', 'comparison_operator',
'state', 'enabled', 'alarm_id', 'user_id', 'project_id',
- 'alarm_actions', 'ok_actions', 'insufficient_data_actions']
+ 'alarm_actions', 'ok_actions', 'insufficient_data_actions',
+ 'matching_metadata']
data = dict([(f, getattr(alarm, f, '')) for f in fields])
utils.print_dict(data, wrap=72)
@@ -167,9 +205,14 @@
metavar='<Webhook URL>', action='append', default=None,
help=('URL to invoke when state transitions to unkown. '
'May be used multiple times.'))
[email protected]('--matching-metadata', dest='matching_metadata',
+ metavar='<Matching Metadata>', action='append', default=None,
+ help=('A meter should match this resource metadata (key=value) '
+ 'additionally to the counter_name'))
def do_alarm_create(cc, args={}):
'''Create a new alarm.'''
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
+ fields = utils.args_array_to_dict(fields, "matching_metadata")
alarm = cc.alarms.create(**fields)
_display_alarm(alarm)
@@ -206,9 +249,14 @@
metavar='<Webhook URL>', action='append', default=None,
help=('URL to invoke when state transitions to unkown. '
'May be used multiple times.'))
[email protected]('--matching-metadata', dest='matching_metadata',
+ metavar='<Matching Metadata>', action='append', default=None,
+ help=('A meter should match this resource metadata (key=value) '
+ 'additionally to the counter_name'))
def do_alarm_update(cc, args={}):
'''Update an existing alarm.'''
fields = dict(filter(lambda x: not (x[1] is None), vars(args).items()))
+ fields = utils.args_array_to_dict(fields, "matching_metadata")
fields.pop('alarm_id')
alarm = cc.alarms.update(args.alarm_id, **fields)
_display_alarm(alarm)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/PKG-INFO
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/PKG-INFO
---
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/PKG-INFO
2013-07-08 10:37:44.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/PKG-INFO
2013-08-05 15:30:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: python-ceilometerclient
-Version: 1.0.1.4.g075148b
+Version: 1.0.2.7.g091937b
Summary: OpenStack Metering API Client Library
Home-page: http://www.openstack.org/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/SOURCES.txt
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/SOURCES.txt
---
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/SOURCES.txt
2013-07-08 10:37:46.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/SOURCES.txt
2013-08-05 15:30:18.000000000 +0200
@@ -1,11 +1,9 @@
-.gitignore
-.gitreview
.testr.conf
AUTHORS
ChangeLog
LICENSE
MANIFEST.in
-README.md
+README.rst
openstack-common.conf
requirements.txt
run_tests.sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/requires.txt
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/requires.txt
---
old/python-ceilometerclient-1.0.1.4.g075148b/python_ceilometerclient.egg-info/requires.txt
2013-07-08 10:37:44.000000000 +0200
+++
new/python-ceilometerclient-1.0.2.7.g091937b/python_ceilometerclient.egg-info/requires.txt
2013-08-05 15:30:18.000000000 +0200
@@ -3,4 +3,4 @@
httplib2
iso8601>=0.1.4
prettytable>=0.6,<0.8
-python-keystoneclient>=0.2,<0.3
\ No newline at end of file
+python-keystoneclient>=0.2.1
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/requirements.txt
new/python-ceilometerclient-1.0.2.7.g091937b/requirements.txt
--- old/python-ceilometerclient-1.0.1.4.g075148b/requirements.txt
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/requirements.txt
2013-08-05 15:29:35.000000000 +0200
@@ -4,4 +4,4 @@
httplib2
iso8601>=0.1.4
prettytable>=0.6,<0.8
-python-keystoneclient>=0.2,<0.3
+python-keystoneclient>=0.2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-ceilometerclient-1.0.1.4.g075148b/setup.cfg
new/python-ceilometerclient-1.0.2.7.g091937b/setup.cfg
--- old/python-ceilometerclient-1.0.1.4.g075148b/setup.cfg 2013-07-08
10:37:46.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/setup.cfg 2013-08-05
15:30:18.000000000 +0200
@@ -2,7 +2,7 @@
name = python-ceilometerclient
summary = OpenStack Metering API Client Library
description-file =
- README.md
+ README.rst
author = OpenStack
author-email = [email protected]
home-page = http://www.openstack.org/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-ceilometerclient-1.0.1.4.g075148b/test-requirements.txt
new/python-ceilometerclient-1.0.2.7.g091937b/test-requirements.txt
--- old/python-ceilometerclient-1.0.1.4.g075148b/test-requirements.txt
2013-07-08 10:37:08.000000000 +0200
+++ new/python-ceilometerclient-1.0.2.7.g091937b/test-requirements.txt
2013-08-05 15:29:35.000000000 +0200
@@ -2,8 +2,7 @@
pep8==1.4.5
pyflakes==0.7.2
flake8==2.0
-hacking>=0.5.3,<0.6
-
+hacking>=0.5.6,<0.6
coverage>=3.6
discover
fixtures>=0.3.12
@@ -11,4 +10,4 @@
python-subunit
sphinx>=1.1.2
testrepository>=0.0.13
-testtools>=0.9.29
+testtools>=0.9.32
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]