We are satisfied to announce the release of: aodh 4.0.0: OpenStack Telemetry Alarming This release is part of the ocata release series. Download the package from: https://tarballs.openstack.org/aodh/ For more details, please see below. 4.0.0 ^^^^^ New Features ************ * A healthcheck endpoint is provided by default at /healthcheck. It leverages oslo_middleware healthcheck middleware. It allows to retrieve information about the health of the API service. Upgrade Notes ************* * The api.pecan_debug option has been removed. * All the deprecated non-SQL drivers have been removed. Other Notes *********** * Gnocchi aggregation capabilities are now cached to minimise redundant calls to Gnocchi when validating aggregation methods. The cache is stored in-memory for an hour. If additional aggregations are added to Gnocchi, they will not be proprogated to Aodh's API service for at most an hour or unless the service is restarted. * Aodh now leverages microseconds timestamps available since MySQL 5.6.4, meaning it is now the minimum required version of MySQL. Changes in aodh 3.0.0..4.0.0 ---------------------------- 2ad5fb7 Stop shipping Apache2 configuration file 4109e31 Switch to decorators.idempotent_id a4c868b Fix all current typo bugs on Aodh project. a80e26b Add sem-ver flag so pbr generates correct version b0c91f9 Move policy.json out of etc 7b0435a Move api-paste file to common code location 30f4bfa install-guide: remove useless step 260bd26 api: add auth_mode option bebe520 enable cachetools for gnocchi alarms 600d6ee modernise gabbi usage 3c8e029 property refactoring 57e7966 Simple pip install fails for python3 ae1b172 Simple pip install fails under python3 0ac9fca composite: fix evaluation of trending state alarms 5df34a8 Enable coverage report in console output dc681f4 Fix expecting content-type headers 2d15753 Don't create multiple trust IDs per alarm 30ee864 [doc] Note lack of constraints is a choice e86f216 Enable healthcheck app to check API status aa9f7df Remove legacy policy file test f73b6df Replaces uuid.uuid4 with uuidutils.generate_uuid() 4b66e5a Add missing webtest dependency in test 0057ace Remove API workers option ff96089 Remove notes about MongoDB 7587ab9 Replace retrying with tenacity ef08bc2 Add trust+zaqar:// action b9242bf Refactor ZaqarAlarmNotifier and fix tests d0fd852 Change for more useful output in log notifier 25b10e4 Improve docs for ZaqarAlarmNotifier 3a788c7 Fix typo in plugin.sh ba56a0f add testresources req 5ae2845 cli: Fix --alarm-id in alarm conversion d1944f7 Replaced e.message with str(e) 0e49f88 Bump hacking to 0.12 efcff7f Imported Translations from Zanata 7514b3d [instll] Update a more simple rabbitmq configuration 8bf672e cors: update default configuration using cors' own set_defaults funtion 5b42d9f Fix the endpoint type of zaqar notifier 97f32ee add alarm.deletion notification 3f4f637 read data from stdout instead of stderr de31a0d Support keystone v3 for Zaqar notifier f6dfbee devstack: fix mispelling of aodh-api in ENABLED_SERVICES 80ec5fb Remove testtools dependency 4570e42 Remove deprecated non-SQL drivers 4de0e84 Add http_proxy_to_wsgi to config-generator d1391f7 sqlalchemy: use DATETIME(fsp=6) rather than DECIMAL d24dff2 Remove pecan_debug option 0f2a80d Add http_proxy_to_wsgi to api-paste 0112415 Handle case where sample-api is disabled 2858989 Enable release notes translation 82eb0ab Fix typo 8643f4f Adds notes on how to launch aodh-api with uwsgi 65d9ae4 Remove default=None when set value in Config b83b1ba sqlalchemy: remove Ceilometer upgrade workaround 5238e07 Fix locale builds 7198a1e Update reno for stable/newton Diffstat (except docs and test files) ------------------------------------- aodh/api/__init__.py | 15 +- aodh/api/api-paste.ini | 47 +++ aodh/api/app.py | 66 ++-- aodh/api/controllers/root.py | 6 +- aodh/api/controllers/v2/alarm_rules/gnocchi.py | 10 +- aodh/api/controllers/v2/alarm_rules/threshold.py | 49 ++- aodh/api/controllers/v2/alarms.py | 96 ++++-- aodh/api/controllers/v2/query.py | 2 +- aodh/api/controllers/v2/utils.py | 2 +- aodh/api/policy.json | 20 ++ aodh/api/rbac.py | 2 +- aodh/cmd/alarm_conversion.py | 7 +- aodh/cmd/data_migration.py | 162 ---------- aodh/conf/defaults.py | 29 +- aodh/coordination.py | 35 +- aodh/evaluator/__init__.py | 20 +- aodh/evaluator/composite.py | 17 +- aodh/evaluator/threshold.py | 10 +- aodh/locale/de/LC_MESSAGES/aodh-log-error.po | 132 ++++++++ aodh/locale/de/LC_MESSAGES/aodh.po | 30 +- aodh/locale/en_GB/LC_MESSAGES/aodh-log-error.po | 20 +- aodh/locale/en_GB/LC_MESSAGES/aodh-log-info.po | 23 +- aodh/locale/en_GB/LC_MESSAGES/aodh-log-warning.po | 22 +- aodh/locale/es/LC_MESSAGES/aodh.po | 1 - aodh/locale/fr/LC_MESSAGES/aodh.po | 1 - aodh/locale/ko_KR/LC_MESSAGES/aodh.po | 1 - aodh/notifier/log.py | 2 +- aodh/notifier/rest.py | 7 +- aodh/notifier/trust.py | 25 +- aodh/notifier/zaqar.py | 109 +++++-- aodh/service.py | 7 +- aodh/storage/__init__.py | 16 +- aodh/storage/hbase/__init__.py | 0 aodh/storage/hbase/base.py | 78 ----- aodh/storage/hbase/inmemory.py | 283 ----------------- aodh/storage/hbase/migration.py | 43 --- aodh/storage/hbase/utils.py | 250 --------------- aodh/storage/impl_hbase.py | 189 ----------- aodh/storage/impl_mongodb.py | 106 ------- aodh/storage/impl_sqlalchemy.py | 22 +- aodh/storage/models.py | 1 + aodh/storage/mongo/__init__.py | 0 aodh/storage/mongo/utils.py | 297 ----------------- aodh/storage/pymongo_base.py | 317 ------------------- .../alembic/versions/12fe8fac9fe4_initial_base.py | 21 +- .../367aadf5485f_precisetimestamp_to_datetime.py | 68 ++++ aodh/storage/sqlalchemy/models.py | 51 +-- .../functional/api/v2/test_alarm_scenarios.py | 150 ++++----- .../api/v2/test_complex_query_scenarios.py | 4 +- .../functional/gabbi/gabbits-live/alarms.yaml | 36 +-- .../functional/gabbi/gabbits/capabilities.yaml | 3 +- .../functional/gabbi/gabbits/healthcheck.yaml | 7 + .../storage/sqlalchemy/test_migrations.py | 1 - .../functional/storage/sqlalchemy/test_models.py | 86 ----- .../functional/storage/test_data_migration.py | 112 ------- .../functional/storage/test_get_connection.py | 35 +- .../functional/storage/test_storage_scenarios.py | 1 - .../tempest/api/test_alarming_api_negative.py | 10 +- devstack/gate/gate_hook.sh | 2 +- devstack/plugin.sh | 64 +--- etc/aodh/aodh-config-generator.conf | 2 + etc/aodh/api_paste.ini | 22 -- etc/aodh/policy.json | 20 -- etc/apache2/aodh | 39 --- install-guide/source/configure-common.rst | 10 +- install-guide/source/install-ubuntu.rst | 9 - .../gnocchi-capability-cache-75d011e77b8ecc72.yaml | 8 + .../notes/healthcheck-560700b72ae68e18.yaml | 5 + .../notes/ingestion-lag-2317725887287fbc.yaml | 2 +- .../mysql-precise-datetime-e374c77e6707985e.yaml | 4 + .../pecan-debug-removed-7c7a528a1aea98bf.yaml | 3 + .../remove-no-sql-drivers-21dfdbd750751340.yaml | 3 + releasenotes/source/conf.py | 3 + releasenotes/source/index.rst | 1 + .../source/locale/de/LC_MESSAGES/releasenotes.po | 351 +++++++++++++++++++++ .../locale/en_GB/LC_MESSAGES/releasenotes.po | 10 +- releasenotes/source/newton.rst | 6 + requirements.txt | 7 +- setup.cfg | 17 +- tools/test_hbase_table_utils.py | 38 --- tox.ini | 25 +- 109 files changed, 1512 insertions(+), 3382 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index e29b1ac..2676492 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5 +5 @@ -retrying!=1.3.0,>=1.2.3 # Apache-2.0 +tenacity>=3.2.1 # Apache-2.0 @@ -13 +13 @@ lxml>=2.3 -oslo.db>=1.12.0 # Apache-2.0 +oslo.db>=4.8.0,!=4.13.1,!=4.13.2,!=4.15.0 # Apache-2.0 @@ -22 +22 @@ oslo.messaging>=5.2.0 # Apache-2.0 -oslo.middleware>=3.0.0 # Apache-2.0 +oslo.middleware>=3.22.0 # Apache-2.0 @@ -33,0 +34 @@ WSME>=0.8 +cachetools>=1.1.6