Hello community,

here is the log from the commit of package python-aodhclient for 
openSUSE:Factory checked in at 2018-09-07 15:36:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-aodhclient (Old)
 and      /work/SRC/openSUSE:Factory/.python-aodhclient.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-aodhclient"

Fri Sep  7 15:36:48 2018 rev:6 rq:633058 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-aodhclient/python-aodhclient.changes      
2018-03-19 23:34:08.282531034 +0100
+++ /work/SRC/openSUSE:Factory/.python-aodhclient.new/python-aodhclient.changes 
2018-09-07 15:36:51.838700671 +0200
@@ -1,0 +2,26 @@
+Fri Aug 31 16:23:21 UTC 2018 - [email protected]
+
+- update to version 1.1.0
+  - tests: stop using Ceilometer legacy resource types
+  - Cleanup setup.cfg
+  - Fixup README
+  - Remove log translations
+  - Fix Gnocchi tarball URL
+  - Update reno for stable/pike
+  - Fix doc builds
+  - remove threshold alarms
+  - Remove setting of version/release from releasenotes
+  - cleanup coveragerc
+  - cli: replace metrics by metric
+  - Update reno for stable/queens
+  - doc: remove mention of combination alarms
+  - Update documentation URLs
+  - Follow the new PTI for document build
+  - Set the Cliff namespace
+  - Fix gnocchi/pifpaf requirements
+  - Not able to set threshold value to ‘0’ in aodh alarm creation
+  - block sphinx 1.6.1
+  - Docs: switch to openstackdocstheme
+  - delete --debug in a shell command
+
+-------------------------------------------------------------------

Old:
----
  aodhclient-0.9.0.tar.gz

New:
----
  aodhclient-1.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-aodhclient.spec ++++++
--- /var/tmp/diff_new_pack.xHlm84/_old  2018-09-07 15:36:52.282700174 +0200
+++ /var/tmp/diff_new_pack.xHlm84/_new  2018-09-07 15:36:52.286700169 +0200
@@ -18,37 +18,38 @@
 
 %global sname aodhclient
 Name:           python-aodhclient
-Version:        0.9.0
+Version:        1.1.0
 Release:        0
 Summary:        Python client library for Aodh
 License:        Apache-2.0
 Group:          Development/Languages/Python
-Url:            https://github.com/openstack/python-aodhclient
+URL:            https://github.com/openstack/python-aodhclient
 Source0:        
https://files.pythonhosted.org/packages/source/a/%{sname}/%{sname}-%{version}.tar.gz
 BuildRequires:  openstack-macros
-BuildRequires:  python-cliff >= 2.8.0
+BuildRequires:  python-cliff >= 1.14.0
 BuildRequires:  python-devel
-BuildRequires:  python-keystoneauth1 >= 3.3.0
-BuildRequires:  python-oslo.serialization >= 2.18.0
-BuildRequires:  python-oslo.utils >= 3.33.0
-BuildRequires:  python-oslotest >= 3.2.0
-BuildRequires:  python-pbr >= 2.0.0
-BuildRequires:  python-pyparsing >= 2.1.0
-BuildRequires:  python-python-subunit >= 1.0.0
-BuildRequires:  python-requests >= 2.14.2
-BuildRequires:  python-setuptools >= 16.0
-BuildRequires:  python-testrepository >= 0.0.18
-BuildRequires:  python-testtools >= 2.2.0
-Requires:       python-cliff >= 2.8.0
-Requires:       python-debtcollector >= 1.2.0
-Requires:       python-keystoneauth1 >= 3.3.0
-Requires:       python-osc-lib >= 1.8.0
-Requires:       python-oslo.i18n >= 3.15.3
-Requires:       python-oslo.serialization >= 2.18.0
-Requires:       python-oslo.utils >= 3.33.0
-Requires:       python-pbr >= 2.0.0
-Requires:       python-pyparsing >= 2.1.0
-Requires:       python-six >= 1.10.0
+BuildRequires:  python-keystoneauth1 >= 1.0.0
+BuildRequires:  python-openstackdocstheme
+BuildRequires:  python-oslo.serialization >= 1.4.0
+BuildRequires:  python-oslo.utils >= 2.0.0
+BuildRequires:  python-oslotest
+BuildRequires:  python-pbr >= 1.4
+BuildRequires:  python-pyparsing
+BuildRequires:  python-python-subunit
+BuildRequires:  python-requests
+BuildRequires:  python-setuptools
+BuildRequires:  python-testrepository
+BuildRequires:  python-testtools
+Requires:       python-cliff >= 1.14.0
+Requires:       python-debtcollector
+Requires:       python-keystoneauth1 >= 1.0.0
+Requires:       python-osc-lib >= 1.0.1
+Requires:       python-oslo.i18n >= 1.5.0
+Requires:       python-oslo.serialization >= 1.4.0
+Requires:       python-oslo.utils >= 2.0.0
+Requires:       python-pbr >= 1.4
+Requires:       python-pyparsing
+Requires:       python-six
 BuildArch:      noarch
 
 %description
@@ -59,7 +60,7 @@
 Summary:        Documentation for OpenStack Aodh API Client
 Group:          Documentation/HTML
 BuildRequires:  python-Sphinx
-BuildRequires:  python-oslosphinx >= 4.7.0
+BuildRequires:  python-oslosphinx
 
 %description      doc
 This is a client library for Aodh built on the Aodh API. It
@@ -77,7 +78,7 @@
 %install
 %py2_install
 
-%{__python2} setup.py build_sphinx
+PBR_VERSION=%{version} sphinx-build -b html doc/source doc/build/html
 # Fix hidden-file-or-dir warnings
 rm -rf html/.doctrees html/.buildinfo
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.xHlm84/_old  2018-09-07 15:36:52.318700133 +0200
+++ /var/tmp/diff_new_pack.xHlm84/_new  2018-09-07 15:36:52.318700133 +0200
@@ -1,8 +1,8 @@
 <services>
   <service mode="disabled" name="renderspec">
-    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/openstack/aodhclient/aodhclient.spec.j2</param>
+    <param 
name="input-template">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/rocky/openstack/aodhclient/aodhclient.spec.j2</param>
     <param name="output-name">python-aodhclient.spec</param>
-    <param 
name="requirements">https://raw.githubusercontent.com/openstack/rpm-packaging/stable/queens/requirements.txt</param>
+    <param 
name="requirements">https://raw.githubusercontent.com/openstack/python-aodhclient/stable/rocky/requirements.txt</param>
     <param name="changelog-email">[email protected]</param>
     <param name="changelog-provider">gh,openstack,python-aodhclient</param>
   </service>

++++++ aodhclient-0.9.0.tar.gz -> aodhclient-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/.coveragerc 
new/aodhclient-1.1.0/.coveragerc
--- old/aodhclient-0.9.0/.coveragerc    2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/.coveragerc    2018-06-18 14:37:32.000000000 +0200
@@ -1,7 +1,6 @@
 [run]
 branch = True
 source = aodhclient
-omit = aodhclient/openstack/*
 
 [report]
 ignore_errors = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/AUTHORS new/aodhclient-1.1.0/AUTHORS
--- old/aodhclient-0.9.0/AUTHORS        2017-03-01 23:27:16.000000000 +0100
+++ new/aodhclient-1.1.0/AUTHORS        2018-06-18 14:40:38.000000000 +0200
@@ -2,6 +2,7 @@
 Cao Xuan Hoang <[email protected]>
 Chaozhe.Chen <[email protected]>
 Doug Hellmann <[email protected]>
+Eyal <[email protected]>
 Hanxi Liu <[email protected]>
 Jon Schlueter <[email protected]>
 Julien Danjou <[email protected]>
@@ -11,21 +12,29 @@
 Mehdi Abaakouk <[email protected]>
 Mehdi Abaakouk <[email protected]>
 Monty Taylor <[email protected]>
+Nguyen Hai <[email protected]>
 OpenStack Release Bot <[email protected]>
 PanFengyun <[email protected]>
 Pradeep Kilambi <[email protected]>
+Rui Yuan Dou <[email protected]>
 Stéphane Albert <[email protected]>
 Swapnil Kulkarni (coolsvap) <[email protected]>
 Thomas Bechtold <[email protected]>
 Tony Breeds <[email protected]>
+Tovin Seven <[email protected]>
 Zhao Lei <[email protected]>
 ZhiQiang Fan <[email protected]>
 Zi Lian Ji <[email protected]>
+Zuul <[email protected]>
+gord chung <[email protected]>
 gordon chung <[email protected]>
 houweichao <[email protected]>
+lipan <[email protected]>
 liusheng <[email protected]>
 liyuanzhen <[email protected]>
+rajat29 <[email protected]>
 venkatamahesh <[email protected]>
 xialinjuan <[email protected]>
 xiaozhuangqing <[email protected]>
 zhangguoqing <[email protected]>
+zhangyangyang <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/ChangeLog 
new/aodhclient-1.1.0/ChangeLog
--- old/aodhclient-0.9.0/ChangeLog      2017-03-01 23:27:16.000000000 +0100
+++ new/aodhclient-1.1.0/ChangeLog      2018-06-18 14:40:38.000000000 +0200
@@ -1,6 +1,35 @@
 CHANGES
 =======
 
+1.1.0
+-----
+
+* Fixup README
+* cli: replace metrics by metric
+* Follow the new PTI for document build
+* Not able to set threshold value to ‘0’ in aodh alarm creation
+* Update reno for stable/queens
+
+1.0.0
+-----
+
+* remove threshold alarms
+* Set the Cliff namespace
+* Fix doc builds
+* delete --debug in a shell command
+* Remove setting of version/release from releasenotes
+* doc: remove mention of combination alarms
+* Cleanup setup.cfg
+* Update reno for stable/pike
+* Docs: switch to openstackdocstheme
+* Fix gnocchi/pifpaf requirements
+* Update documentation URLs
+* Fix Gnocchi tarball URL
+* block sphinx 1.6.1
+* cleanup coveragerc
+* tests: stop using Ceilometer legacy resource types
+* Remove log translations
+
 0.9.0
 -----
 
@@ -8,7 +37,7 @@
 * Clean deprecated "query" paremeter in alarm.list()
 * Correct the port number of gnocchi endpoint
 * Trivial-fix: make the capabilities help message more specific in OSC
-* Remove the duplicated __version__ definition
+* Remove the duplicated \_\_version\_\_ definition
 * Trivial: remove support for py34
 * Update reno for stable/ocata
 * Remove unused test dependency
@@ -20,7 +49,7 @@
 * Modified the help info
 * Enable coverage report in console output
 * [doc] Note lack of constraints is a choice
-* Replaces uuid.uuid4 with uuidutils.generate_uuid()
+* Replaces uuid.uuid4 with uuidutils.generate\_uuid()
 * Bump hacking to 0.12
 * Add plug-in summary for osc doc
 * Enable release notes translation
@@ -41,12 +70,12 @@
 -----
 
 * Add Python 3.5 classifier and venv
-* Add event_id for alarm-history display
+* Add event\_id for alarm-history display
 * Add pagination support in Aodhclient
 * Split alarm query and alarm list in SDK layer
 * Support get/set alarm state interfaces
 * Add releasenotes for Newton updates
-* add default value for http_status in ClientException
+* add default value for http\_status in ClientException
 * fix help text for option --composite-rule
 * improve threshold & event alarm query formatting
 * Add explanation for how to get meter name
@@ -79,7 +108,7 @@
 * Remove keystonemiddleware dependency
 * Use pifpaf to setup tests
 * Remove Babel dependency
-* format the output of time_constraints
+* format the output of time\_constraints
 * Add --filter to "alarm list"
 * Remove unused mailmap file
 * Support easier query usage for alarm history search
@@ -88,12 +117,12 @@
 * Add --query to alarm list
 * Clean flake8 paths and unused config options
 * Don't support "alarm search" and mandatory --type in "alarm list"
-* tox: remove useless install_command
+* tox: remove useless install\_command
 * Use overtest to run Gnocchi in tests
 * Trival fix a typo
 * Fix aodh client fails when command with the arg --time-constraint
 * Fix the -q/--query in threshold alarm creation
-* Use assert_called_once_with() in test_alarm_cli.py
+* Use assert\_called\_once\_with() in test\_alarm\_cli.py
 * Fix the wrong error info of parameter resource-type
 * Fix a minor doc error
 * Remove unused package requirement of "futurist"
@@ -152,13 +181,13 @@
 * Set x-roles when noauth is used
 * Convert keystoneauth exceptions by ours
 * Fix some spelling typo in manual and help output
-* Always make resource_id positional
+* Always make resource\_id positional
 * cli: make resource type non positional
 * benchmark: use processes rather than threads
 * benchmark: add support for measures add
-* metric: change all resource_id options to -r
+* metric: change all resource\_id options to -r
 * benchmark: add get metric
-* benchmark: rename argument to `count'
+* benchmark: rename argument to \`count'
 * benchmark: add metric create
 * get gnocchi api version from args/env
 * noauth: simplify class reference
@@ -170,22 +199,22 @@
 * Add capabilities support to cli
 * Remove upper cap on Sphinx
 * Remove Python 3.3 support
-* Name the package `gnocchiclient'
-* metric: allow to create metric with name and no resource_id
+* Name the package \`gnocchiclient'
+* metric: allow to create metric with name and no resource\_id
 * shell: improve error info
 * Add six in requirements
 * shell: fix exception catching on cleanup
 * Replaces 'archive policy' by 'archive-policy'
-* Change ignore-errors to ignore_errors
-* Remove entry_points
+* Change ignore-errors to ignore\_errors
+* Remove entry\_points
 * Don't always load client
-* Remove now useless build_url method
+* Remove now useless build\_url method
 * Replace keystoneclient by keystoneauth1
 * Fix help typo
-* tox: Allow to pass some OS_* variables
+* tox: Allow to pass some OS\_\* variables
 * Support aggregation accross metrics and resources
 * Allow CRUD measurements
-* Allow CRUD metric with an resource_id and an name
+* Allow CRUD metric with an resource\_id and an name
 * Support CRUD for metric
 * resource: remove -q for --query it conflicts with --quiet
 * Allow quoted string with ' in query parser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/HACKING.rst 
new/aodhclient-1.1.0/HACKING.rst
--- old/aodhclient-0.9.0/HACKING.rst    2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/HACKING.rst    2018-06-18 14:37:32.000000000 +0200
@@ -1,4 +1,4 @@
 aodhclient Style Commandments
 ================================
 
-Read the OpenStack Style Commandments 
http://docs.openstack.org/developer/hacking/
+Read the OpenStack Style Commandments 
https://docs.openstack.org/hacking/latest/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/PKG-INFO 
new/aodhclient-1.1.0/PKG-INFO
--- old/aodhclient-0.9.0/PKG-INFO       2017-03-01 23:27:17.000000000 +0100
+++ new/aodhclient-1.1.0/PKG-INFO       2018-06-18 14:40:39.000000000 +0200
@@ -1,26 +1,28 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: aodhclient
-Version: 0.9.0
+Version: 1.1.0
 Summary: Python client library for Aodh
-Home-page: http://docs.openstack.org/developer/python-aodhclient
+Home-page: https://docs.openstack.org/python-aodhclient/latest/
 Author: OpenStack
 Author-email: [email protected]
 License: UNKNOWN
-Description: =============
+Description: ==========
         aodhclient
-        =============
+        ==========
         
         Python bindings to the OpenStack Aodh API
         
-        This is a client for OpenStack Aodh API. There's :doc:`a Python API
-        <api>` (the :mod:`aodhclient` module), and a :doc:`command-line script
-        <shell>` (installed as :program:`aodh`). Each implements the entire
-        OpenStack Aodh API.
+        This is a client for OpenStack Aodh API. There's a `Python API
+        <https://docs.openstack.org/python-aodhclient/latest/api.html>`_ (the
+        aodhclient module), and a `command-line script
+        <https://docs.openstack.org/python-aodhclient/latest/shell.html>`_ 
(installed
+        as aodh). Each implements the entire OpenStack Aodh API.
         
         * Free software: Apache license
-        * Documentation: http://docs.openstack.org/developer/python-aodhclient
-        * Source: http://git.openstack.org/cgit/openstack/python-aodhclient
-        * Bugs: http://bugs.launchpad.net/python-aodhclient
+        * Release notes: https://releases.openstack.org/teams/telemetry.html
+        * Documentation: https://docs.openstack.org/python-aodhclient/latest/
+        * Source: https://git.openstack.org/cgit/openstack/python-aodhclient
+        * Bugs: https://bugs.launchpad.net/python-aodhclient
         
         
 Platform: UNKNOWN
@@ -34,3 +36,4 @@
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.5
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/README.rst 
new/aodhclient-1.1.0/README.rst
--- old/aodhclient-0.9.0/README.rst     2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/README.rst     2018-06-18 14:37:32.000000000 +0200
@@ -1,15 +1,17 @@
-=============
+==========
 aodhclient
-=============
+==========
 
 Python bindings to the OpenStack Aodh API
 
-This is a client for OpenStack Aodh API. There's :doc:`a Python API
-<api>` (the :mod:`aodhclient` module), and a :doc:`command-line script
-<shell>` (installed as :program:`aodh`). Each implements the entire
-OpenStack Aodh API.
+This is a client for OpenStack Aodh API. There's a `Python API
+<https://docs.openstack.org/python-aodhclient/latest/api.html>`_ (the
+aodhclient module), and a `command-line script
+<https://docs.openstack.org/python-aodhclient/latest/shell.html>`_ (installed
+as aodh). Each implements the entire OpenStack Aodh API.
 
 * Free software: Apache license
-* Documentation: http://docs.openstack.org/developer/python-aodhclient
-* Source: http://git.openstack.org/cgit/openstack/python-aodhclient
-* Bugs: http://bugs.launchpad.net/python-aodhclient
+* Release notes: https://releases.openstack.org/teams/telemetry.html
+* Documentation: https://docs.openstack.org/python-aodhclient/latest/
+* Source: https://git.openstack.org/cgit/openstack/python-aodhclient
+* Bugs: https://bugs.launchpad.net/python-aodhclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient/i18n.py 
new/aodhclient-1.1.0/aodhclient/i18n.py
--- old/aodhclient-0.9.0/aodhclient/i18n.py     2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/aodhclient/i18n.py     2018-06-18 14:37:32.000000000 
+0200
@@ -16,13 +16,3 @@
 
 # The primary translation function using the well-known name "_"
 _ = _translators.primary
-
-# Translators for log levels.
-#
-# The abbreviated names are meant to reflect the usual use of a short
-# name like '_'. The "L" is for "log" and the other letter comes from
-# the level.
-_LI = _translators.log_info
-_LW = _translators.log_warning
-_LE = _translators.log_error
-_LC = _translators.log_critical
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient/shell.py 
new/aodhclient-1.1.0/aodhclient/shell.py
--- old/aodhclient-0.9.0/aodhclient/shell.py    2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/aodhclient/shell.py    2018-06-18 14:37:32.000000000 
+0200
@@ -57,7 +57,7 @@
         super(AodhShell, self).__init__(
             description='Aodh command line client',
             version=__version__,
-            command_manager=AodhCommandManager(None),
+            command_manager=AodhCommandManager('aodhclient'),
             deferred_help=True,
             )
 
@@ -74,8 +74,8 @@
         :param version: version number for the application
         :paramtype version: str
         """
-        parser = super(AodhShell, self).build_option_parser(description,
-                                                            version)
+        parser = super(AodhShell, self).build_option_parser(
+            description, version, argparse_kwargs={'allow_abbrev': False})
         # Global arguments, one day this should go to keystoneauth1
         parser.add_argument(
             '--os-region-name',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/aodhclient/tests/functional/test_alarm.py 
new/aodhclient-1.1.0/aodhclient/tests/functional/test_alarm.py
--- old/aodhclient-0.9.0/aodhclient/tests/functional/test_alarm.py      
2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/tests/functional/test_alarm.py      
2018-06-18 14:37:32.000000000 +0200
@@ -184,171 +184,27 @@
         self.assertNotIn(ALARM_ID,
                          [r['alarm_id'] for r in self.parser.listing(result)])
 
-    def test_threshold_scenario(self):
-
-        PROJECT_ID = uuidutils.generate_uuid()
-
-        # CREATE
-        result = self.aodh(u'alarm',
-                           params=(u"create --type threshold --name alarm_th "
-                                   "-m meter_name --threshold 5 "
-                                   "--project-id %s" % PROJECT_ID))
-        alarm = self.details_multiple(result)[0]
-        ALARM_ID = alarm['alarm_id']
-        self.assertEqual('alarm_th', alarm['name'])
-        self.assertEqual('meter_name', alarm['meter_name'])
-        self.assertEqual('5.0', alarm['threshold'])
-
-        # CREATE WITH --TIME-CONSTRAINT
-        result = self.aodh(
-            u'alarm',
-            params=(u"create --type threshold --name alarm_tc "
-                    "-m meter_name --threshold 5 "
-                    "--time-constraint "
-                    "name=cons1;start='0 11 * * *';duration=300 "
-                    "--time-constraint "
-                    "name=cons2;start='0 23 * * *';duration=600 "
-                    "--project-id %s" % PROJECT_ID))
-        alarm = self.details_multiple(result)[0]
-        self.assertEqual('alarm_tc', alarm['name'])
-        self.assertEqual('meter_name', alarm['meter_name'])
-        self.assertEqual('5.0', alarm['threshold'])
-        self.assertIsNotNone(alarm['time_constraints'])
-
-        # CREATE FAIL MISSING PARAM
-        self.assertRaises(exceptions.CommandFailed,
-                          self.aodh, u'alarm',
-                          params=(u"create --type threshold --name alarm_th "
-                                  "--project-id %s" % PROJECT_ID))
-
-        # UPDATE
-        result = self.aodh(
-            'alarm', params=("update %s --severity critical --threshold 10"
-                             % ALARM_ID))
-        alarm_updated = self.details_multiple(result)[0]
-        self.assertEqual(ALARM_ID, alarm_updated["alarm_id"])
-        self.assertEqual('critical', alarm_updated['severity'])
-        self.assertEqual('10.0', alarm_updated["threshold"])
-
-        # GET
-        result = self.aodh(
-            'alarm', params="show %s" % ALARM_ID)
-        alarm_show = self.details_multiple(result)[0]
-        self.assertEqual(ALARM_ID, alarm_show["alarm_id"])
-        self.assertEqual(PROJECT_ID, alarm_show["project_id"])
-        self.assertEqual('alarm_th', alarm_show['name'])
-        self.assertEqual('meter_name', alarm_show['meter_name'])
-        self.assertEqual('10.0', alarm_show['threshold'])
-
-        # GET BY NAME
-        result = self.aodh(
-            'alarm', params="show --name alarm_th")
-        alarm_show = self.details_multiple(result)[0]
-        self.assertEqual(ALARM_ID, alarm_show["alarm_id"])
-        self.assertEqual(PROJECT_ID, alarm_show["project_id"])
-        self.assertEqual('alarm_th', alarm_show['name'])
-        self.assertEqual('meter_name', alarm_show['meter_name'])
-        self.assertEqual('10.0', alarm_show['threshold'])
-
-        # GET BY NAME AND ID ERROR
-        self.assertRaises(exceptions.CommandFailed,
-                          self.aodh, u'alarm',
-                          params=(u"show %s --name alarm_th" %
-                                  ALARM_ID))
-
-        # LIST
-        result = self.aodh('alarm', params="list")
-        self.assertIn(ALARM_ID,
-                      [r['alarm_id'] for r in self.parser.listing(result)])
-        output_colums = ['alarm_id', 'type', 'name', 'state', 'severity',
-                         'enabled']
-        for alarm_list in self.parser.listing(result):
-            self.assertEqual(sorted(output_colums), sorted(alarm_list.keys()))
-            if alarm_list["alarm_id"] == ALARM_ID:
-                self.assertEqual('alarm_th', alarm_list['name'])
-
-        # LIST WITH PAGINATION
-        # list with limit
-        result = self.aodh('alarm',
-                           params="list --limit 1")
-        alarm_list = self.parser.listing(result)
-        self.assertEqual(1, len(alarm_list))
-        # list with sort with key=name dir=asc
-        result = self.aodh('alarm',
-                           params="list --sort name:asc")
-        names = [r['name'] for r in self.parser.listing(result)]
-        sorted_name = sorted(names)
-        self.assertEqual(sorted_name, names)
-        # list with sort with key=name dir=asc and key=alarm_id dir=asc
-        result = self.aodh(u'alarm',
-                           params=(u"create --type threshold --name alarm_th "
-                                   "-m meter_name --threshold 5 "
-                                   "--project-id %s" % PROJECT_ID))
-        created_alarm_id = self.details_multiple(result)[0]['alarm_id']
-        result = self.aodh('alarm',
-                           params="list --sort name:asc --sort alarm_id:asc")
-        alarm_list = self.parser.listing(result)
-        ids_with_same_name = []
-        names = []
-        for alarm in alarm_list:
-            names.append(['alarm_name'])
-            if alarm['name'] == 'alarm_th':
-                ids_with_same_name.append(alarm['alarm_id'])
-        sorted_ids = sorted(ids_with_same_name)
-        sorted_names = sorted(names)
-        self.assertEqual(sorted_names, names)
-        self.assertEqual(sorted_ids, ids_with_same_name)
-        # list with sort with key=name dir=desc and with the marker equal to
-        # the alarm_id of the alarm_th we created for this test.
-        result = self.aodh('alarm',
-                           params="list --sort name:desc "
-                                  "--marker %s" % created_alarm_id)
-        self.assertIn('alarm_tc',
-                      [r['name'] for r in self.parser.listing(result)])
-        self.aodh('alarm', params="delete %s" % created_alarm_id)
-
-        # LIST WITH QUERY
-        result = self.aodh('alarm',
-                           params=("list --query project_id=%s" % PROJECT_ID))
-        alarm_list = self.parser.listing(result)[0]
-        self.assertEqual(ALARM_ID, alarm_list["alarm_id"])
-        self.assertEqual('alarm_th', alarm_list['name'])
-
-        # DELETE
-        result = self.aodh('alarm', params="delete %s" % ALARM_ID)
-        self.assertEqual("", result)
-
-        # GET FAIL
-        result = self.aodh('alarm', params="show %s" % ALARM_ID,
-                           fail_ok=True, merge_stderr=True)
-        expected = "Alarm %s not found (HTTP 404)" % ALARM_ID
-        self.assertFirstLineStartsWith(result.splitlines(), expected)
-
-        # DELETE FAIL
-        result = self.aodh('alarm', params="delete %s" % ALARM_ID,
-                           fail_ok=True, merge_stderr=True)
-        self.assertFirstLineStartsWith(result.splitlines(), expected)
-
-        # LIST DOES NOT HAVE ALARM
-        result = self.aodh('alarm', params="list")
-        self.assertNotIn(ALARM_ID,
-                         [r['alarm_id'] for r in self.parser.listing(result)])
-
     def test_composite_scenario(self):
 
         project_id = uuidutils.generate_uuid()
+        res_id = uuidutils.generate_uuid()
         # CREATE
-        result = self.aodh(u'alarm',
-                           params=(u'create --type composite --name calarm1 '
-                                   ' --composite-rule \'{"or":[{"threshold"'
-                                   ': 0.8,"meter_name": "cpu_util",'
-                                   '"type": "threshold"},{"and": ['
-                                   '{"threshold": 200, "meter_name": '
-                                   '"disk.iops", "type": "threshold"},'
-                                   '{"threshold": 1000,"meter_name":'
-                                   '"network.incoming.packets.rate",'
-                                   '"type": "threshold"}]}]}\' '
-                                   '--project-id %s' % project_id))
+        result = self.aodh(
+            u'alarm',
+            params=(u'create --type composite --name calarm1 --composite-rule '
+                    '\'{"or":[{"threshold": 0.8, "metric": "cpu_util", '
+                    '"type": "gnocchi_resources_threshold", "resource_type": '
+                    '"generic", "resource_id": "%s", '
+                    '"aggregation_method": "mean"},'
+                    '{"and": [{"threshold": 200, "metric": "disk.iops", '
+                    '"type": "gnocchi_resources_threshold", "resource_type": '
+                    '"generic", "resource_id": "%s", '
+                    '"aggregation_method": "mean"},'
+                    '{"threshold": 1000, "metric": "memory",'
+                    '"type": "gnocchi_resources_threshold", "resource_type": '
+                    '"generic", "resource_id": "%s", '
+                    '"aggregation_method": "mean"}]}]}\' --project-id %s' %
+                    (res_id, res_id, res_id, project_id)))
         alarm = self.details_multiple(result)[0]
         alarm_id = alarm['alarm_id']
         self.assertEqual('calarm1', alarm['name'])
@@ -442,25 +298,6 @@
         test(params)
         self.aodh('alarm', params='delete %s' % alarm['alarm_id'])
 
-    def test_threshold_alarm_create_show_query(self):
-        params = ('create --type threshold --name alarm-multiple-query '
-                  '-m cpu_util --threshold 90 --query "project_id=123;'
-                  'resource_id=456"')
-        expected_lines = {
-            'query': 'project_id = 123 AND',
-            '': 'resource_id = 456'
-        }
-        self._test_alarm_create_show_query(params, expected_lines)
-
-        params = ('create --type threshold --name alarm-single-query '
-                  '-m cpu_util --threshold 90 --query project_id=123')
-        expected_lines = {'query': 'project_id = 123'}
-        self._test_alarm_create_show_query(params, expected_lines)
-
-        params = ('create --type threshold --name alarm-no-query '
-                  '-m cpu_util --threshold 90')
-        self._test_alarm_create_show_query(params, {'query': ''})
-
     def test_event_alarm_create_show_query(self):
         params = ('create --type event --name alarm-multiple-query '
                   '--query "traits.project_id=789;traits.resource_id=012"')
@@ -481,8 +318,8 @@
     def test_set_get_alarm_state(self):
         result = self.aodh(
             'alarm',
-            params=("create --type threshold --name alarm_state_test "
-                    "-m meter_name --threshold 5"))
+            params=('create --type event --name alarm_state_test '
+                    '--query "traits.project_id=789;traits.resource_id=012"'))
         alarm = self.details_multiple(result)[0]
         alarm_id = alarm['alarm_id']
         result = self.aodh(
@@ -508,15 +345,10 @@
         RESOURCE_ID = uuidutils.generate_uuid()
 
         req = requests.post(
-            os.environ.get("GNOCCHI_ENDPOINT") + "/v1/resource/instance",
+            os.environ.get("GNOCCHI_ENDPOINT") + "/v1/resource/generic",
             auth=requests.auth.HTTPBasicAuth('admin', ''),
             json={
-                "display_name": "myvm",
-                "flavor_id": "2", "host": "blah",
                 "id": RESOURCE_ID,
-                "image_ref": "http://image";,
-                "project_id": "BD3A1E52-1C62-44CB-BF04-660BD88CD74D",
-                "user_id": "BD3A1E52-1C62-44CB-BF04-660BD88CD74D",
             })
         self.assertEqual(201, req.status_code)
 
@@ -526,7 +358,7 @@
                                    "--type gnocchi_resources_threshold "
                                    "--name alarm_gn1 --metric cpu_util "
                                    "--threshold 80 "
-                                   "--resource-id %s --resource-type instance "
+                                   "--resource-id %s --resource-type generic "
                                    "--aggregation-method last "
                                    "--project-id %s"
                                    % (RESOURCE_ID, PROJECT_ID)))
@@ -538,7 +370,24 @@
         self.assertEqual('last', alarm['aggregation_method'])
         self.assertEqual(RESOURCE_ID,
                          alarm['resource_id'])
-        self.assertEqual('instance', alarm['resource_type'])
+        self.assertEqual('generic', alarm['resource_type'])
+
+        # CREATE WITH --TIME-CONSTRAINT
+        result = self.aodh(
+            u'alarm',
+            params=(u"create --type gnocchi_resources_threshold "
+                    "--name alarm_tc --metric cpu_util --threshold 80 "
+                    "--resource-id %s --resource-type generic "
+                    "--aggregation-method last --project-id %s "
+                    "--time-constraint "
+                    "name=cons1;start='0 11 * * *';duration=300 "
+                    "--time-constraint "
+                    "name=cons2;start='0 23 * * *';duration=600 "
+                    % (RESOURCE_ID, PROJECT_ID)))
+        alarm = self.details_multiple(result)[0]
+        self.assertEqual('alarm_tc', alarm['name'])
+        self.assertEqual('80.0', alarm['threshold'])
+        self.assertIsNotNone(alarm['time_constraints'])
 
         # CREATE FAIL MISSING PARAM
         self.assertRaises(exceptions.CommandFailed,
@@ -546,7 +395,7 @@
                           params=(u"create "
                                   "--type gnocchi_resources_threshold "
                                   "--name alarm1 --metric cpu_util "
-                                  "--resource-id %s --resource-type instance "
+                                  "--resource-id %s --resource-type generic "
                                   "--aggregation-method last "
                                   "--project-id %s"
                                   % (RESOURCE_ID, PROJECT_ID)))
@@ -571,7 +420,7 @@
         self.assertEqual('90.0', alarm_show['threshold'])
         self.assertEqual('critical', alarm_show['severity'])
         self.assertEqual('last', alarm_show['aggregation_method'])
-        self.assertEqual('instance', alarm_show['resource_type'])
+        self.assertEqual('generic', alarm_show['resource_type'])
 
         # GET BY NAME
         result = self.aodh(
@@ -583,7 +432,7 @@
         self.assertEqual('90.0', alarm_show['threshold'])
         self.assertEqual('critical', alarm_show['severity'])
         self.assertEqual('last', alarm_show['aggregation_method'])
-        self.assertEqual('instance', alarm_show['resource_type'])
+        self.assertEqual('generic', alarm_show['resource_type'])
 
         # GET BY NAME AND ID ERROR
         self.assertRaises(exceptions.CommandFailed,
@@ -602,6 +451,49 @@
             if alarm_list["alarm_id"] == ALARM_ID:
                 self.assertEqual('alarm_gn1', alarm_list['name'])
 
+        # LIST WITH PAGINATION
+        # list with limit
+        result = self.aodh('alarm',
+                           params="list --limit 1")
+        alarm_list = self.parser.listing(result)
+        self.assertEqual(1, len(alarm_list))
+        # list with sort with key=name dir=asc
+        result = self.aodh('alarm',
+                           params="list --sort name:asc")
+        names = [r['name'] for r in self.parser.listing(result)]
+        sorted_name = sorted(names)
+        self.assertEqual(sorted_name, names)
+        # list with sort with key=name dir=asc and key=alarm_id dir=asc
+        result = self.aodh(
+            u'alarm',
+            params=(u"create --type gnocchi_resources_threshold "
+                    "--name alarm_th --metric cpu_util --threshold 80 "
+                    "--resource-id %s --resource-type generic "
+                    "--aggregation-method last --project-id %s "
+                    % (RESOURCE_ID, PROJECT_ID)))
+        created_alarm_id = self.details_multiple(result)[0]['alarm_id']
+        result = self.aodh('alarm',
+                           params="list --sort name:asc --sort alarm_id:asc")
+        alarm_list = self.parser.listing(result)
+        ids_with_same_name = []
+        names = []
+        for alarm in alarm_list:
+            names.append(['alarm_name'])
+            if alarm['name'] == 'alarm_th':
+                ids_with_same_name.append(alarm['alarm_id'])
+        sorted_ids = sorted(ids_with_same_name)
+        sorted_names = sorted(names)
+        self.assertEqual(sorted_names, names)
+        self.assertEqual(sorted_ids, ids_with_same_name)
+        # list with sort with key=name dir=desc and with the marker equal to
+        # the alarm_id of the alarm_th we created for this test.
+        result = self.aodh('alarm',
+                           params="list --sort name:desc "
+                                  "--marker %s" % created_alarm_id)
+        self.assertIn('alarm_tc',
+                      [r['name'] for r in self.parser.listing(result)])
+        self.aodh('alarm', params="delete %s" % created_alarm_id)
+
         # LIST WITH QUERY
         result = self.aodh('alarm',
                            params=("list --query project_id=%s" % PROJECT_ID))
@@ -641,8 +533,8 @@
                     "gnocchi_aggregation_by_resources_threshold "
                     "--name alarm1 --metric cpu --threshold 80 "
                     "--query "
-                    '\'{"=": {"server_group": "my_group"}}\' '
-                    "--resource-type instance "
+                    '\'{"=": {"creator": "cr3at0r"}}\' '
+                    "--resource-type generic "
                     "--aggregation-method last "
                     "--project-id %s" % PROJECT_ID))
         alarm = self.details_multiple(result)[0]
@@ -651,8 +543,8 @@
         self.assertEqual('cpu', alarm['metric'])
         self.assertEqual('80.0', alarm['threshold'])
         self.assertEqual('last', alarm['aggregation_method'])
-        self.assertEqual('instance', alarm['resource_type'])
-        self.assertEqual('{"=": {"server_group": "my_group"}}',
+        self.assertEqual('generic', alarm['resource_type'])
+        self.assertEqual('{"=": {"creator": "cr3at0r"}}',
                          alarm['query'])
 
         # CREATE FAIL MISSING PARAM
@@ -664,8 +556,8 @@
                     "gnocchi_aggregation_by_resources_threshold "
                     "--name alarm1 --metric cpu "
                     "--query "
-                    '\'{"=": {"server_group": "my_group"}}\' '
-                    "--resource-type instance "
+                    '\'{"=": {"creator": "cr3at0r"}}\' '
+                    "--resource-type generic "
                     "--aggregation-method last "
                     "--project-id %s" % PROJECT_ID))
 
@@ -689,7 +581,7 @@
         self.assertEqual('90.0', alarm_show['threshold'])
         self.assertEqual('critical', alarm_show['severity'])
         self.assertEqual('last', alarm_show['aggregation_method'])
-        self.assertEqual('instance', alarm_show['resource_type'])
+        self.assertEqual('generic', alarm_show['resource_type'])
 
         # LIST
         result = self.aodh('alarm', params="list")
@@ -735,7 +627,7 @@
                     "--type gnocchi_aggregation_by_metrics_threshold "
                     "--name alarm1 "
                     "--metrics %s "
-                    "--metrics %s "
+                    "--metric %s "
                     "--threshold 80 "
                     "--aggregation-method last "
                     "--project-id %s"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/aodhclient/tests/functional/test_alarm_history.py 
new/aodhclient-1.1.0/aodhclient/tests/functional/test_alarm_history.py
--- old/aodhclient-0.9.0/aodhclient/tests/functional/test_alarm_history.py      
2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/tests/functional/test_alarm_history.py      
2018-06-18 14:37:32.000000000 +0200
@@ -25,17 +25,28 @@
     def test_alarm_history_scenario(self):
 
         PROJECT_ID = uuidutils.generate_uuid()
+        RESOURCE_ID = uuidutils.generate_uuid()
 
         result = self.aodh(u'alarm',
-                           params=(u"create --type threshold --name history1 "
-                                   "-m meter_name --threshold 5 "
-                                   "--project-id %s" % PROJECT_ID))
+                           params=(u"create "
+                                   "--type gnocchi_resources_threshold "
+                                   "--name history1 --metric cpu_util "
+                                   "--threshold 5 "
+                                   "--resource-id %s --resource-type generic "
+                                   "--aggregation-method last "
+                                   "--project-id %s"
+                                   % (RESOURCE_ID, PROJECT_ID)))
         alarm = self.details_multiple(result)[0]
         ALARM_ID = alarm['alarm_id']
         result = self.aodh(u'alarm',
-                           params=(u"create --type threshold --name history2 "
-                                   "-m meter_name --threshold 10 "
-                                   "--project-id %s" % PROJECT_ID))
+                           params=(u"create "
+                                   "--type gnocchi_resources_threshold "
+                                   "--name history2 --metric cpu_util "
+                                   "--threshold 10 "
+                                   "--resource-id %s --resource-type generic "
+                                   "--aggregation-method last "
+                                   "--project-id %s"
+                                   % (RESOURCE_ID, PROJECT_ID)))
         alarm = self.details_multiple(result)[0]
         ALARM_ID2 = alarm['alarm_id']
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_cli.py 
new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_cli.py
--- old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_cli.py        
2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_cli.py        
2018-06-18 14:37:32.000000000 +0200
@@ -50,22 +50,6 @@
             '--aggregation-method')
 
     @mock.patch.object(argparse.ArgumentParser, 'error')
-    def test_validate_args_threshold(self, mock_arg):
-        # Cover the test case of the method _validate_args for
-        # threshold
-        parser = self.cli_alarm_create.get_parser('aodh alarm create')
-        test_parsed_args = parser.parse_args([
-            '--name', 'threshold_test',
-            '--type', 'threshold',
-            '--threshold', '80'
-            ])
-        self.cli_alarm_create._validate_args(test_parsed_args)
-        mock_arg.assert_called_once_with(
-            'Threshold alarm requires -m/--meter-name and '
-            '--threshold parameters. Meter name can be '
-            'found in Ceilometer')
-
-    @mock.patch.object(argparse.ArgumentParser, 'error')
     def test_validate_args_composite(self, mock_arg):
         # Cover the test case of the method _validate_args for
         # composite
@@ -111,13 +95,13 @@
         self.cli_alarm_create._validate_args(test_parsed_args)
         mock_arg.assert_called_once_with(
             'gnocchi_aggregation_by_metrics_threshold requires '
-            '--metrics, --threshold and --aggregation-method')
+            '--metric, --threshold and --aggregation-method')
 
     def test_alarm_from_args(self):
         # The test case to cover the method _alarm_from_args
         parser = self.cli_alarm_create.get_parser('aodh alarm create')
         test_parsed_args = parser.parse_args([
-            '--type', 'threshold',
+            '--type', 'event',
             '--name', 'alarm_from_args_test',
             '--project-id', '01919bbd-8b0e-451c-be28-abe250ae9b1b',
             '--user-id', '01919bbd-8b0e-451c-be28-abe250ae9c1c',
@@ -132,10 +116,7 @@
             'http://something/insufficient',
             '--time-constraint',
             'name=cons1;start="0 11 * * *";duration=300;description=desc1',
-            '--meter-name', 'cpu',
-            '--period', '60',
             '--evaluation-periods', '60',
-            '--statistic', 'max',
             '--comparison-operator', 'le',
             '--threshold', '80',
             '--event-type', 'event',
@@ -165,18 +146,6 @@
                                   'name': 'cons1',
                                   'start': '0 11 * * *'}],
             'repeat_actions': True,
-            'threshold_rule': {
-                'meter_name': 'cpu',
-                'period': 60,
-                'evaluation_periods': 60,
-                'statistic': 'max',
-                'comparison_operator': 'le',
-                'threshold': 80.0,
-                'query': [{'field': 'resource',
-                           'op': 'eq',
-                           'type': '',
-                           'value': 'fake-resource-id'}]
-            },
             'event_rule': {
                 'event_type': 'event',
                 'query': [{'field': 'resource',
@@ -199,7 +168,8 @@
                 'aggregation_method': 'last',
                 'evaluation_periods': 60,
                 'comparison_operator': 'le',
-                'threshold': 80.0
+                'threshold': 80.0,
+                'metrics': ['cpu'],
             },
             'gnocchi_aggregation_by_resources_threshold_rule': {
                 'granularity': '60',
@@ -215,7 +185,7 @@
                 'resource_type': 'generic'
             },
             'composite_rule': None,
-            'type': 'threshold'
+            'type': 'event'
             }
         alarm_rep = self.cli_alarm_create._alarm_from_args(test_parsed_args)
         self.assertEqual(alarm, alarm_rep)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_history.py 
new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_history.py
--- old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_history.py    
2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_history.py    
2018-06-18 14:37:32.000000000 +0200
@@ -37,13 +37,14 @@
     @mock.patch.object(alarm_history.AlarmHistoryManager, '_post')
     def test_search(self, mock_ahm):
         ahm = alarm_history.AlarmHistoryManager(self.client)
-        q = ('{"and": [{"=": {"type": "threshold"}}, '
+        q = ('{"and": [{"=": {"type": "gnocchi_resources_threshold"}}, '
              '{"=": {"alarm_id": "87bacbcb-a09c-4cb9-86d0-ad410dd8ad98"}}]}')
         ahm.search(q)
-        expected_called_data = ('{"filter": "{\\"and\\": [{\\"=\\": '
-                                '{\\"type\\": \\"threshold\\"}}, '
-                                '{\\"=\\": {\\"alarm_id\\": \\"87bacbcb-'
-                                'a09c-4cb9-86d0-ad410dd8ad98\\"}}]}"}')
+        expected_called_data = (
+            '{"filter": "{\\"and\\": ['
+            '{\\"=\\": {\\"type\\": \\"gnocchi_resources_threshold\\"}}, '
+            '{\\"=\\": {\\"alarm_id\\": '
+            '\\"87bacbcb-a09c-4cb9-86d0-ad410dd8ad98\\"}}]}"}')
         mock_ahm.assert_called_with(
             'v2/query/alarms/history',
             data=expected_called_data,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_manager.py 
new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_manager.py
--- old/aodhclient-0.9.0/aodhclient/tests/unit/test_alarm_manager.py    
2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/tests/unit/test_alarm_manager.py    
2018-06-18 14:37:32.000000000 +0200
@@ -29,7 +29,6 @@
                 'gnocchi_aggregation_by_metrics_threshold_rule': {},
                 'gnocchi_resources_threshold_rule': {},
                 'name': 'event_alarm',
-                'threshold_rule': {},
                 'gnocchi_aggregation_by_resources_threshold_rule': {},
                 'event_rule': {},
                 'type': 'event'}
@@ -63,10 +62,11 @@
     @mock.patch.object(alarm.AlarmManager, '_get')
     def test_list_with_filters(self, mock_am):
         am = alarm.AlarmManager(self.client)
-        filters = dict(type='threshold', severity='low')
+        filters = dict(type='gnocchi_resources_threshold', severity='low')
         am.list(filters=filters)
-        expected_url = ("v2/alarms?q.field=severity&q.op=eq&q.value=low&"
-                        "q.field=type&q.op=eq&q.value=threshold")
+        expected_url = (
+            "v2/alarms?q.field=severity&q.op=eq&q.value=low&"
+            "q.field=type&q.op=eq&q.value=gnocchi_resources_threshold")
         mock_am.assert_called_with(expected_url)
 
     @mock.patch.object(alarm.AlarmManager, '_get')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient/utils.py 
new/aodhclient-1.1.0/aodhclient/utils.py
--- old/aodhclient-0.9.0/aodhclient/utils.py    2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/aodhclient/utils.py    2018-06-18 14:37:32.000000000 
+0200
@@ -123,7 +123,13 @@
 def dict_from_parsed_args(parsed_args, attrs):
     d = {}
     for attr in attrs:
-        value = getattr(parsed_args, attr)
+        if attr == "metric":
+            if parsed_args.metrics:
+                value = parsed_args.metrics[0]
+            else:
+                value = None
+        else:
+            value = getattr(parsed_args, attr)
         if value is not None:
             d[attr] = value
     return d
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient/v2/alarm.py 
new/aodhclient-1.1.0/aodhclient/v2/alarm.py
--- old/aodhclient-0.9.0/aodhclient/v2/alarm.py 2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/aodhclient/v2/alarm.py 2018-06-18 14:37:32.000000000 
+0200
@@ -35,8 +35,9 @@
         """List alarms.
 
         :param filters: A dict includes filters parameters, for example,
-                        {'type': 'threshold', 'severity': 'low'} represent
-                        filters to query alarms with type='threshold' and
+                        {'type': 'gnocchi_resources_threshold',
+                         'severity': 'low'} represent filters to query alarms
+                        with type='gnocchi_resources_threshold' and
                         severity='low'.
         :type filters: dict
         :param limit: maximum number of resources to return
@@ -64,8 +65,9 @@
         """Query alarms.
 
         :param query: A json format complex query expression, like this:
-                      '{"=":{"type":"threshold"}}', this expression is used to
-                      query all the threshold type alarms.
+                      '{"=":{"type":"gnocchi_resources_threshold"}}', this
+                      expression is used to query all the
+                      gnocchi_resources_threshold type alarms.
         :type query: json
         """
         query = {'filter': query}
@@ -110,10 +112,7 @@
         alarm = self._get(self.url + '/' + alarm_id).json()
         self._clean_rules(alarm['type'], alarm_update)
 
-        if 'threshold_rule' in alarm_update:
-            alarm['threshold_rule'].update(alarm_update.get('threshold_rule'))
-            alarm_update.pop('threshold_rule')
-        elif 'event_rule' in alarm_update:
+        if 'event_rule' in alarm_update:
             alarm['event_rule'].update(alarm_update.get('event_rule'))
             alarm_update.pop('event_rule')
         elif 'gnocchi_resources_threshold_rule' in alarm_update:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient/v2/alarm_cli.py 
new/aodhclient-1.1.0/aodhclient/v2/alarm_cli.py
--- old/aodhclient-0.9.0/aodhclient/v2/alarm_cli.py     2017-03-01 
23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient/v2/alarm_cli.py     2018-06-18 
14:37:32.000000000 +0200
@@ -24,7 +24,7 @@
 from aodhclient.i18n import _
 from aodhclient import utils
 
-ALARM_TYPES = ['threshold', 'event', 'composite',
+ALARM_TYPES = ['event', 'composite',
                'gnocchi_resources_threshold',
                'gnocchi_aggregation_by_metrics_threshold',
                'gnocchi_aggregation_by_resources_threshold']
@@ -32,7 +32,6 @@
 ALARM_SEVERITY = ['low', 'moderate', 'critical']
 ALARM_OPERATORS = ['lt', 'le', 'eq', 'ne', 'ge', 'gt']
 ALARM_OP_MAP = dict(zip(ALARM_OPERATORS, ('<', '<=', '=', '!=', '>=', '>')))
-STATISTICS = ['max', 'min', 'avg', 'sum', 'count']
 
 ALARM_LIST_COLS = ['alarm_id', 'type', 'name', 'state', 'severity', 'enabled']
 
@@ -103,7 +102,7 @@
         alarm["time_constraints"] = jsonutils.dumps(alarm["time_constraints"],
                                                     sort_keys=True,
                                                     indent=2)
-    # only works for threshold and event alarm
+    # only works for event alarm
     if isinstance(alarm.get('query'), list):
         query_rows = []
         for q in alarm['query']:
@@ -265,7 +264,7 @@
         common_group = parser.add_argument_group('common alarm rules')
         common_group.add_argument(
             '--query', metavar='<QUERY>', dest='query',
-            help="For alarms of type threshold or event: "
+            help="For alarms of type event: "
                  "key[op]data_type::value; list. data_type is optional, "
                  "but if supplied must be string, integer, float, or boolean. "
                  'For alarms of '
@@ -283,23 +282,6 @@
         common_group.add_argument(
             '--threshold', type=float, metavar='<THRESHOLD>',
             dest='threshold', help='Threshold to evaluate against.')
-        common_group.add_argument(
-            '--metric', metavar='<METRIC>',
-            dest='metric', help='Metric to evaluate against.')
-
-        threshold_group = parser.add_argument_group('threshold alarm')
-        threshold_group.add_argument(
-            '-m', '--meter-name', metavar='<METER NAME>',
-            dest='meter_name', help='Meter to evaluate against')
-
-        threshold_group.add_argument(
-            '--period', type=int, metavar='<PERIOD>', dest='period',
-            help='Length of each period (seconds) to evaluate over.')
-
-        threshold_group.add_argument(
-            '--statistic', metavar='<STATISTIC>', dest='statistic',
-            choices=STATISTICS,
-            help='Statistic to evaluate, one of: ' + str(STATISTICS))
 
         event_group = parser.add_argument_group('event alarm')
         event_group.add_argument(
@@ -316,6 +298,10 @@
             '--aggregation-method', metavar='<AGGR_METHOD>',
             dest='aggregation_method',
             help='The aggregation_method to compare to the threshold.')
+        gnocchi_common_group.add_argument(
+            '--metric', '--metrics', metavar='<METRIC>', action='append',
+            dest='metrics', help='The metric id or name '
+            'depending of the alarm type')
 
         gnocchi_resource_threshold_group = parser.add_argument_group(
             'gnocchi resource threshold alarm')
@@ -326,23 +312,15 @@
             '--resource-id', metavar='<RESOURCE_ID>',
             dest='resource_id', help='The id of a resource.')
 
-        gnocchi_aggr_metrics_group = parser.add_argument_group(
-            'gnocchi aggregation by metrics alarm')
-        gnocchi_aggr_metrics_group.add_argument(
-            '--metrics', metavar='<METRICS>', action='append',
-            dest='metrics', help='The list of metric ids.')
         composite_group = parser.add_argument_group('composite alarm')
         composite_group.add_argument(
             '--composite-rule', metavar='<COMPOSITE_RULE>',
             dest='composite_rule',
             type=jsonutils.loads,
             help='Composite threshold rule with JSON format, the form can '
-                 'be a nested dict which combine threshold/gnocchi rules by '
+                 'be a nested dict which combine gnocchi rules by '
                  '"and", "or". For example, the form is like: '
-                 '{"or":[RULE1, RULE2, {"and": [RULE3, RULE4]}]}, The '
-                 'RULEx can be basic threshold rules but must include a '
-                 '"type" field, like this: {"threshold": 0.8,'
-                 '"meter_name":"cpu_util","type":"threshold"}'
+                 '{"or":[RULE1, RULE2, {"and": [RULE3, RULE4]}]}.'
         )
         self.parser = parser
         return parser
@@ -361,27 +339,24 @@
             raise argparse.ArgumentTypeError(msg)
 
     def _validate_args(self, parsed_args):
-        if (parsed_args.type == 'threshold' and
-                not (parsed_args.meter_name and parsed_args.threshold)):
-            self.parser.error('Threshold alarm requires -m/--meter-name and '
-                              '--threshold parameters. Meter name can be '
-                              'found in Ceilometer')
-        elif (parsed_args.type == 'gnocchi_resources_threshold' and
-              not (parsed_args.metric and parsed_args.threshold and
-                   parsed_args.resource_id and parsed_args.resource_type
-                   and parsed_args.aggregation_method)):
+        if (parsed_args.type == 'gnocchi_resources_threshold' and
+                not (parsed_args.metrics and parsed_args.threshold is not None
+                     and parsed_args.resource_id and parsed_args.resource_type
+                     and parsed_args.aggregation_method)):
             self.parser.error('gnocchi_resources_threshold requires --metric, '
                               '--threshold, --resource-id, --resource-type '
                               'and --aggregation-method')
         elif (parsed_args.type == 'gnocchi_aggregation_by_metrics_threshold'
-              and not (parsed_args.metrics and parsed_args.threshold and
-                       parsed_args.aggregation_method)):
+              and not (parsed_args.metrics
+                       and parsed_args.threshold is not None
+                       and parsed_args.aggregation_method)):
             self.parser.error('gnocchi_aggregation_by_metrics_threshold '
-                              'requires --metrics, --threshold and '
+                              'requires --metric, --threshold and '
                               '--aggregation-method')
         elif (parsed_args.type == 'gnocchi_aggregation_by_resources_threshold'
-              and not (parsed_args.metric and parsed_args.threshold and
-                       parsed_args.query and parsed_args.resource_type and
+              and not (parsed_args.metrics
+                       and parsed_args.threshold is not None
+                       and parsed_args.query and parsed_args.resource_type and
                        parsed_args.aggregation_method)):
             self.parser.error('gnocchi_aggregation_by_resources_threshold '
                               'requires --metric, --threshold, '
@@ -398,12 +373,8 @@
                           'state', 'severity', 'enabled', 'alarm_actions',
                           'ok_actions', 'insufficient_data_actions',
                           'time_constraints', 'repeat_actions'])
-        if parsed_args.type in ('threshold', 'event') and parsed_args.query:
+        if parsed_args.type == 'event' and parsed_args.query:
             parsed_args.query = utils.cli_to_array(parsed_args.query)
-        alarm['threshold_rule'] = utils.dict_from_parsed_args(
-            parsed_args, ['meter_name', 'period', 'evaluation_periods',
-                          'statistic', 'comparison_operator', 'threshold',
-                          'query'])
         alarm['event_rule'] = utils.dict_from_parsed_args(
             parsed_args, ['event_type', 'query'])
         alarm['gnocchi_resources_threshold_rule'] = (
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient.egg-info/PKG-INFO 
new/aodhclient-1.1.0/aodhclient.egg-info/PKG-INFO
--- old/aodhclient-0.9.0/aodhclient.egg-info/PKG-INFO   2017-03-01 
23:27:16.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient.egg-info/PKG-INFO   2018-06-18 
14:40:38.000000000 +0200
@@ -1,26 +1,28 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: aodhclient
-Version: 0.9.0
+Version: 1.1.0
 Summary: Python client library for Aodh
-Home-page: http://docs.openstack.org/developer/python-aodhclient
+Home-page: https://docs.openstack.org/python-aodhclient/latest/
 Author: OpenStack
 Author-email: [email protected]
 License: UNKNOWN
-Description: =============
+Description: ==========
         aodhclient
-        =============
+        ==========
         
         Python bindings to the OpenStack Aodh API
         
-        This is a client for OpenStack Aodh API. There's :doc:`a Python API
-        <api>` (the :mod:`aodhclient` module), and a :doc:`command-line script
-        <shell>` (installed as :program:`aodh`). Each implements the entire
-        OpenStack Aodh API.
+        This is a client for OpenStack Aodh API. There's a `Python API
+        <https://docs.openstack.org/python-aodhclient/latest/api.html>`_ (the
+        aodhclient module), and a `command-line script
+        <https://docs.openstack.org/python-aodhclient/latest/shell.html>`_ 
(installed
+        as aodh). Each implements the entire OpenStack Aodh API.
         
         * Free software: Apache license
-        * Documentation: http://docs.openstack.org/developer/python-aodhclient
-        * Source: http://git.openstack.org/cgit/openstack/python-aodhclient
-        * Bugs: http://bugs.launchpad.net/python-aodhclient
+        * Release notes: https://releases.openstack.org/teams/telemetry.html
+        * Documentation: https://docs.openstack.org/python-aodhclient/latest/
+        * Source: https://git.openstack.org/cgit/openstack/python-aodhclient
+        * Bugs: https://bugs.launchpad.net/python-aodhclient
         
         
 Platform: UNKNOWN
@@ -34,3 +36,4 @@
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.5
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient.egg-info/SOURCES.txt 
new/aodhclient-1.1.0/aodhclient.egg-info/SOURCES.txt
--- old/aodhclient-0.9.0/aodhclient.egg-info/SOURCES.txt        2017-03-01 
23:27:17.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient.egg-info/SOURCES.txt        2018-06-18 
14:40:39.000000000 +0200
@@ -49,6 +49,7 @@
 aodhclient/v2/capabilities.py
 aodhclient/v2/capabilities_cli.py
 aodhclient/v2/client.py
+doc/requirements.txt
 doc/source/api.rst
 doc/source/conf.py
 doc/source/contributing.rst
@@ -59,6 +60,7 @@
 releasenotes/notes/add-pagination-support-fcdf1cef0cfa5ca9.yaml
 releasenotes/notes/merge-search-to-list-d44cd65ede348c3e.yaml
 releasenotes/notes/osc-support-9f9dae2d2203f307.yaml
+releasenotes/notes/remove-ceilometer-alarms-02049eef189c2812.yaml
 releasenotes/notes/split-alarm-query-and-list-5998020b88ddc9f5.yaml
 releasenotes/notes/support-get-set-state-interfaces-67419b925ffd6877.yaml
 releasenotes/source/conf.py
@@ -66,6 +68,8 @@
 releasenotes/source/mitaka.rst
 releasenotes/source/newton.rst
 releasenotes/source/ocata.rst
+releasenotes/source/pike.rst
+releasenotes/source/queens.rst
 releasenotes/source/unreleased.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient.egg-info/pbr.json 
new/aodhclient-1.1.0/aodhclient.egg-info/pbr.json
--- old/aodhclient-0.9.0/aodhclient.egg-info/pbr.json   2017-03-01 
23:27:16.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient.egg-info/pbr.json   2018-06-18 
14:40:38.000000000 +0200
@@ -1 +1 @@
-{"git_version": "eb82760", "is_release": true}
\ No newline at end of file
+{"git_version": "6d1ad0f", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/aodhclient.egg-info/requires.txt 
new/aodhclient-1.1.0/aodhclient.egg-info/requires.txt
--- old/aodhclient-0.9.0/aodhclient.egg-info/requires.txt       2017-03-01 
23:27:16.000000000 +0100
+++ new/aodhclient-1.1.0/aodhclient.egg-info/requires.txt       2018-06-18 
14:40:38.000000000 +0200
@@ -8,17 +8,13 @@
 six
 pyparsing
 
-[doc]
-sphinx!=1.2.0,!=1.3b1,>=1.1.2
-oslosphinx>=2.5.0 # Apache-2.0
-
 [test]
 coverage>=3.6
-python-subunit>=0.0.18
-oslotest>=1.10.0 # Apache-2.0
-reno>=1.6.2 # Apache2
+oslotest>=1.10.0
+reno>=1.6.2
 tempest>=10
 testrepository>=0.0.18
 testtools>=1.4.0
-pifpaf>=0.23
-mock>=1.2  # BSD
+pifpaf[gnocchi]>=0.23
+gnocchi[file,postgresql]
+mock>=1.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/doc/requirements.txt 
new/aodhclient-1.1.0/doc/requirements.txt
--- old/aodhclient-0.9.0/doc/requirements.txt   1970-01-01 01:00:00.000000000 
+0100
+++ new/aodhclient-1.1.0/doc/requirements.txt   2018-06-18 14:37:32.000000000 
+0200
@@ -0,0 +1,2 @@
+sphinx>=1.6.2 # BSD
+openstackdocstheme>=1.11.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/doc/source/conf.py 
new/aodhclient-1.1.0/doc/source/conf.py
--- old/aodhclient-0.9.0/doc/source/conf.py     2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/doc/source/conf.py     2018-06-18 14:37:32.000000000 
+0200
@@ -63,8 +63,8 @@
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
 extensions = [
     'sphinx.ext.autodoc',
+    'openstackdocstheme',
     #'sphinx.ext.intersphinx',
-    'oslosphinx'
 ]
 
 # autodoc generation is a bit aggressive and a nuisance when doing heavy
@@ -77,7 +77,10 @@
 # The master toctree document.
 master_doc = 'index'
 
-# General information about the project.
+# openstackdocstheme options
+repository_name = 'openstack/python-aodhclient'
+bug_project = 'python-aodhclient'
+bug_tag = ''
 project = u'aodhclient'
 copyright = u'2015, OpenStack Foundation'
 
@@ -98,6 +101,11 @@
 # html_theme_path = ["."]
 # html_theme = '_theme'
 # html_static_path = ['static']
+html_theme = 'openstackdocs'
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = ['_theme']
 
 # Output file base name for HTML help builder.
 htmlhelp_basename = '%sdoc' % project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/doc/source/index.rst 
new/aodhclient-1.1.0/doc/source/index.rst
--- old/aodhclient-0.9.0/doc/source/index.rst   2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/doc/source/index.rst   2018-06-18 14:37:32.000000000 
+0200
@@ -24,10 +24,11 @@
     least -- to get an idea of the concepts. By understanding the concepts
     this library should make more sense.
 
-    __ http://docs.openstack.org/developer/aodh/
+    __ https://docs.openstack.org/aodh/latest/
 
 
-Contents:
+Contents
+--------
 
 .. toctree::
    :maxdepth: 2
@@ -38,7 +39,7 @@
    contributing
 
 Indices and tables
-==================
+------------------
 
 * :ref:`genindex`
 * :ref:`modindex`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/doc/source/shell.rst 
new/aodhclient-1.1.0/doc/source/shell.rst
--- old/aodhclient-0.9.0/doc/source/shell.rst   2017-03-01 23:25:59.000000000 
+0100
+++ new/aodhclient-1.1.0/doc/source/shell.rst   2018-06-18 14:37:51.000000000 
+0200
@@ -5,8 +5,7 @@
 .. highlight:: bash
 
 The :program:`aodh` shell utility interacts with Aodh API
-from the command line. It supports the entirety of the Aodh API excluding
-deprecated combination alarms.
+from the command line. It supports the entirety of the Aodh API.
 
 You'll need to provide :program:`aodh` with your OpenStack credentials.
 You can do this with the :option:`--os-username`, :option:`--os-password`,
@@ -67,7 +66,9 @@
 
 Create an alarm::
 
-    aodh alarm create -t threshold --name alarm1 -m cpu_util --threshold 5
+    aodh alarm create -t gnocchi_resources_threshold --name alarm1 \
+    --metric cpu_util --threshold 5 --resource_id <RES_ID> \
+    --resource_type generic --aggregation_method mean --project-id <PROJ_ID>
 
 List alarms::
 
@@ -75,7 +76,7 @@
 
 List alarm with query parameters::
 
-    aodh alarm list --query "state=alarm and type=threshold"
+    aodh alarm list --query "state=alarm and type=gnocchi_resources_threshold"
 
 Show an alarm's history::
 
@@ -83,5 +84,5 @@
 
 Search alarm history data::
 
-    aodh --debug alarm-history search --query 'timestamp>"2016-03-09T01:22:35"'
+    aodh alarm-history search --query 'timestamp>"2016-03-09T01:22:35"'
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/aodhclient-0.9.0/releasenotes/notes/remove-ceilometer-alarms-02049eef189c2812.yaml
 
new/aodhclient-1.1.0/releasenotes/notes/remove-ceilometer-alarms-02049eef189c2812.yaml
--- 
old/aodhclient-0.9.0/releasenotes/notes/remove-ceilometer-alarms-02049eef189c2812.yaml
      1970-01-01 01:00:00.000000000 +0100
+++ 
new/aodhclient-1.1.0/releasenotes/notes/remove-ceilometer-alarms-02049eef189c2812.yaml
      2018-06-18 14:37:32.000000000 +0200
@@ -0,0 +1,9 @@
+---
+features:
+  - |
+    Ceilometer alarms are no longer supported.
+upgrade:
+  - |
+    Ceilometer alarms will need to be recreated as alarms that target Gnocchi
+    as storage is not provided in Ceilometer anymore. You must downgrade client
+    if you still continue to use Ceilometer storage in older deployments.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/releasenotes/source/conf.py 
new/aodhclient-1.1.0/releasenotes/source/conf.py
--- old/aodhclient-0.9.0/releasenotes/source/conf.py    2017-03-01 
23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/releasenotes/source/conf.py    2018-06-18 
14:37:32.000000000 +0200
@@ -12,9 +12,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Aodh Client Release Notes documentation build configuration file, created by
-# sphinx-quickstart on Mon Nov 23 20:38:38 2015.
-#
 # This file is execfile()d with the current directory set to its
 # containing dir.
 #
@@ -38,7 +35,7 @@
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = [
-    'oslosphinx',
+    'openstackdocstheme',
     'reno.sphinxext',
 ]
 
@@ -54,20 +51,18 @@
 # The master toctree document.
 master_doc = 'index'
 
-# General information about the project.
+# openstackdocstheme options
+repository_name = 'openstack/python-aodhclient'
+bug_project = 'python-aodhclient'
+bug_tag = ''
 project = u'Aodh Client Release Notes'
 copyright = u'2015-present, Aodh developers'
 
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-import pbr.version
-aodh_version = pbr.version.VersionInfo('aodhclient')
+# Release notes are version independent.
 # The short X.Y version.
-version = aodh_version.canonical_version_string()
+version = ''
 # The full version, including alpha/beta/rc tags.
-release = aodh_version.version_string_with_vcs()
+release = ''
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
@@ -112,7 +107,7 @@
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-html_theme = 'default'
+html_theme = 'openstackdocs'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
@@ -150,7 +145,7 @@
 
 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
 # using the given strftime format.
-# html_last_updated_fmt = '%b %d, %Y'
+html_last_updated_fmt = '%Y-%m-%d %H:%M'
 
 # If true, SmartyPants will be used to convert quotes and dashes to
 # typographically correct entities.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/releasenotes/source/index.rst 
new/aodhclient-1.1.0/releasenotes/source/index.rst
--- old/aodhclient-0.9.0/releasenotes/source/index.rst  2017-03-01 
23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/releasenotes/source/index.rst  2018-06-18 
14:37:32.000000000 +0200
@@ -8,6 +8,8 @@
    :maxdepth: 2
 
    unreleased
+   queens
+   pike
    ocata
    newton
    mitaka
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/releasenotes/source/pike.rst 
new/aodhclient-1.1.0/releasenotes/source/pike.rst
--- old/aodhclient-0.9.0/releasenotes/source/pike.rst   1970-01-01 
01:00:00.000000000 +0100
+++ new/aodhclient-1.1.0/releasenotes/source/pike.rst   2018-06-18 
14:37:32.000000000 +0200
@@ -0,0 +1,6 @@
+===================================
+ Pike Series Release Notes
+===================================
+
+.. release-notes::
+   :branch: stable/pike
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/releasenotes/source/queens.rst 
new/aodhclient-1.1.0/releasenotes/source/queens.rst
--- old/aodhclient-0.9.0/releasenotes/source/queens.rst 1970-01-01 
01:00:00.000000000 +0100
+++ new/aodhclient-1.1.0/releasenotes/source/queens.rst 2018-06-18 
14:37:32.000000000 +0200
@@ -0,0 +1,6 @@
+===================================
+ Queens Series Release Notes
+===================================
+
+.. release-notes::
+   :branch: stable/queens
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/setup.cfg 
new/aodhclient-1.1.0/setup.cfg
--- old/aodhclient-0.9.0/setup.cfg      2017-03-01 23:27:17.000000000 +0100
+++ new/aodhclient-1.1.0/setup.cfg      2018-06-18 14:40:39.000000000 +0200
@@ -5,7 +5,7 @@
        README.rst
 author = OpenStack
 author-email = [email protected]
-home-page = http://docs.openstack.org/developer/python-aodhclient
+home-page = https://docs.openstack.org/python-aodhclient/latest/
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -25,17 +25,14 @@
 [extras]
 test = 
        coverage>=3.6
-       python-subunit>=0.0.18
        oslotest>=1.10.0 # Apache-2.0
        reno>=1.6.2 # Apache2
        tempest>=10
        testrepository>=0.0.18
        testtools>=1.4.0
-       pifpaf>=0.23
+       pifpaf[gnocchi]>=0.23
+       gnocchi[postgresql,file]
        mock>=1.2  # BSD
-doc = 
-       sphinx!=1.2.0,!=1.3b1,>=1.1.2
-       oslosphinx>=2.5.0 # Apache-2.0
 
 [entry_points]
 console_scripts = 
@@ -56,14 +53,6 @@
        alarm-history show = aodhclient.v2.alarm_history_cli:CliAlarmHistoryShow
        alarming capabilities list = 
aodhclient.v2.capabilities_cli:CliCapabilitiesList
 
-[build_sphinx]
-source-dir = doc/source
-build-dir = doc/build
-all_files = 1
-
-[upload_sphinx]
-upload-dir = doc/build/html
-
 [compile_catalog]
 directory = aodhclient/locale
 domain = aodhclient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aodhclient-0.9.0/tox.ini new/aodhclient-1.1.0/tox.ini
--- old/aodhclient-0.9.0/tox.ini        2017-03-01 23:25:59.000000000 +0100
+++ new/aodhclient-1.1.0/tox.ini        2018-06-18 14:37:51.000000000 +0200
@@ -12,11 +12,11 @@
    GNOCCHI_ENDPOINT=http://localhost:8041
 passenv = GNOCCHI_* AODH_* OS_TEST_TIMEOUT OS_STDOUT_CAPTURE OS_STDERR_CAPTURE 
OS_LOG_CAPTURE
 # NOTE(tonyb): This project has chosen to *NOT* consume upper-constraints.txt
+# NOTE(jd): the -e is on its own line so it is passed a separate argument to 
pip
 deps =
     .[test]
     http://tarballs.openstack.org/aodh/aodh-master.tar.gz#egg=aodh[mysql]
-    
http://tarballs.openstack.org/gnocchi/gnocchi-master.tar.gz#egg=gnocchi[postgresql,file]
-commands = pifpaf run aodh --gnocchi-create-legacy-resource-types -- python 
setup.py test --slowest --testr-args='{posargs}'
+commands = pifpaf run aodh -- python setup.py test --slowest 
--testr-args='{posargs}'
 
 [testenv:pep8]
 deps = hacking<0.13,>=0.12
@@ -24,7 +24,7 @@
 
 [testenv:venv]
 # Used by openstack-infra to build the doc
-deps = .[doc]
+deps = -r{toxinidir}/doc/requirements.txt
 commands = {posargs}
 
 [testenv:cover]
@@ -36,13 +36,14 @@
 commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
 
 [testenv:docs]
-deps = .[doc]
+deps = -r{toxinidir}/doc/requirements.txt
 commands =
-   rm -rf doc/source/ref
-   python setup.py build_sphinx
+   rm -rf doc/build
+   sphinx-build -b html doc/source doc/build/html
+whitelist_externals = rm
 
 [testenv:debug]
-commands = pifpaf --debug run aodh --gnocchi-create-legacy-resource-types -- 
oslo_debug_helper {posargs}
+commands = pifpaf --debug run aodh -- oslo_debug_helper {posargs}
 
 [flake8]
 show-source = True


Reply via email to