diff -Nru aodh-4.0.0/aodh/api/controllers/v2/alarm_rules/gnocchi.py aodh-4.0.1/aodh/api/controllers/v2/alarm_rules/gnocchi.py --- aodh-4.0.0/aodh/api/controllers/v2/alarm_rules/gnocchi.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/api/controllers/v2/alarm_rules/gnocchi.py 2017-07-17 11:59:19.000000000 +0000 @@ -18,6 +18,8 @@ import cachetools from gnocchiclient import client from gnocchiclient import exceptions +from keystoneauth1 import exceptions as ka_exceptions +from oslo_config import cfg from oslo_serialization import jsonutils import pecan import wsme @@ -28,6 +30,14 @@ from aodh import keystone_client +GNOCCHI_OPTS = [ + cfg.StrOpt('gnocchi_external_project_owner', + default="service", + help='Project name of resources creator in Gnocchi. ' + '(For example the Ceilometer project name'), +] + + class GnocchiUnavailable(Exception): code = 503 @@ -142,6 +152,20 @@ 'resource_type']) return rule + cache = cachetools.TTLCache(maxsize=1, ttl=3600) + lock = threading.RLock() + + @staticmethod + @cachetools.cached(cache, lock=lock) + def get_external_project_owner(): + kc = keystone_client.get_client(pecan.request.cfg) + project_name = pecan.request.cfg.api.gnocchi_external_project_owner + try: + project = kc.projects.find(name=project_name) + return project.id + except ka_exceptions.NotFound: + return None + @classmethod def validate_alarm(cls, alarm): super(AggregationMetricByResourcesLookupRule, @@ -155,14 +179,27 @@ except ValueError: raise wsme.exc.InvalidInput('rule/query', rule.query) + conf = pecan.request.cfg + # Scope the alarm to the project id if needed auth_project = v2_utils.get_auth_project(alarm.project_id) if auth_project: - query = {"and": [{"=": {"created_by_project_id": auth_project}}, - query]} + + perms_filter = {"=": {"created_by_project_id": auth_project}} + + external_project_owner = cls.get_external_project_owner() + if external_project_owner: + perms_filter = {"or": [ + perms_filter, + {"and": [ + {"=": {"created_by_project_id": + external_project_owner}}, + {"=": {"project_id": auth_project}}]} + ]} + + query = {"and": [perms_filter, query]} rule.query = jsonutils.dumps(query) - conf = pecan.request.cfg gnocchi_client = client.Client( '1', keystone_client.get_session(conf), interface=conf.service_credentials.interface, diff -Nru aodh-4.0.0/aodh/opts.py aodh-4.0.1/aodh/opts.py --- aodh-4.0.0/aodh/opts.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/opts.py 2017-07-17 11:59:19.000000000 +0000 @@ -16,6 +16,7 @@ from keystoneauth1 import loading import aodh.api +import aodh.api.controllers.v2.alarm_rules.gnocchi import aodh.api.controllers.v2.alarms import aodh.coordination import aodh.evaluator @@ -42,6 +43,7 @@ ('api', itertools.chain( aodh.api.OPTS, + aodh.api.controllers.v2.alarm_rules.gnocchi.GNOCCHI_OPTS, aodh.api.controllers.v2.alarms.ALARM_API_OPTS)), ('coordination', aodh.coordination.OPTS), ('database', aodh.storage.OPTS), diff -Nru aodh-4.0.0/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py aodh-4.0.1/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py --- aodh-4.0.0/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py 2017-07-17 11:59:19.000000000 +0000 @@ -43,7 +43,7 @@ # TABLE … USING …". We need to copy everything and convert… for table_name, column_name in (("alarm", "timestamp"), ("alarm", "state_timestamp"), - ("alarm_change", "timestamp")): + ("alarm_history", "timestamp")): existing_type = sa.types.DECIMAL( precision=20, scale=6, asdecimal=True) existing_col = sa.Column( diff -Nru aodh-4.0.0/aodh/tests/functional/api/v2/test_alarm_scenarios.py aodh-4.0.1/aodh/tests/functional/api/v2/test_alarm_scenarios.py --- aodh-4.0.0/aodh/tests/functional/api/v2/test_alarm_scenarios.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/functional/api/v2/test_alarm_scenarios.py 2017-07-17 11:59:19.000000000 +0000 @@ -18,7 +18,6 @@ import os import mock -import oslo_messaging.conffixture from oslo_serialization import jsonutils from oslo_utils import uuidutils import six @@ -389,8 +388,7 @@ def test_get_alarm_forbiden(self): pf = os.path.abspath('aodh/tests/functional/api/v2/policy.json-test') - self.CONF.set_override('policy_file', pf, group='oslo_policy', - enforce_type=True) + self.CONF.set_override('policy_file', pf, group='oslo_policy') self.CONF.set_override('auth_mode', None, group='api') self.app = webtest.TestApp(app.load_app(self.CONF)) @@ -1707,30 +1705,22 @@ } } - endpoint = mock.MagicMock() - target = oslo_messaging.Target(topic="notifications") - listener = messaging.get_batch_notification_listener( - self.transport, [target], [endpoint]) - listener.start() - endpoint.info.side_effect = lambda *args: listener.stop() - self.post_json('/alarms', params=json, headers=self.auth_headers) - listener.wait() - - class NotificationsMatcher(object): - def __eq__(self, notifications): - payload = notifications[0]['payload'] - return (payload['detail']['name'] == 'sent_notification' and - payload['type'] == 'creation' and - payload['detail']['rule']['meter_name'] == 'ameter' and - set(['alarm_id', 'detail', 'event_id', 'on_behalf_of', - 'project_id', 'timestamp', + with mock.patch.object(messaging, 'get_notifier') as get_notifier: + notifier = get_notifier.return_value + self.post_json('/alarms', params=json, headers=self.auth_headers) + get_notifier.assert_called_once_with(mock.ANY, + publisher_id='aodh.api') + calls = notifier.info.call_args_list + self.assertEqual(1, len(calls)) + args, _ = calls[0] + context, event_type, payload = args + self.assertEqual('alarm.creation', event_type) + self.assertEqual('sent_notification', payload['detail']['name']) + self.assertEqual('ameter', payload['detail']['rule']['meter_name']) + self.assertTrue(set(['alarm_id', 'detail', 'event_id', 'on_behalf_of', + 'project_id', 'timestamp', 'type', 'user_id']).issubset(payload.keys())) - def __ne__(self, other): - return not self.__eq__(other) - - endpoint.info.assert_called_once_with(NotificationsMatcher()) - def test_alarm_sends_notification(self): with mock.patch.object(messaging, 'get_notifier') as get_notifier: notifier = get_notifier.return_value @@ -3027,7 +3017,9 @@ self.assertEqual(1, len(alarms)) self._verify_alarm(json, alarms[0]) - def test_post_gnocchi_aggregation_alarm_project_constraint(self): + @mock.patch('aodh.keystone_client.get_client') + def test_post_gnocchi_aggregation_alarm_project_constraint(self, + get_client): json = { 'enabled': False, 'name': 'project_constraint', @@ -3050,10 +3042,21 @@ } } - expected_query = {"and": [{"=": {"created_by_project_id": - self.auth_headers['X-Project-Id']}}, - {"=": {"server_group": - "my_autoscaling_group"}}]} + expected_query = {"and": [ + {"or": [ + {"=": {"created_by_project_id": + self.auth_headers['X-Project-Id']}}, + {"and": [ + {"=": {"created_by_project_id": ""}}, + {"=": {"project_id": self.auth_headers['X-Project-Id']}} + ]}, + ]}, + {"=": {"server_group": "my_autoscaling_group"}}, + ]} + + ks_client = mock.Mock() + ks_client.projects.find.return_value = mock.Mock(id='') + get_client.return_value = ks_client with mock.patch('aodh.api.controllers.v2.alarm_rules.' 'gnocchi.client') as clientlib: diff -Nru aodh-4.0.0/aodh/tests/functional/db.py aodh-4.0.1/aodh/tests/functional/db.py --- aodh-4.0.0/aodh/tests/functional/db.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/functional/db.py 2017-07-17 11:59:19.000000000 +0000 @@ -93,8 +93,7 @@ conf = service.prepare_service(argv=[], config_files=[]) self.CONF = self.useFixture(fixture_config.Config(conf)).conf - self.CONF.set_override('connection', db_url, group="database", - enforce_type=True) + self.CONF.set_override('connection', db_url, group="database") manager = self.DRIVER_MANAGERS.get(self.engine) if not manager: @@ -105,7 +104,7 @@ self.useFixture(self.db_manager) self.CONF.set_override('connection', self.db_manager.url, - group="database", enforce_type=True) + group="database") self.alarm_conn = storage.get_connection_from_config(self.CONF) self.alarm_conn.upgrade() diff -Nru aodh-4.0.0/aodh/tests/functional/gabbi/fixtures.py aodh-4.0.1/aodh/tests/functional/gabbi/fixtures.py --- aodh-4.0.0/aodh/tests/functional/gabbi/fixtures.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/functional/gabbi/fixtures.py 2017-07-17 11:59:19.000000000 +0000 @@ -79,8 +79,7 @@ conf.set_override('policy_file', os.path.abspath( 'aodh/tests/open-policy.json'), - group='oslo_policy', - enforce_type=True) + group='oslo_policy') conf.set_override('auth_mode', None, group='api') parsed_url = urlparse.urlparse(db_url) @@ -89,8 +88,7 @@ parsed_url[2] += '-%s' % uuidutils.generate_uuid(dashed=False) db_url = urlparse.urlunparse(parsed_url) - conf.set_override('connection', db_url, group='database', - enforce_type=True) + conf.set_override('connection', db_url, group='database') if (parsed_url[0].startswith("mysql") or parsed_url[0].startswith("postgresql")): diff -Nru aodh-4.0.0/aodh/tests/functional/storage/test_get_connection.py aodh-4.0.1/aodh/tests/functional/storage/test_get_connection.py --- aodh-4.0.0/aodh/tests/functional/storage/test_get_connection.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/functional/storage/test_get_connection.py 2017-07-17 11:59:19.000000000 +0000 @@ -34,15 +34,14 @@ def test_get_connection(self): self.CONF.set_override('connection', 'log://localhost', - group='database', enforce_type=True) + group='database') engine = storage.get_connection_from_config(self.CONF) self.assertIsInstance(engine, impl_log.Connection) def test_get_connection_no_such_engine(self): self.CONF.set_override('connection', 'no-such-engine://localhost', - group='database', enforce_type=True) - self.CONF.set_override('max_retries', 0, 'database', - enforce_type=True) + group='database') + self.CONF.set_override('max_retries', 0, 'database') try: storage.get_connection_from_config(self.CONF) except RuntimeError as err: @@ -67,12 +66,9 @@ raise ConnectionError log_init.side_effect = x - self.CONF.set_override("connection", "log://", "database", - enforce_type=True) - self.CONF.set_override("retry_interval", 0.00001, "database", - enforce_type=True) - self.CONF.set_override("max_retries", max_retries, "database", - enforce_type=True) + self.CONF.set_override("connection", "log://", "database") + self.CONF.set_override("retry_interval", 0.00001, "database") + self.CONF.set_override("max_retries", max_retries, "database") self.assertRaises(ConnectionError, storage.get_connection_from_config, self.CONF) @@ -86,7 +82,6 @@ self.CONF = self.useFixture(fixture_config.Config(conf)).conf def test_only_default_url(self): - self.CONF.set_override("connection", "log://", group="database", - enforce_type=True) + self.CONF.set_override("connection", "log://", group="database") conn = storage.get_connection_from_config(self.CONF) self.assertIsInstance(conn, impl_log.Connection) diff -Nru aodh-4.0.0/aodh/tests/unit/test_coordination.py aodh-4.0.1/aodh/tests/unit/test_coordination.py --- aodh-4.0.0/aodh/tests/unit/test_coordination.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/unit/test_coordination.py 2017-07-17 11:59:19.000000000 +0000 @@ -151,7 +151,7 @@ coordinator_cls=None): coordinator_cls = coordinator_cls or MockToozCoordinator self.CONF.set_override('backend_url', 'xxx://yyy', - group='coordination', enforce_type=True) + group='coordination') with mock.patch('tooz.coordination.get_coordinator', lambda _, member_id: coordinator_cls(member_id, shared_storage)): diff -Nru aodh-4.0.0/aodh/tests/unit/test_evaluator.py aodh-4.0.1/aodh/tests/unit/test_evaluator.py --- aodh-4.0.0/aodh/tests/unit/test_evaluator.py 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/aodh/tests/unit/test_evaluator.py 2017-07-17 11:59:19.000000000 +0000 @@ -68,8 +68,7 @@ test_interval) self.CONF.set_override('heartbeat', coordination_heartbeat, - group='coordination', - enforce_type=True) + group='coordination') self._fake_pc.is_active.return_value = coordination_active diff -Nru aodh-4.0.0/aodh.egg-info/pbr.json aodh-4.0.1/aodh.egg-info/pbr.json --- aodh-4.0.0/aodh.egg-info/pbr.json 2017-02-02 17:52:24.000000000 +0000 +++ aodh-4.0.1/aodh.egg-info/pbr.json 2017-07-17 12:01:14.000000000 +0000 @@ -1 +1 @@ -{"is_release": true, "git_version": "2ad5fb7"} \ No newline at end of file +{"git_version": "38ba051", "is_release": true} \ No newline at end of file diff -Nru aodh-4.0.0/aodh.egg-info/PKG-INFO aodh-4.0.1/aodh.egg-info/PKG-INFO --- aodh-4.0.0/aodh.egg-info/PKG-INFO 2017-02-02 17:52:24.000000000 +0000 +++ aodh-4.0.1/aodh.egg-info/PKG-INFO 2017-07-17 12:01:14.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: aodh -Version: 4.0.0 +Version: 4.0.1 Summary: OpenStack Telemetry Alarming Home-page: http://docs.openstack.org/developer/aodh Author: OpenStack diff -Nru aodh-4.0.0/aodh.egg-info/requires.txt aodh-4.0.1/aodh.egg-info/requires.txt --- aodh-4.0.0/aodh.egg-info/requires.txt 2017-02-02 17:52:24.000000000 +0000 +++ aodh-4.0.1/aodh.egg-info/requires.txt 2017-07-17 12:01:14.000000000 +0000 @@ -6,43 +6,45 @@ keystonemiddleware>=2.2.0 gnocchiclient>=2.1.0 lxml>=2.3 -oslo.db>=4.8.0,!=4.13.1,!=4.13.2,!=4.15.0 +oslo.db!=4.13.1,!=4.13.2,!=4.15.0,>=4.8.0 oslo.config>=2.6.0 -oslo.i18n>=1.5.0 +oslo.i18n<3.13.0,>=1.5.0 oslo.log>=1.2.0 oslo.policy>=0.5.0 PasteDeploy>=1.5.0 -pbr<2.0,>=0.11 +pbr>=1.8 pecan>=0.8.0 oslo.messaging>=5.2.0 -oslo.middleware>=3.22.0 +oslo.middleware<3.24.0,>=3.22.0 oslo.serialization>=1.4.0 -oslo.utils>=3.5.0 +oslo.utils<3.23.0,>=3.5.0 python-ceilometerclient>=1.5.0 python-keystoneclient>=1.6.0 pytz>=2013.6 requests>=2.5.2 six>=1.9.0 -stevedore>=1.5.0 +stevedore<1.21.0,>=1.5.0 tooz>=1.28.0 WebOb>=1.2.3 WSME>=0.8 cachetools>=1.1.6 cotyledon +debtcollector<1.12.0 +oslo.context<2.13.0 [doc] -oslosphinx>=2.5.0 # Apache-2.0 -reno>=0.1.1 # Apache2 +oslosphinx>=2.5.0 +reno>=0.1.1 sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 sphinxcontrib-httpdomain sphinxcontrib-pecanwsme>=0.8 -openstackdocstheme>=1.0.3 # Apache-2.0 +openstackdocstheme>=1.0.3 [mysql] SQLAlchemy<1.1.0,>=0.9.7 sqlalchemy-utils alembic>=0.7.2 -PyMySQL>=0.6.2 # MIT License +PyMySQL>=0.6.2 [postgresql] SQLAlchemy<1.1.0,>=0.9.7 @@ -52,14 +54,14 @@ [test] pifpaf>=0.1.0 -oslotest>=1.5.1 # Apache-2.0 +oslotest>=1.5.1 coverage>=3.6 fixtures>=1.3.1 mock>=1.0 -tempest>=11.0.0 # Apache-2.0 +tempest>=11.0.0 testrepository>=0.0.18 -testresources>=0.2.4 # Apache-2.0/BSD -gabbi>=1.7.0 # Apache-2.0 +testresources>=0.2.4 +gabbi>=1.7.0 os-testr python-subunit>=0.0.18 webtest diff -Nru aodh-4.0.0/aodh.egg-info/SOURCES.txt aodh-4.0.1/aodh.egg-info/SOURCES.txt --- aodh-4.0.0/aodh.egg-info/SOURCES.txt 2017-02-02 17:52:26.000000000 +0000 +++ aodh-4.0.1/aodh.egg-info/SOURCES.txt 2017-07-17 12:01:15.000000000 +0000 @@ -227,6 +227,7 @@ releasenotes/notes/fix-ssl-request-8107616b6a85a217.yaml releasenotes/notes/gnocchi-capability-cache-75d011e77b8ecc72.yaml releasenotes/notes/gnocchi-client-a62ca5a0c717807e.yaml +releasenotes/notes/gnocchi-external-resource-owner-3fad253d30746b0d.yaml releasenotes/notes/healthcheck-560700b72ae68e18.yaml releasenotes/notes/ingestion-lag-2317725887287fbc.yaml releasenotes/notes/keystone-v3-support-ffc0f804dbe9d7e9.yaml diff -Nru aodh-4.0.0/AUTHORS aodh-4.0.1/AUTHORS --- aodh-4.0.0/AUTHORS 2017-02-02 17:52:24.000000000 +0000 +++ aodh-4.0.1/AUTHORS 2017-07-17 12:01:14.000000000 +0000 @@ -153,8 +153,10 @@ Nicolas Barcet (nijaba) Noorul Islam K M Octavian Ciuhandu +OpenStack Release Bot Paul Belanger Peter Portante +Petr Kovar Phil Neal Piyush Masrani Pradeep Kilambi diff -Nru aodh-4.0.0/ChangeLog aodh-4.0.1/ChangeLog --- aodh-4.0.0/ChangeLog 2017-02-02 17:52:23.000000000 +0000 +++ aodh-4.0.1/ChangeLog 2017-07-17 12:01:14.000000000 +0000 @@ -1,17 +1,29 @@ CHANGES ======= +4.0.1 +----- + +* gnocchi: fix alarms for unpriviledged user +* cleanup aodh config instructions in install guide +* simplify crud notification test +* Remove deprecated oslo.config messages +* cap ocata libs from pbr +* [install-guide] Minor edits +* Fix the migration to use alarm\_history +* Update .gitreview for stable/ocata + 4.0.0 ----- * Stop shipping Apache2 configuration file -* Switch to decorators.idempotent_id +* Switch to decorators.idempotent\_id * Fix all current typo bugs on Aodh project * Add sem-ver flag so pbr generates correct version * Move policy.json out of etc * Move api-paste file to common code location * install-guide: remove useless step -* api: add auth_mode option +* api: add auth\_mode option * enable cachetools for gnocchi alarms * modernise gabbi usage * property refactoring @@ -24,7 +36,7 @@ * [doc] Note lack of constraints is a choice * Enable healthcheck app to check API status * Remove legacy policy file test -* Replaces uuid.uuid4 with uuidutils.generate_uuid() +* Replaces uuid.uuid4 with uuidutils.generate\_uuid() * Add missing webtest dependency in test * Remove API workers option * Remove notes about MongoDB @@ -40,18 +52,18 @@ * Bump hacking to 0.12 * Imported Translations from Zanata * [instll] Update a more simple rabbitmq configuration -* cors: update default configuration using cors' own set_defaults funtion +* cors: update default configuration using cors' own set\_defaults funtion * Fix the endpoint type of zaqar notifier * add alarm.deletion notification * read data from stdout instead of stderr * Support keystone v3 for Zaqar notifier -* devstack: fix mispelling of aodh-api in ENABLED_SERVICES +* devstack: fix mispelling of aodh-api in ENABLED\_SERVICES * Remove testtools dependency * Remove deprecated non-SQL drivers -* Add http_proxy_to_wsgi to config-generator +* Add http\_proxy\_to\_wsgi to config-generator * sqlalchemy: use DATETIME(fsp=6) rather than DECIMAL -* Remove pecan_debug option -* Add http_proxy_to_wsgi to api-paste +* Remove pecan\_debug option +* Add http\_proxy\_to\_wsgi to api-paste * Handle case where sample-api is disabled * Enable release notes translation * Fix typo @@ -98,13 +110,13 @@ * update .gitignore for install-guide/build * Imported Translations from Zanata -* gnocchi: always set needed_overlap for aggregation +* gnocchi: always set needed\_overlap for aggregation * Remove unused LOG object * Record the state transition reason in alarm's history data when evaluating * use Cotyledon lib -* Add __ne__ built-in function +* Add \_\_ne\_\_ built-in function * Add install-guide for aodh -* Replace raw_input with input to make PY3 compatible +* Replace raw\_input with input to make PY3 compatible * sqlalchemy: allow to upgrade schema from Ceilometer Liberty * Make help string more accurate for rest notifier * Correct the order when sorting by "severity" @@ -113,30 +125,30 @@ * Correct concurrency of gabbi tests for gabbi 1.22.0 * Fix trust notifier * Use "topics" instead of "topic" in Notifier initialization -* Clean deprecated "rpc_backend" in tests +* Clean deprecated "rpc\_backend" in tests * Support combination alarms to composite alarms conversion * Imported Translations from Zanata * Imported Translations from Zanata -* Add ca_bundle path in ssl request +* Add ca\_bundle path in ssl request * Add indexs of alarm.enabled and alarm.type -* Catch DriverLoadFailure for get_transport optional +* Catch DriverLoadFailure for get\_transport optional * Bump the oslo.messaging version * gabbi: fail test if no backend configured * Imported Translations from Zanata * Replace overtest by pifpaf * Make some tests more like Aodh tests -* skip test_create_delete_alarm_with_combination_rule +* skip test\_create\_delete\_alarm\_with\_combination\_rule * tests/functional: enable Gabbi for all backends * Imported Translations from Zanata * fix typos in our doc, comment and releasenotes -* Use pbr wsgi_scripts to build aodh-api +* Use pbr wsgi\_scripts to build aodh-api * Add pagination support for Aodh * Add a tool for migrating alarms data from NoSQL to SQL * api: deprecate and disable combination alarms * Update the home-page with developer documentation * Clean unrelated error of two tests -* Remove unused option `host' -* Remove the unused dict_to_keyval and its test +* Remove unused option \`host' +* Remove the unused dict\_to\_keyval and its test * gnocchi: log on warning level, not exception * Don't notify alarm on each refresh * remove alarm name unique constraint in each project @@ -156,15 +168,15 @@ * [Trivial] Improve alarm reason text * [Trivial] Use local conf instead of global conf * [Trivial] Remove api bin unit test -* [Trivial] Add zaqar options to list_opts -* [Trivial] Remove AODH_API_LOG_DIR option for devstack +* [Trivial] Add zaqar options to list\_opts +* [Trivial] Remove AODH\_API\_LOG\_DIR option for devstack * Update the default log levels -* Replace logging with oslo_log -* Remove the notify_alarm method and refactor related tests +* Replace logging with oslo\_log +* Remove the notify\_alarm method and refactor related tests * Add documentation about event alarm * promote log level to warning for invalid event * remove unused file pylintrc -* remove todo for OS_TEST_PATH +* remove todo for OS\_TEST\_PATH * remove local hacking check for oslo namespace and log debug * rm functions.sh * remove deprecated auth type password-aodh-legacy @@ -176,11 +188,11 @@ * use static timestamps for api samples * add tempest to test requirement * document how to enable aodh stable branch in devstack -* remove deprecated option alarm_connection +* remove deprecated option alarm\_connection * add default value to functional test environment variables * fix some message string * Remove an unrelated comment -* remove store_events option in devstack/plugin.sh +* remove store\_events option in devstack/plugin.sh * install aodhclient instead of ceilometerclient * Imported Translations from Zanata * fix release note link in README.rst @@ -192,8 +204,8 @@ * Fix Aodh-alarm-evaluator recreates deleted alarms in some cases * Remove the deprecated RPC IPC code * remove non ascii character in doc -* api: rename _alarm to _enforce_rbac -* api: stop relying on side-effect of _alarm() +* api: rename \_alarm to \_enforce\_rbac +* api: stop relying on side-effect of \_alarm() * Raise Error when query history of an alarm that are not existed * Update reno for stable/mitaka @@ -220,16 +232,16 @@ * Add composite alarm usage description * Remove unused pngmath Sphinx extension -* Fix py34 error of indexing 'dict_keys' object +* Fix py34 error of indexing 'dict\_keys' object * Add releasenote for composite alarm feature -* Change the SERVICE_TENANT_NAME to SERVICE_PROJECT_NAME +* Change the SERVICE\_TENANT\_NAME to SERVICE\_PROJECT\_NAME * Fix tempest test path * Add composite rule alarm API support * Add composite rule alarm evaluator -* Remove ceilometer-alarm-* related content of installation +* Remove ceilometer-alarm-\* related content of installation * Clean etc directory * Install configuration files by default -* KEYSTONE_CATALOG_BACKEND is deprecated +* KEYSTONE\_CATALOG\_BACKEND is deprecated * Added CORS support to Aodh * devstack: Fix Keystone v3 configuration typo * Fix alarm reason @@ -258,12 +270,12 @@ * Use keystoneauth1 instead of manual setup * Replace deprecated library function os.popen() with subprocess * Use assertTrue/False instead of assertEqual(T/F) -* Test: make enforce_type=True in CONF.set_override +* Test: make enforce\_type=True in CONF.set\_override * devstack: add support for Gnocchi * Replace LOG.warn with LOG.warning * Trivial: Remove vim header from source files * Trival: Remove unused logging import -* Fix an minor error in test_hbase_table_utils.py +* Fix an minor error in test\_hbase\_table\_utils.py * Don't need a metaclass for AlarmEvaluationService * Use extras for dependency installation * Support newer versions of MySQL @@ -279,7 +291,7 @@ * add initial release notes * Put py34 first in the env order of tox * Update policy.json.sample with correct values -* deprecate timeutils.total_seconds() +* deprecate timeutils.total\_seconds() * clean up integration test urls * initialize ceilometerclient when we use it * fix some test cases wrongly skipped for mysql backend @@ -288,11 +300,11 @@ * Move the content of ReleaseNotes to README.rst * devstack: fix HBase functional tests * don't pass aodh options to oslo.db engine facade -* gnocchi: only evaluate the required eval_periods +* gnocchi: only evaluate the required eval\_periods * Fix combination alarms * Fixing evaluation of gnocchi aggregation-by-metric * add reno for release notes management -* Revert "Revert "Use oslo_config PortOpt support"" +* Revert "Revert "Use oslo\_config PortOpt support"" * Do not use oslo.messaging 2.8.0 * utils: move code where it's actually used and remove * hbase: add functional testing @@ -302,9 +314,9 @@ * Do not use system config file for test * devstack: install PostgreSQL devel tool for psycopg2 * Move evaluator tests into the unit folder -* Revert "Use oslo_config PortOpt support" -* Use oslo_config PortOpt support -* Add deprecated group for gnocchi_url +* Revert "Use oslo\_config PortOpt support" +* Use oslo\_config PortOpt support +* Add deprecated group for gnocchi\_url * Fix indent of code blocks in Devstack plugin README file * Imported Translations from Zanata * devstack: Fix some comments @@ -327,10 +339,10 @@ * Cleanup of Translations * Remove unused file * Add test to cover history rule change -* Change ignore-errors to ignore_errors -* tox: Allow to pass some OS_* variables +* Change ignore-errors to ignore\_errors +* tox: Allow to pass some OS\_\* variables * Imported Translations from Zanata -* gnocchi: Fix typo for needed_overlap +* gnocchi: Fix typo for needed\_overlap * Cleanup keystonemiddleware configuration * event-alarm: add unit tests for various trait types * event-alarm: add alarm wrapper class @@ -348,12 +360,12 @@ * storage: remove unused CLI option * tests: use requests rather than httplib2 * Remove unused tests requirements -* percent_of_overlap=0 to validate gnocchi alarm +* percent\_of\_overlap=0 to validate gnocchi alarm * Adding liusheng to MAINTAINERS * Fix the aodh api port * Use new location of subunit2html * Add storage documentation -* Fix args for get_notification_listener() +* Fix args for get\_notification\_listener() * Create conf directory during devstack install phase * event-alarm: devstack plugin support * Update tests to reflect WSME 0.8.0 changes @@ -365,32 +377,32 @@ * Imported Translations from Transifex * Exclude event type from targets of alarm evaluator * tox: generate sample config file on default target -* Refactor api tests (_update_alarm) -* Storage: add 'exclude' constraint to get_alarms() +* Refactor api tests (\_update\_alarm) +* Storage: add 'exclude' constraint to get\_alarms() * Use generic keystone uri in devstack config * Avoid translating debug log * Use the Serializer from oslo.messaging * Fixes querying alarm history with severity field -* Remove the unused cpu_count utils method +* Remove the unused cpu\_count utils method * api: move API options to their own api group -* storage: remove mongodb_replica_set option +* storage: remove mongodb\_replica\_set option * service: stop supporting deprecated group for auth option -* storage: remove unused option db2nosql_resource_id_maxlen +* storage: remove unused option db2nosql\_resource\_id\_maxlen * Stop registering oslo.messaging option * Move import to local to resolve circular dependency failure * Refactor api tests for alarm history * Move ceilometerclient mock to evaluator/base * Correct database functional tests * Correct thread handling in TranslationHook -* storage: re-add and deprecate alarm_connection -* Fix TestEvaluatorBase.prepare_alarms() +* storage: re-add and deprecate alarm\_connection +* Fix TestEvaluatorBase.prepare\_alarms() * Make ConnectionRetryTest more reliable -* storage: remove deprecated database_connection +* storage: remove deprecated database\_connection * Use storage scenario test base to test migration -* devstack: use $API_WORKERS to set the number of WSGI workers in Apache -* Add 'event' type and 'event_rule' to alarm API +* devstack: use $API\_WORKERS to set the number of WSGI workers in Apache +* Add 'event' type and 'event\_rule' to alarm API * Refactor alarm scenario tests (RuleCombination) -* gnocchi: percent_of_overlap=0 for agg. alarms +* gnocchi: percent\_of\_overlap=0 for agg. alarms * Drop downgrade field in alembic script.py.mako * Imported Translations from Transifex * Refactor alarm scenario tests (RuleGnocchi) @@ -405,7 +417,7 @@ * evaluator: remove global conf usage from threshold evaluator * rpc: remove global conf usage from notifier * api: remove global conf and local pecan config -* api: remove force_canonical option +* api: remove force\_canonical option * tests.api: remove unused argument/config option * api: stop using a global Enforcer object * api.hooks: stop using global conf object @@ -417,11 +429,11 @@ * Imported Translations from Transifex * mongodb: stop using global config object * tests.db: simplify connection handling -* storage: always use get_connection_from_config() +* storage: always use get\_connection\_from\_config() * Add keystone V3 support for service credentials * Delete its corresponding history data when deleting an alarm * Avoid getting alarm change notifier repeatedly -* Use user_id/project_id from service_credentials in alarm_change +* Use user\_id/project\_id from service\_credentials in alarm\_change * Refactor alarm scenario tests (RuleThreshold) * Fix the service entry of evaluator and notifier * Use stevedore directive to document plugins @@ -429,12 +441,12 @@ * notifier: stop using global conf object * tests: use config fixture in evaluator tests * coordination: stop using global conf object -* storage: pass conf rather at __init__ than using a global one +* storage: pass conf rather at \_\_init\_\_ than using a global one * evaluator: stop using global conf in evaluator service * evaluator: stop using global conf in Evaluator * notifier: stop relying on global conf object * api: stop using cfg.CONF and use request local conf -* keystone_client: stop using cfg.CONF +* keystone\_client: stop using cfg.CONF * Move service classes to their correct subdir * api: use oslo.config to validate data for worker * rpc: stop using global conf object in some functions @@ -465,14 +477,14 @@ * doc: use pbr autodoc feature to build api doc * Remove code related to metadata/metaquery * messaging: remove unused cleanup function -* impl_log: make methods static +* impl\_log: make methods static * Remove useless migration module * Minor changes for evaluator service * Update the requirements * notifier: tests stop method * api: remove v1 handling -* api: remove unused extra_hooks -* Move 'alarm_connection' to 'connection' +* api: remove unused extra\_hooks +* Move 'alarm\_connection' to 'connection' * Move aodh.alarm.storage to aodh.storage * Replaces methods deprecated in pymongo3.0 * Fix options registeration in tests @@ -485,7 +497,7 @@ * Add support for posting samples to notification-agent via API * Stop dropping deprecated tables while upgrade in mongodb and db2 * Add handler of sample creation notification -* Remove the unused get_targets method of plugin base +* Remove the unused get\_targets method of plugin base * add oslo.service options * Restricts pipeline to have unique source names * drop use of oslo.db private attribute @@ -494,13 +506,13 @@ * Remove unnecessary executable permission * Switch to oslo.service * Remove unnecessary wrapping of transformer ExtentionManager -* Port test_complex_query to Python 3 +* Port test\_complex\_query to Python 3 * Fix expected error message on Python 3 * Fix usage of iterator/list on Python 3 -* Replaces ensure_index for create_index +* Replaces ensure\_index for create\_index * pip has its own download cache by default * For sake of future python3 encode FakeMemcache hashes -* Make acl_scenarios tests' keystonemiddleware cache work flexibly +* Make acl\_scenarios tests' keystonemiddleware cache work flexibly * Update version for Liberty * Gnocchi Dispatcher support in Ceilometer * Updated from global requirements @@ -509,8 +521,8 @@ * Fix unicode/bytes issues in API v2 tests * Fix script name in tox.ini for Elasticsearch * Fix the meter unit types to be consistent -* tests: use policy_file in group oslo_policy -* Fix publisher test_udp on Python 3 +* tests: use policy\_file in group oslo\_policy +* Fix publisher test\_udp on Python 3 * Fix Ceph object store tests on Python 3 * Port IPMI to Python 3 * Port middleware to Python 3 @@ -525,7 +537,7 @@ * Fix more tests on Python 3 * Remove old oslo.messaging aliases * Remove useless versioninfo and clean ceilometer.conf git exclusion -* Register oslo_log options before using them +* Register oslo\_log options before using them * Add running functional scripts for defined backend * Remove snapshot.update events as they are not sent * WSME version >=0.7 correctly returns a 405 @@ -538,29 +550,29 @@ * Fixes DiskInfoPollster AttributeError exception * remove useless log message * use oslo.log instead of oslo-incubator code -* Port test_inspector to Python 3 +* Port test\_inspector to Python 3 * Fix usage of dictionary methods on Python 3 * Imported Translations from Transifex * Add oslo.vmware to Python 3 test dependencies * Remove iso8601 dependency -* Enable test_swift_middleware on Python 3 +* Enable test\_swift\_middleware on Python 3 * Enable more tests on Python 3 * Skip hbase tests on Python 3 * Clear useless exclude from flake8 ignore in tox * Remove pagination code -* Stop importing print_function +* Stop importing print\_function * Remove useless release script in tools -* Remove useless dependency on posix_ipc +* Remove useless dependency on posix\_ipc * Remove exceute bit on HTTP dispatcher * Remove oslo.messaging compat from Havana * Fixing event types pattern for Role Noti. handler -* Mask database.event_connection details in logs +* Mask database.event\_connection details in logs * Switch from MySQL-python to PyMySQL * Python 3: replace long with int -* Python 3: Replace unicode with six.text_type +* Python 3: Replace unicode with six.text\_type * Python 3: generalize the usage of the six module * Update Python 3 requirements -* Python 3: set __bool__() method on Namespace +* Python 3: set \_\_bool\_\_() method on Namespace * Python 3: encode to UTF-8 when needed * Python 3: sort tables by their full name * Python 3: replace sys.maxint with sys.maxsize @@ -577,13 +589,13 @@ * Make interval optional in pipeline * Improve ceilometer-api install documentation * empty non-string values are returned as string traits -* Trait_* models have incorrect type for key +* Trait\_\* models have incorrect type for key * small change to development.rst file * Drop use of 'oslo' namespace package * [unittests] Increase agent module unittests coverage -* stop mocking os.path in test_setup_events_default_config +* stop mocking os.path in test\_setup\_events\_default\_config * Remove py33 tox target -* made change to mod_wsgi.rst file +* made change to mod\_wsgi.rst file * ensure collections created on upgrade * Fix raise error when run "tox -egenconfig" * Updated from global requirements @@ -593,7 +605,7 @@ * Add the function of deleting alarm history * Updated from global requirements * Fix valueerror when ceilometer-api start -* Override gnocchi_url configuration in test +* Override gnocchi\_url configuration in test * Move ceilometer/cli.py to ceilometer/cmd/sample.py * Fix valueerror when ceilometer-api start * remove deprecated partitioned alarm service @@ -620,7 +632,7 @@ * Adds support for default rule in ceilometer policy.json * Updated from global requirements * limit alarm actions -* Use oslo_vmware instead of deprecated oslo.vmware +* Use oslo\_vmware instead of deprecated oslo.vmware * Remove 'samples:groupby' from the Capabilities list * Use old name of 'hardware.ipmi.node.temperature' * Revert "remove instance: meter" @@ -636,7 +648,7 @@ * Remove the unnecessary dependency to netaddr * Optimize the flow of getting pollster resources * support ability to skip message signing -* Avoid conflict with existing gnocchi_url conf value +* Avoid conflict with existing gnocchi\_url conf value * Using oslo.db retry decorator for sample create * alarm: Use new gnocchi aggregation API * collector: enable the service to listen on IPv6 @@ -650,7 +662,7 @@ * Updated from global requirements * refuse to post sample which is not supported * Enable collector to requeue samples when enabled -* drop deprecated novaclient.v1_1 +* drop deprecated novaclient.v1\_1 * exclude precise metaquery in query field * Imported Translations from Transifex * remove log message when process notification @@ -671,8 +683,8 @@ * add network, kv-store, and http events * Add support for additional identity events * Add a Kafka publisher as a Ceilometer publisher -* Fix response POST /v2/meters/(meter_name) to 201 status -* Attempt to set user_id for identity events +* Fix response POST /v2/meters/(meter\_name) to 201 status +* Attempt to set user\_id for identity events * Switch to oslo.policy 0.3.0 * normalise timestamp in query * Add more power and thermal data @@ -681,17 +693,17 @@ * Added option to allow sample expiration more frequently * add option to store raw notification * use mongodb distinct -* remove event_types ordering assumption +* remove event\_types ordering assumption * Add gabbi tests to cover the SamplesController -* api: fix alarm creation if time_constraint is null -* fix log message format in event.storage.impl_sqlalchemy +* api: fix alarm creation if time\_constraint is null +* fix log message format in event.storage.impl\_sqlalchemy * Remove duplications from docco * Tidy up clean-samples.yaml * Fix a few typos in the docs * use default trait type in event list query * fix wrong string format in libvirt inspector * create a developer section and refactor -* Do not default pecan_debug to CONF.debug +* Do not default pecan\_debug to CONF.debug * Adding Gabbi Tests to Events API * fix config opts in objectstore.rgw * Updated from global requirements @@ -701,7 +713,7 @@ * Initial gabbi testing for alarms * reorganise architecture page * Add ceph object storage meters -* Use oslo_config choices support +* Use oslo\_config choices support * fix inline multiple assignment * alarming: add gnocchi alarm rules * Protect agent startup from import errors in plugins @@ -716,16 +728,16 @@ * Patch for fixing hardware.memory.used metric * Add ceph object storage meters * [PostgreSQL] Fix regexp operator -* Add clean_exit for py-pgsql unit tests +* Add clean\_exit for py-pgsql unit tests * modify events sql schema to reduce empty columns * Remove duplicated resource when pollster polling -* check metering_connection attribute by default +* check metering\_connection attribute by default * unicode error in event converter * cleanup measurements page -* api: add missing combination_rule field in sample +* api: add missing combination\_rule field in sample * Fix test case of self-disabled pollster * update event architecture diagram -* use configured max_retries and retry_interval for database connection +* use configured max\_retries and retry\_interval for database connection * Updated from global requirements * Making utilization the default spelling * Add Disk Meters for ceilometer @@ -736,10 +748,10 @@ * Enabling self-disabled pollster * Use werkzeug to run the developement API server * Imported Translations from Transifex -* switch to oslo_serialization +* switch to oslo\_serialization * move non-essential libs to test-requirements * Validate default values in config -* fix the value of query_spec.maxSample to advoid to be zero +* fix the value of query\_spec.maxSample to advoid to be zero * clean up to use common service code * Add more sql test scenarios * [SQLalchemy] Add regex to complex queries @@ -747,7 +759,7 @@ * metering data ttl sql backend breaks resource metadata * Refactor unit test code for disk pollsters * start recording error notifications -* Remove no_resource hack for IPMI pollster +* Remove no\_resource hack for IPMI pollster * Add local node resource for IPMI pollsters * Use stevedore to load alarm rules api * [MongoDB] Add regex to complex queries @@ -755,7 +767,7 @@ * support time to live on event database for MongoDB * split api.controllers.v2 * add elasticsearch events db -* use debug value for pecan_debug default +* use debug value for pecan\_debug default * Shuffle agents to send request * Updated from global requirements * Adds disk iops metrics implementation in Hyper-V Inspector @@ -781,38 +793,38 @@ * Upgrade to hacking 0.10 * Remove the Nova notifier * Remove argparse from requirements -* [MongoDB] Improves get_meter_statistics method +* [MongoDB] Improves get\_meter\_statistics method * Fix docs repeating measuring units * [DB2 nosql] Create TIMESTAMP type index for 'timestamp' field * remove pytidylib and netifaces from tox.ini external dependency * Avoid unnecessary API dependency on tooz & ceilometerclient * Correct name of "ipmi" options group * Fix Opencontrail pollster according the API changes -* enable tests.storage.test_impl_mongodb +* enable tests.storage.test\_impl\_mongodb * Remove lockfile from requirements * Disable eventlet monkey-patching of DNS * Expose vm's metadata to metrics * Adding build folders & sorting gitignore -* Disable proxy in unit test case of test_bin +* Disable proxy in unit test case of test\_bin * Add Event and Trait API to document * Refactor ipmi agent manager * Use alarm's evaluation periods in sufficient test -* Use oslo_config instead of deprecated oslo.config +* Use oslo\_config instead of deprecated oslo.config * Avoid executing ipmitool in IPMI unit test * Updated from global requirements * Add a direct to database publisher * Fixed MagnetoDB metrics title * Imported Translations from Transifex -* Fix incorrect test case name in test_net.py +* Fix incorrect test case name in test\_net.py * Updated from global requirements * notification agent missing CONF option -* switch to oslo_i18n +* switch to oslo\_i18n * Use right function to create extension list for agent test * Imported Translations from Transifex * Add an exchange for Zaqar in profiler notification plugin * Remove unused pecan configuration options * Updated from global requirements -* Use oslo_utils instead of deprecated oslo.utils +* Use oslo\_utils instead of deprecated oslo.utils * Match the meter names for network services * stop using private timeutils attribute * Update measurement docs for network services @@ -827,24 +839,24 @@ * Revert "Remove Sphinx from py33 requirements" * untie pipeline manager from samples * reset listeners on agent refresh -* Remove inspect_instances method from virt +* Remove inspect\_instances method from virt * Optimize resource list query * Synchronize Python 3 requirements -* Remove unnecessary import_opt|group +* Remove unnecessary import\_opt|group * Add test data generator via oslo messaging * Check to skip to poll and publish when no resource * Add oslo.concurrency module to tox --env genconfig * add glance events * add cinder events * Manual update from global requirements -* Add cmd.polling.CLI_OPTS to option list +* Add cmd.polling.CLI\_OPTS to option list * Ignore ceilometer.conf * Switch to oslo.context library * Revert "Skip to poll and publish when no resources found" * Added missing measurements and corrected errors in doc * Remove Sphinx from py33 requirements * Clean up bin directory -* Improve tools/make_test_data.sh correctness +* Improve tools/make\_test\_data.sh correctness * ensure unique pipeline names * implement notification coordination * Make methods static where possible (except openstack.common) @@ -852,9 +864,9 @@ * Drop anyjson * Move central agent code to the polling agent module * RBAC Support for Ceilometer API Implementation -* [SQLalchemy] Add groupby ability resource_metadata +* [SQLalchemy] Add groupby ability resource\_metadata * Improve links in config docs -* Make LBaaS total_connections cumulative +* Make LBaaS total\_connections cumulative * remove useless looping in pipeline * Encompassing one source pollsters with common context * Modify tests to support ordering of wsme types @@ -865,7 +877,7 @@ * Updated from global requirements * Standardize timestamp fields of ceilometer API * Workflow documentation is now in infra-manual -* Add alarm_name field to alarm notification +* Add alarm\_name field to alarm notification * Updated from global requirements * Rely on VM UUID to fetch metrics in libvirt * Imported Translations from Transifex @@ -875,14 +887,14 @@ * fix import oslo.concurrency issue * Add some rally scenarios * Do not print snmpd password in logs -* Miniscule typo in metering_connection help string +* Miniscule typo in metering\_connection help string * add http dispatcher -* [MongoDB] Add groupby ability on resource_metadata +* [MongoDB] Add groupby ability on resource\_metadata * [MongoDB] Fix bug with 'bad' chars in metadatas keys -* Override retry_interval in MongoAutoReconnectTest +* Override retry\_interval in MongoAutoReconnectTest * Exclude tools/lintstack.head.py for pep8 check -* Add encoding of rows and qualifiers in impl_hbase -* Database.max_retries only override on sqlalchemy side +* Add encoding of rows and qualifiers in impl\_hbase +* Database.max\_retries only override on sqlalchemy side * Support to capture network services notifications * Internal error with period overflow * Remove Python 2.6 classifier @@ -906,13 +918,13 @@ * Change event type for identity trust notifications * Add mysql and postgresql in tox for debug env * Add new notifications types for volumes/snapshots -* Add encoding to keys in compute_signature +* Add encoding to keys in compute\_signature * Tests for system and network aggregate pollsters * Add bandwidth to measurements * Fix wrong example of capabilities -* Correct the mongodb_replica_set option's description +* Correct the mongodb\_replica\_set option's description * Alarms listing based on "timestamp" -* Use 'pg_ctl' utility to start and stop database +* Use 'pg\_ctl' utility to start and stop database * Correct alarm timestamp field in unittest code * Refactor kwapi unit test * Remove duplicated config doc @@ -921,11 +933,11 @@ * Fix some nits or typos found by chance * Add Sample ReST API path in webapi document * Enable filter alarms by their type -* Fix storage.hbase.util.prepare_key() for 32-bits system -* Add event storage for test_hbase_table_utils +* Fix storage.hbase.util.prepare\_key() for 32-bits system +* Add event storage for test\_hbase\_table\_utils * Add per device rate metrics for instances * Fix hacking rule H305 imports not grouped correctly -* Add __repr__ method for sample.Sample +* Add \_\_repr\_\_ method for sample.Sample * remove ordereddict requirement * Improve manual.rst file * Imported Translations from Transifex @@ -937,7 +949,7 @@ * support request-id * Update coverage job to references correct file * remove reference to model in migration -* Use oslo_debug_helper and remove our own version +* Use oslo\_debug\_helper and remove our own version * Allow collector service database connection retry * refresh ceilometer architecture documentation * Edits assert methods @@ -976,7 +988,7 @@ * update database dispatcher to use events db * Add role assignment notifications for identity * add mailmap to avoid dup of authors -* Add user_metadata to network samples +* Add user\_metadata to network samples * Fix recording failure for system pollster * Manually updated translations * Updated from global requirements @@ -1000,12 +1012,12 @@ * Updated from global requirements * Correct JSON-based query examples in documentation * Open Kilo development -* Add cfg.CONF.import_group for service_credentials +* Add cfg.CONF.import\_group for service\_credentials * Fix OrderedDict usage for Python 2.6 * clean path in swift middleware * Partition static resources defined in pipeline.yaml * Per-source separation of static resources & discovery -* dbsync: Acknowledge 'metering_connection' option +* dbsync: Acknowledge 'metering\_connection' option * Fix bug in the documentation * Use oslo.msg retry API in rpc publisher * Describe API versions @@ -1014,7 +1026,7 @@ * [HBase] Improves speed of unit tests on real HBase backend * Imported Translations from Transifex * Removed unused abc meta class -* update references to auth_token middleware +* update references to auth\_token middleware * clean up swift middleware to avoid unicode errors * [HBase] Catch AlreadyExists error in Connection upgrade * Use None instead of mutables in method params default values @@ -1025,9 +1037,9 @@ * Typo "possibilites" should be "possibilities" * Modified docs to update DevStack's config filename * Add an API configuration section to docs -* Tune up mod_wsgi settings in example configuration +* Tune up mod\_wsgi settings in example configuration * Allow pecan debug middleware to be turned off -* Provide __repr__ for SampleFilter +* Provide \_\_repr\_\_ for SampleFilter * Eliminate unnecessary search for test cases * Switch to a custom NotImplementedError * minimise ceilometer memory usage @@ -1037,7 +1049,7 @@ * Stop using intersphinx * Use central agent manager's keystone token in discoveries * Handle invalid JSON filters from the input gracefully -* Sync jsonutils for namedtuple_as_object fix +* Sync jsonutils for namedtuple\_as\_object fix * ceilometer spamming syslog * Timestamp bounds need not be tight (per ceilometer 1288372) * Allow to pass dict from resource discovery @@ -1054,7 +1066,7 @@ * Adding another set of hardware metrics * normalise resource data * warn against sorting requirements -* Add validate alarm_actions schema in alarm API +* Add validate alarm\_actions schema in alarm API * Fix help strings * Imported Translations from Transifex * Switch partitioned alarm evaluation to a hash-based approach @@ -1073,7 +1085,7 @@ * XenAPI support: Disk rates * XenAPI support: Changes for networking metrics * XenAPI support: Memory Usage -* XenAPI support: Changes for cpu_util +* XenAPI support: Changes for cpu\_util * XenAPI support: List the instances * Rebase hardware pollsters to use new inspector interface * Switch to use oslo.db @@ -1081,7 +1093,7 @@ * Adding quotas on alarms * Add an exchange for Trove in profiler notification plugin * Simplify chained comparisons -* In-code comments should start with `#`, not with `"""` +* In-code comments should start with \`#\`, not with \`"""\` * Remove redundant parentheses * skip polls if service is not registered * re-add hashseed to avoid gate error @@ -1098,19 +1110,19 @@ * Added new hardware inspector interface * compute: fix wrong test assertion * sync olso-incubator code -* VMware: Support secret host_password option +* VMware: Support secret host\_password option * refactor filter code in sql backend * Support for per disk volume measurements * Use a FakeRequest object to test middleware * Imported Translations from Transifex -* Improve api_paste_config file searching -* [Hbase] Add column for source filter in _get_meter_samples +* Improve api\_paste\_config file searching +* [Hbase] Add column for source filter in \_get\_meter\_samples * Issue one SQL statement per execute() call * Allow tests to run outside tox * [HBase] Refactor hbase.utils * Set page size when Glance API request is called * Adding init into tools folder -* Enhancing the make_test_data script +* Enhancing the make\_test\_data script * correct DB2 installation supported features documentation * Avoid duplication of discovery for multi-sink sources * Improve performance of libvirt inspector requests @@ -1119,20 +1131,20 @@ * Add message translate module in vmware inspector * Handle Cinder attach and detach notifications * [HBase] Improve uniqueness for row in meter table -* Doc enhancement for API service deployment with mod_wsgi +* Doc enhancement for API service deployment with mod\_wsgi * Update documentation for new transformer * Add the arithmetic transformer endpoint to setup.cfg * Imported Translations from Transifex * Fix unit for vpn connection metric * Debug env for tox * Change spelling mistakes -* Use auth_token from keystonemiddleware +* Use auth\_token from keystonemiddleware * Fix dict and set order related issues in tests * Fix listener for update.start notifications * Sahara integration with Ceilometer * Add notifications for identity CRUD events -* Extracting make_resource_metadata method -* Fix make_test_data tools script +* Extracting make\_resource\_metadata method +* Fix make\_test\_data tools script * Add cumulative and gauge to aggregator transformer * Enable some tests against py33 * Remove --tmpdir from mktemp @@ -1144,7 +1156,7 @@ * Don't override the original notification message * Remove ConnectionProxy temporary class * Move sqlalchemy alarms driver code to alarm tree -* basestring replaced with six.string_types +* basestring replaced with six.string\_types * Correct misspelled words * Add retry function for alarm REST notifier * Move hbase alarms driver code to alarm tree @@ -1160,7 +1172,7 @@ * Use None instead of mutables in test method params defaults * Add support for metering VPNaaS * Use resource discovery for Network Services -* Change of get_events and get_traits method in MongoDB and Hbase +* Change of get\_events and get\_traits method in MongoDB and Hbase * Fix two out-dated links in doc * Move log alarms driver code to alarm tree * Separate the console scripts @@ -1168,9 +1180,9 @@ * improve expirer performance for sql backend * Move mongodb/db2 alarms driver code to alarm tree * Allow to have different DB for alarm and metering -* Replace datetime of time_constraints by aware object +* Replace datetime of time\_constraints by aware object * Sync oslo log module and its dependencies -* Use hmac.compare_digest to compare signature +* Use hmac.compare\_digest to compare signature * Add testcase for multiple discovery-driven sources * Fixes aggregator transformer timestamp and user input handling * Improves pipeline transformer documentation @@ -1183,9 +1195,9 @@ * Make the error message of alarm-not-found clear * Fix SQL exception getting statitics with metaquery * Remove docutils pin -* update default_log_levels set by ceilometer +* update default\_log\_levels set by ceilometer * Fix annoying typo in partition coordinator test -* Transform sample_cnt type to int +* Transform sample\_cnt type to int * Remove useless sources.json * Fix H405 violations and re-enable gating * Fix H904 violations and re-enable gating @@ -1194,7 +1206,7 @@ * Added osprofiler notifications plugin * Improve a bit performance of Ceilometer * Revert "Align to openstack python package index mirror" -* Fix aggregator _get_unique_key method +* Fix aggregator \_get\_unique\_key method * Remove meter hardware.network.bandwidth.bytes * Fix F402 violations and re-enable gating * Fix E265 violations and re-enable gating @@ -1224,7 +1236,7 @@ * Splits mongo storage code base * Separate alarm storage models from other models * Iterates swift response earlier to get the correct status -* Fix messaging.get_transport caching +* Fix messaging.get\_transport caching * Fix method mocked in a test * Don't keep a single global TRANSPORT object * Clean up .gitignore @@ -1232,7 +1244,7 @@ * Fix list of modules not included in auto-gen docs * Downgrade publisher logging to debug level again * remove default=None for config options -* [HBase] get_resource optimization +* [HBase] get\_resource optimization * Fix incorrect trait initialization * Remove unused logging in tests * Revert "Fix the floatingip pollster" @@ -1248,19 +1260,19 @@ * Update Measurement Docs for LBaaS * Metering LoadBalancer as a Service * Removes per test testr timeout -* Change pipeline_manager to instance attribute in hooks -* Change using of limit argument in get_sample +* Change pipeline\_manager to instance attribute in hooks +* Change using of limit argument in get\_sample * Refactor tests to remove direct access to test DBManagers -* Fix notification for NotImplemented record_events +* Fix notification for NotImplemented record\_events * Add missing explicit cfg option import * Fix ceilometer.alarm.notifier.trust import -* Use TYPE_GAUGE rather than TYPE_CUMULATIVE +* Use TYPE\_GAUGE rather than TYPE\_CUMULATIVE * Update doc for sample config file issue * Corrects a flaw in the treatment of swift endpoints * use LOG instead of logger as name for the Logger object * Fix doc gate job false success * Improve performance of api requests with hbase scan -* Add new 'storage': {'production_ready': True} capability +* Add new 'storage': {'production\_ready': True} capability * Clean tox.ini * Remove (c) and remove unnecessary encoding lines * Fix testing gate due to new keystoneclient release @@ -1270,7 +1282,7 @@ * reconnect to mongodb on connection failure * refactor sql backend to improve write speed * Don't rely on oslomsg configuration options -* replaced unicode() with six.text_type() +* replaced unicode() with six.text\_type() * Synced jsonutils from oslo-incubator * Fix the floatingip pollster * Fix project authorization check @@ -1285,7 +1297,7 @@ * oslo.messaging context must be a dict * Drop deprecated api v1 * Fix network notifications of neutron bulk creation -* mongo: remove _id in inserted alarm changes +* mongo: remove \_id in inserted alarm changes * Clean up openstack-common.conf * Revert "oslo.messaging context must be a dict" * Correct class when stopping partitioned alarm eval svc @@ -1297,19 +1309,19 @@ * Initialize dispatcher manager in event endpoint * Replaced CONF object with url in storage engine creation * Synced jsonutils from oslo-incubator -* Remove gettextutils._ imports where they are not used -* Remove "# noqa" leftovers for gettextutils._ +* Remove gettextutils.\_ imports where they are not used +* Remove "# noqa" leftovers for gettextutils.\_ * transformer: Add aggregator transformer * Remove conversion debug message * Fix the return of statistic with getting no sample * Remove eventlet.sleep(0) in collector tests * Don't allow queries with 'IN' predicate with an empty sequence -* Check if samples returned by get_sample_data are not None +* Check if samples returned by get\_sample\_data are not None * Opencontrail network statistics driver * Add a alarm notification using trusts * Replace hard coded WSGI application creation * Describe storage backends in the collector installation guide -* Made get_capabilities a classmethod instead of object method +* Made get\_capabilities a classmethod instead of object method * Disable reverse dns lookup * Consume notif. from multiple message bus * Use NotificationPlugin as an oslo.msg endpoint @@ -1318,19 +1330,19 @@ * Use known protocol scheme in keystone tests * cleanup virt pollster code * Add encoding argument to deserialising udp packets in collector -* Made get_engine method module-private +* Made get\_engine method module-private * Make entities (Resource, User, Project) able to store lists -* Remove duplicate alarm from alarm_ids +* Remove duplicate alarm from alarm\_ids * More accurate meter name and unit for host load averages * Replace oslo.rpc by oslo.messaging * Fix a response header bug in the error middleware * Remove unnecessary escape character in string format * Optimize checks to set image properties in metadata * fix statistics query in postgres -* Removed useless code from __init__ method +* Removed useless code from \_\_init\_\_ method * Refactored fake connection URL classes * Replace assert statements with assert methods -* Removes direct access of timeutils.override_time +* Removes direct access of timeutils.override\_time * Disable specifying alarm itself in combination rule * Include instance state in metadata * Allowed nested resource metadata in POST'd samples @@ -1339,7 +1351,7 @@ * Refactor the DB implementation of Capabilities API * Fix Jenkins translation jobs * Align to openstack python package index mirror -* User a more accurate max_delay for reconnects +* User a more accurate max\_delay for reconnects * Open Juno development * Imported Translations from Transifex * Add note on aggregate duplication to API docco @@ -1361,15 +1373,15 @@ * Use swob instead of webob in swift unit tests * Disable oslo.messaging debug logs * Fix validation error for invalid field name in simple query -* fix create_or_update logic to avoid rollbacks +* fix create\_or\_update logic to avoid rollbacks * Avoid swallowing AssertionError in test skipping logic * Fix hardware pollster to inspect multiple resources * spawn multiple workers in services -* Install global lazy _() +* Install global lazy \_() * Fixes Hyper-V metrics units -* Ensure intended indices on project_id are created for mongo +* Ensure intended indices on project\_id are created for mongo * Fix the type of the disk IO rate measurements -* Change the sample_type from tuple to string +* Change the sample\_type from tuple to string * Fix order of arguments in assertEquals * Ensure alarm rule conform to alarm type * insecure flag added to novaclient @@ -1377,7 +1389,7 @@ * Use the list when get information from libvirt * Eventlet monkeypatch must be done before anything * 028 migration script incorrectly skips over section -* Fix bug in get_capabilities behavior in DB drivers +* Fix bug in get\_capabilities behavior in DB drivers * Added documentation for selectable aggregates * Make sure use IPv6 sockets for ceilometer in IPv6 environment * VMware vSphere: Bug fixes @@ -1385,7 +1397,7 @@ * Fix order of arguments in assertEquals * Fix order of arguments in assertEquals * Fix order of arguments in assertEquals -* Rationalize get_resources for mongodb +* Rationalize get\_resources for mongodb * Ensure insecure config option propagated by alarm service * add host meters to doc * Add field translation to complex query from OldSample to Sample @@ -1393,22 +1405,22 @@ * Updated doc with debug instructions * Refactored the way how testscenarios tests are run * Corrected the sample names in hardware pollsters -* Prevent alarm_id in query field of getting history +* Prevent alarm\_id in query field of getting history * Make ceilometer work with sqla 0.9.x * Implements monitoring-network-from-opendaylight -* Add user-supplied arguments in log_handler +* Add user-supplied arguments in log\_handler * VMware vSphere support: Disk rates * Fix updating alarm can specify existing alarm name * Changes for networking metrics support for vSphere -* VMware vSphere: Changes for cpu_util +* VMware vSphere: Changes for cpu\_util * VMware vSphere support: Memory Usage * Fix broken statistics in sqlalchemy * Fixes Hyper-V Inspector network metrics values -* Set storage engine for the trait_type table +* Set storage engine for the trait\_type table * Enable monkeypatch for select module -* Rename id to alarm_id of Alarm in SqlAlchemy +* Rename id to alarm\_id of Alarm in SqlAlchemy * Fix some spelling mistakes and a incorrect url -* Skip central agent interval_task when keystone fails +* Skip central agent interval\_task when keystone fails * Ensure user metadata mapped for instance notifications * Per pipeline pluggable resource discovery * Wider selection of aggregates for sqlalchemy @@ -1436,8 +1448,8 @@ * Remove code duplication Part 2 * Imported Translations from Transifex * remove audit logging on flush -* Tolerate absent recorded_at on older mongo/db2 samples -* api: export recorded_at in returned samples +* Tolerate absent recorded\_at on older mongo/db2 samples +* api: export recorded\_at in returned samples * Fix the way how metadata is stored in HBase * Set default log level of iso8601 to WARN * Sync latest config file generator from oslo-incubator @@ -1454,7 +1466,7 @@ * Refactor timestamp existence validation in V2 API * Use the module units to refer bytes type * sync units.py from oslo to ceilometer -* Add comments for _build_paginate_query +* Add comments for \_build\_paginate\_query * Implements monitoring-network * Handle Heat notifications for stack CRUD * Alembic migrations not tested @@ -1470,8 +1482,8 @@ * Implements complex query functionality for alarm history * Implements complex query functionality for alarms * Remove None for dict.get() -* Replace assertEqual(None, *) with assertIsNone in tests -* Update notification_driver +* Replace assertEqual(None, \*) with assertIsNone in tests +* Update notification\_driver * Switch over to oslosphinx * Fix some flaws in ceilometer docstrings * Rename Openstack to OpenStack @@ -1486,7 +1498,7 @@ * fix column name and alignment * Remove tox locale overrides * Updated from global requirements -* Adds flavor_id in the nova_notifier +* Adds flavor\_id in the nova\_notifier * Improve help strings * service: re-enable eventlet just for sockets * Fixes invalid key in Neutron notifications @@ -1506,7 +1518,7 @@ * nova notifier: disable tests + update sample conf * Update oslo * Refactored session access -* Fix the py27 failure because of "ephemeral_key_uuid" error +* Fix the py27 failure because of "ephemeral\_key\_uuid" error * Correct a misuse of RestController in the Event API * Fix docs on what an instance meter represents * Fix measurement docs to correctly represent Existance meters @@ -1517,7 +1529,7 @@ * Add documentation for pipeline configuration * Remove unnecessary code from alarm test * Updated from global requirements -* Use stevedore's make_test_instance +* Use stevedore's make\_test\_instance * use common code for migrations * Use explicit http error code for api v2 * Clean .gitignore @@ -1525,19 +1537,19 @@ * Revert "Ensure we are not exhausting the sqlalchemy pool" * eventlet: stop monkey patching * Update dev docs to include notification-agent -* Change meter_id to meter_name in generated docs +* Change meter\_id to meter\_name in generated docs * Correct spelling of logger for dispatcher.file * Fix some typos in architecture doc * Drop foreign key contraints of alarm in sqlalchemy * Re-enable lazy translation * Sync gettextutils from Oslo * Fix wrong doc string for meter type -* Fix recursive_keypairs output +* Fix recursive\_keypairs output * Added abc.ABCMeta metaclass for abstract classes -* Removes use of timeutils.set_time_override +* Removes use of timeutils.set\_time\_override * tests: kill all started processes on exit * Exclude weak datapoints from alarm threshold evaluation -* Move enable_acl and debug config to ceilometer.conf +* Move enable\_acl and debug config to ceilometer.conf * Fix the Alarm documentation of Web API V2 * StringIO compatibility for python3 * Set the SQL Float precision @@ -1549,11 +1561,11 @@ * assertTrue(isinstance) replace by assertIsInstance * Return trait type from Event api * Add new rate-based disk and network pipelines -* Name and unit mapping for rate_of_change transformer +* Name and unit mapping for rate\_of\_change transformer * Update oslo * Remove dependencies on pep8, pyflakes and flake8 * Implement the /v2/samples/ API -* Fix to handle null threshold_rule values +* Fix to handle null threshold\_rule values * Use DEFAULT section for dispatcher in doc * Insertion in HBase should be fixed * Trivial typo @@ -1573,11 +1585,11 @@ * 1st & last sample timestamps in Resource representation * Avoid false negatives on message signature comparison * cacert is not picked up correctly by alarm services -* Change endpoint_type parameter +* Change endpoint\_type parameter * Utilizes assertIsNone and assertIsNotNone * Add missing gettextutils import to ceilometer.storage.base -* Remove redundant code in nova_client.Client -* Allow customized reseller_prefix in Ceilometer middleware for Swift +* Remove redundant code in nova\_client.Client +* Allow customized reseller\_prefix in Ceilometer middleware for Swift * Fix broken i18n support * Empty files should no longer contain copyright * Add Event API @@ -1607,14 +1619,14 @@ * doc: fix formatting of alarm action types * Updated from global requirements * Add configuration-driven conversion to Events -* add newly added constraints to expire clear_expired_metering_data +* add newly added constraints to expire clear\_expired\_metering\_data * fix unit -* Add import for publisher_rpc option +* Add import for publisher\_rpc option * add more test cases to improve the test code coverage #5 * Create a shared queue for QPID topic consumers * Properly reconnect subscribing clients when QPID broker restarts * Don't need session.flush in context managed by session -* sql migration error in 020_add_metadata_tables +* sql migration error in 020\_add\_metadata\_tables * Remove rpc service from agent manager * Imported Translations from Transifex * organise requirements files @@ -1631,10 +1643,10 @@ * Fixed a bug in sql migration script 020 * Fixed nova notifier test * Added resources definition in the pipeline -* Change metadata_int's value field to type bigint +* Change metadata\_int's value field to type bigint * Avoid intermittent integrity error on alarm creation * Simplify the dispatcher method prototype -* Use map_method from stevedore 0.12 +* Use map\_method from stevedore 0.12 * Remove the collector submodule * Move dispatcher a level up * Split collector @@ -1661,16 +1673,16 @@ * Updated from global requirements * Replace mox with mock in tests.api.v2 * Refactor API error handling -* make record_metering_data concurrency safe +* make record\_metering\_data concurrency safe * Move tests into ceilometer module * Replace mox with mock in tests.api.v1 -* Replace mox with mock in tests.api.v2.test_compute +* Replace mox with mock in tests.api.v2.test\_compute * Corrected import order * Use better predicates from testtools instead of plain assert * Stop using openstack.common.exception * Replace mox with mock in tests.network -* Replace mox with mocks in test_inspector -* Fix failing nova_tests tests +* Replace mox with mocks in test\_inspector +* Fix failing nova\_tests tests * Replace mox with mocks in tests.compute.pollsters * Add an insecure option for Keystone client * Sync log from oslo @@ -1686,7 +1698,7 @@ * Replace tests.base part6 * Imported Translations from Transifex * Imported Translations from Transifex -* Sync log_handler from Oslo +* Sync log\_handler from Oslo * Don't use sqlachemy Metadata as global var * enable sql metadata query * Replace tests.base part5 @@ -1697,7 +1709,7 @@ * Updated from global requirements * Add source to Resource API object * compute: virt: Fix Instance creation -* Fix for get_resources with postgresql +* Fix for get\_resources with postgresql * Updated from global requirements * Add tests when admin set alarm owner to its own * Replace tests.base part3 @@ -1706,8 +1718,8 @@ * Fix wrong using of Metadata in 15,16 migrations * api: update for WSME 0.5b6 compliance * Changes FakeMemcache to set token to expire on utcnow + 5 mins -* Change test case get_alarm_history_on_create -* Change alarm_history.detail to text type +* Change test case get\_alarm\_history\_on\_create +* Change alarm\_history.detail to text type * Add support for keystoneclient 0.4.0 * Ceilometer has no such project-list subcommand * Avoid leaking admin-ness into combination alarms @@ -1722,7 +1734,7 @@ * Update python-ceilometerclient lower bound to 1.0.6 * Imported Translations from Transifex * add more test cases to improve the test code coverage #4 -* db2 does not allow None as a key for user_id in user collection +* db2 does not allow None as a key for user\_id in user collection * Start Icehouse development * Imported Translations from Transifex * Disable lazy translation @@ -1750,12 +1762,12 @@ * Add example with return values in API v2 docs * Avoid imposing alembic 6.0 requirement on all distros * tests: fix places check for timestamp equality -* Don't publish samples if resource_id in missing +* Don't publish samples if resource\_id in missing * Require oslo.config 1.2.0 final * Don't send unuseful rpc alarm notification * service: check that timestamps are almost equals * Test the response body when deleting a alarm -* Change resource.resource_metadata to text type +* Change resource.resource\_metadata to text type * Adding region name to service credentials * Fail tests early if mongod is not found * add more test cases to improve the test code coverage #2 @@ -1777,7 +1789,7 @@ * Update requirements * WSME 0.5b5 breaking unit tests * Fix failed downgrade in migrations -* refactor db2 get_meter_statistics method to support mongodb and db2 +* refactor db2 get\_meter\_statistics method to support mongodb and db2 * tests: import pipeline config * Fix a tiny mistake in api doc * collector-udp: use dispatcher rather than storage @@ -1790,21 +1802,21 @@ * Correctly output the sample content in the file publisher * Pecan assuming meter names are extensions * Handle inst not found exceptions in pollsters -* Catch exceptions from nova client in poll_and_publish +* Catch exceptions from nova client in poll\_and\_publish * doc: fix storage backend features status * Add timestamp filtering cases in storage tests * Imported Translations from Transifex * Use global openstack requirements * Add group by statistics examples in API v2 docs * Add docstrings to some methods -* add tests for _query_to_kwargs func -* validate counter_type when posting samples -* Include auth_token middleware in sample config +* add tests for \_query\_to\_kwargs func +* validate counter\_type when posting samples +* Include auth\_token middleware in sample config * Update config generator * run-tests: fix MongoDB start wait * Imported Translations from Transifex * Fix handling of bad paths in Swift middleware -* Drop the *.create.start notification for Neutron +* Drop the \*.create.start notification for Neutron * Make the Swift-related doc more explicit * Fix to return latest resource metadata * Update the high level architecture @@ -1813,7 +1825,7 @@ * Handle missing libvirt vnic targets! * Make type guessing for query args more robust * add MAINTAINERS file -* nova_notifier: fix tests +* nova\_notifier: fix tests * Update openstack.common.policy from oslo-incubator * Clean-ups related to alarm history patches * Improved MongoClient pooling to avoid out of connections error @@ -1825,9 +1837,9 @@ * Add query support to alarm history API * Reject duplicate events * Fixes a bug in Kwapi pollster -* alarm api: rename counter_name to meter_name +* alarm api: rename counter\_name to meter\_name * Fixes service startup issue on Windows -* Handle volume.resize.* notifications +* Handle volume.resize.\* notifications * Network: process metering reports from Neutron * Alarm history storage implementation for mongodb * Fix migration with fkeys @@ -1842,7 +1854,7 @@ * Add pagination parameter to the database backends of storage * Base Alarm history persistence model * Fix empty metadata issue of instance -* alarm: generate alarm_id in API +* alarm: generate alarm\_id in API * Import middleware from Oslo * Imported Translations from Transifex * Adds group by statistics for MongoDB driver @@ -1859,23 +1871,23 @@ * Support for wildcard in pipeline * Refactored storage tests to use testscenarios * doc: replace GitHub by git.openstack.org -* api: allow usage of resource_metadata in query +* api: allow usage of resource\_metadata in query * Remove useless doc/requirements * Fixes non-string metadata query issue * rpc: reduce sleep time -* Move sqlachemy tests only in test_impl_sqlachemy +* Move sqlachemy tests only in test\_impl\_sqlachemy * Raise Error when pagination/groupby is missing * Raise Error when pagination support is missing * Use timeutils.utcnow in alarm threshold evaluation * db2 support -* plugin: remove is_enabled +* plugin: remove is\_enabled * Doc: improve doc about Nova measurements * Storing events via dispatchers * Imported Translations from Transifex * ceilometer-agent-compute did not catch exception for disk error * Change counter to sample in network tests * Change counter to sample in objectstore tests -* Remove no more used code in test_notifier +* Remove no more used code in test\_notifier * Change counter to sample vocable in cm.transformer * Change counter to sample vocable in cm.publisher * Change counter to sample vocable in cm.image @@ -1884,16 +1896,16 @@ * Use samples vocable in cm.publisher.test * Change counter to sample vocable in volume tests * Change counter to sample vocable in api tests -* Add the source=None to from_notification +* Add the source=None to from\_notification * Make RPCPublisher flush method threadsafe -* Enhance delayed message translation when _ is imported -* Remove use_greenlets argument to MongoClient +* Enhance delayed message translation when \_ is imported +* Remove use\_greenlets argument to MongoClient * Enable concurrency on nova notifier tests * Imported Translations from Transifex * Close database connection for alembic env * Fix typo in 17738166b91 migration * Don't call publisher without sample -* message_id is not allowed to be submitted via api +* message\_id is not allowed to be submitted via api * Api V2 post sample refactoring * Add SQLAlchemy implementation of groupby * Fixes failed notification when deleting instance @@ -1907,25 +1919,25 @@ * Fix the dict type metadata missing issue * Raise error when period with negative value * Imported Translations from Transifex -* Import missing gettext _ +* Import missing gettext \_ * Remove 'counter' occurences in pipeline * Remove the mongo auth warning during tests * Change the error message of resource listing in mongodb -* Change test_post_alarm case in test_alarm_scenarios +* Change test\_post\_alarm case in test\_alarm\_scenarios * Skeletal alarm history API * Reorg alarms controller to facilitate history API -* Fix Jenkins failed due to missing _ -* Fix nova test_notifier wrt new notifier API +* Fix Jenkins failed due to missing \_ +* Fix nova test\_notifier wrt new notifier API * Remove counter occurences from documentation * Updated from global requirements * Fixes dict metadata query issue of HBase -* s/alarm/alarm_id/ in alarm notification +* s/alarm/alarm\_id/ in alarm notification * Remove unused abstract class definitions * Removed unused self.counters in storage test class * Initial alarming documentation * Include previous state in alarm notification * Consume notification from the default queue -* Change meter.resource_metadata column type +* Change meter.resource\_metadata column type * Remove MongoDB TTL support for MongoDB < 2.2 * Add first and last sample timestamp * Use MongoDB aggregate to get resources list @@ -1937,15 +1949,15 @@ * Sync gettextutils from oslo * Fix generating coverage on MacOSX * Use the new nova Instance class -* Return message_id in POSTed samples +* Return message\_id in POSTed samples * rpc: remove source argument from message conversion * Remove source as a publisher argument -* Add repeat_actions to alarm -* Rename get_counters to get_samples +* Add repeat\_actions to alarm +* Rename get\_counters to get\_samples * Add pagination support for MongoDB * Doc: measurements: add doc on Cinder/Swift config -* Update nova_client.py -* objectstore: trivial cleanup in _Base +* Update nova\_client.py +* objectstore: trivial cleanup in \_Base * Add support for CA authentication in Keystone * add unit attribute to statistics * Fix notify method signature on LogAlarmNotifier @@ -1961,11 +1973,11 @@ * Refactored MongoDB connection pool to use weakrefs * Centralized backends tests scenarios in one place * Added tests to verify that local time is correctly handled -* Refactored impl_mongodb to use full connection url -* calling distinct on _id field against a collection is slow -* Use configured endpoint_type everywhere +* Refactored impl\_mongodb to use full connection url +* calling distinct on \_id field against a collection is slow +* Use configured endpoint\_type everywhere * Allow use of local conductor -* Update nova configuration doc to use notify_on_state_change +* Update nova configuration doc to use notify\_on\_state\_change * doc: how to inject user-defined data * Add documentation on nova user defined metadata * Refactored API V2 tests to use testscenarios @@ -1975,23 +1987,23 @@ * Imported Translations from Transifex * Implementation of the alarm RPCAlarmNotifier * Always init cfg.CONF before running a test -* Sets storage_conn in CollectorService +* Sets storage\_conn in CollectorService * Remove replace/preserve logic from rate of change transformer * storage: remove per-driver options -* hbase: do not register table_prefix as a global option -* mongodb: do not set replica_set as a global option +* hbase: do not register table\_prefix as a global option +* mongodb: do not set replica\_set as a global option * Change nose to testr in the documentation * Fixed timestamp creation in MongoDB mapreduce * Ensure url is a string for requests.post * Implement a https:// in REST alarm notification -* Implement dot in matching_metadata key for mongodb +* Implement dot in matching\_metadata key for mongodb * trailing slash in url causes 404 error * Fix missing foreign keys * Add cleanup migration for indexes * Sync models with migrations -* Avoid dropping cpu_util for multiple instances +* Avoid dropping cpu\_util for multiple instances * doc: /statistics fields are not queryable (you cannot filter on them) -* fix resource_metadata failure missing image data +* fix resource\_metadata failure missing image data * Standardize on X-Project-Id over X-Tenant-Id * Default to ctx user/project ID in sample POST API * Multiple dispatcher enablement @@ -2011,16 +2023,16 @@ * Imported Translations from Transifex * Ensure correct return code of run-tests.sh * File based publisher -* Unset OS_xx variable before generate configuration +* Unset OS\_xx variable before generate configuration * Use run-tests.sh for tox coverage tests -* Emit cpu_util from transformer instead of pollster +* Emit cpu\_util from transformer instead of pollster * Allow simpler scale exprs in transformer.conversions * Use a real MongoDB instance to run unit tests * Allow to specify the endpoint type to use * Rename README.md to README.rst * Use correct hostname to get instances * Provide CPU number as additional metadata -* Remove get_counter_names from the pollster plugins +* Remove get\_counter\_names from the pollster plugins * Sync SQLAlchemy models with migrations * Transformer to measure rate of change * Make sure plugins are named after their meters @@ -2047,7 +2059,7 @@ * Imported Translations from Transifex * Imported Translations from Transifex * Filter query op:gt does not work as expected -* sqlalchemy: fix performance issue on get_meters() +* sqlalchemy: fix performance issue on get\_meters() * enable v2 api sqlalchemy tests * Update compute vnic pollster to use cache * Update compute CPU pollster to use cache @@ -2064,7 +2076,7 @@ * Fix return error when resource can't be found * Simple service for singleton threshold eval * Basic alarm threshold evaluation logic -* add metadata to nova_client results +* add metadata to nova\_client results * Bring in oslo-common rpc ack() changes * Pin the keystone client version * Fix auth logic for PUT /v2/alarms @@ -2073,7 +2085,7 @@ * mongodb: fix limit value not being an integer * Check that the config file sample is always up to date * api: enable v2 tests on SQLAlchemy & HBase -* Remove useless periodic_interval option +* Remove useless periodic\_interval option * doc: be more explicit about network counters * Capture instance metadata in reserved namespace * Imported Translations from Transifex @@ -2090,13 +2102,13 @@ * Ceilometer may generate wrong format swift url in some situations * Code cleanup * Update Oslo -* Use Flake8 gating for bin/ceilometer-* +* Use Flake8 gating for bin/ceilometer-\* * Update requirements to fix devstack installation * Update to the latest stevedore * Start gating on H703 -* Remove disabled_notification_listeners option -* Remove disabled_compute_pollsters option -* Remove disabled_central_pollsters option +* Remove disabled\_notification\_listeners option +* Remove disabled\_compute\_pollsters option +* Remove disabled\_central\_pollsters option * Longer string columns for Trait and UniqueNames * Fix nova notifier tests * pipeline: switch publisher loading model to driver @@ -2107,7 +2119,7 @@ * Fix requirements * Corrected path for test requirements in docs * Fix some typo in documentation -* Add instance_scheduled in entry points +* Add instance\_scheduled in entry points * fix session connection * Remove useless imports, reenable F401 checks * service: run common initialization stuff @@ -2115,15 +2127,15 @@ * Use console scripts for ceilometer-dbsync * Use console scripts for ceilometer-agent-compute * Use console scripts for ceilometer-agent-central -* agent-central: use CONF.import_opt rather than import -* Move os_* options into a group +* agent-central: use CONF.import\_opt rather than import +* Move os\_\* options into a group * Use console scripts for ceilometer-collector * sqlalchemy: migration error when running db-sync * session flushing error * api: add limit parameters to meters * python3: Introduce py33 to tox.ini * Start to use Hacking -* Session does not use ceilometer.conf's database_connection +* Session does not use ceilometer.conf's database\_connection * Add support for limiting the number of samples returned * Imported Translations from Transifex * Add support policy to installation instructions @@ -2134,7 +2146,7 @@ * Imported Translations from Transifex * Switch to sphinxcontrib-pecanwsme for API docs * Update oslo, use new configuration generator -* doc: fix hyphens instead of underscores for 'os*' conf options +* doc: fix hyphens instead of underscores for 'os\*' conf options * Allow specifying a listen IP * Log configuration values on API startup * Don't use pecan to configure logging @@ -2145,8 +2157,8 @@ * Add an UDP publisher and receiver * hbase metaquery support * Imported Translations from Transifex -* Fix and update extract_opts group extraction -* Fix the sample name of 'resource_metadata' +* Fix and update extract\_opts group extraction +* Fix the sample name of 'resource\_metadata' * Added missing source variable in storage drivers * Add Event methods to db api * vnics: don't presume existence of filterref/filter @@ -2155,7 +2167,7 @@ * Imported Translations from Transifex * setup.cfg misses swift filter * Add a counter for instance scheduling -* Move recursive_keypairs into utils +* Move recursive\_keypairs into utils * Replace nose with testr * Use fixtures in the tests * fix compute units in measurement doc @@ -2166,14 +2178,14 @@ * Imported Translations from Transifex * Get all tests to use tests.base.TestCase * Allow just a bit longer to wait for the server to startup -* Document keystone_authtoken section +* Document keystone\_authtoken section * Restore test dependency on Ming * Set the default pipline config file for tests * Imported Translations from Transifex * Fix cross-document references * Fix config setting references in API tests * Restrict pep8 & co to pep8 target -* Fix meter_publisher in setup.cfg +* Fix meter\_publisher in setup.cfg * Use flake8 instead of pep8 * Imported Translations from Transifex * Use sqlalchemy session code from oslo @@ -2184,14 +2196,14 @@ * Add the sqlalchemy implementation of the alarms collection * Allow posting samples via the rest API (v2) * Updated the ceilometer.conf.sample -* Don't use trivial alarm_id's like "1" in the test cases +* Don't use trivial alarm\_id's like "1" in the test cases * Fix the nova notifier tests after a nova rename * Document HBase configuration * alarm: fix MongoDB alarm id * Use jsonutils instead of json in test/api.py * Connect the Alarm API to the db * Add the mongo implementation of alarms collection -* Move meter signature computing into meter_publish +* Move meter signature computing into meter\_publish * Update WSME dependency * Imported Translations from Transifex * Add Alarm DB API and models @@ -2209,12 +2221,12 @@ * Adds examples of CLI and API queries to the V2 documentation * Measurements documentation update * update the ceilometer.conf.sample -* Set hbase table_prefix default to None +* Set hbase table\_prefix default to None * glance/cinder/quantum counter units are not accurate/consistent * Add some recommendations about database * Pin SQLAlchemy to 0.7.x * Ceilometer configuration.rst file not using right param names for logging -* Fix require_map_reduce mim import +* Fix require\_map\_reduce mim import * Extend swift middleware to collect number of requests * instances: fix counter unit * Remove Folsom support @@ -2227,33 +2239,33 @@ * Update openstack.common * Reformat openstack-common.conf * storage: move nose out of global imports -* storage: get rid of get_event_interval -* Remove gettext.install from ceilometer/__init__.py -* Prepare for future i18n use of _() in nova notifier +* storage: get rid of get\_event\_interval +* Remove gettext.install from ceilometer/\_\_init\_\_.py +* Prepare for future i18n use of \_() in nova notifier * Update part of openstack.common * Convert storage drivers to return models * Adpated to nova's gettext changes * add v2 query examples -* storage: remove get_volume_sum and get_volume_max +* storage: remove get\_volume\_sum and get\_volume\_max * api: run tests against HBase too * api: run sum unit tests against SQL backend too * Split and fix live db tests -* Remove impl_test -* api: run max_resource_volume test on SQL backend +* Remove impl\_test +* api: run max\_resource\_volume test on SQL backend * Refactor DB tests -* fix volume tests to utilize VOLUME_DELETE notification +* fix volume tests to utilize VOLUME\_DELETE notification * Open havana development, bump to 2013.2 -* Change the column counter_volume to Float +* Change the column counter\_volume to Float * tests: disable Ming test if Ming unavailable * Imported Translations from Transifex * enable arguments in tox -* api: run max_volume tests on SQL backend too -* api: run list_sources tests on SQL and Mongo backend -* api: run list_resources test against SQL +* api: run max\_volume tests on SQL backend too +* api: run list\_sources tests on SQL and Mongo backend +* api: run list\_resources test against SQL * api: handle case where metadata is None * Fix statistics period computing with start/end time -* Allow publishing arbitrary headers via the "storage.objects.*.bytes" counter -* Updated the description of get_counters routine +* Allow publishing arbitrary headers via the "storage.objects.\*.bytes" counter +* Updated the description of get\_counters routine * enable xml error message response * Swift pollster silently return no counter if keystone endpoint is not present * Try to get rid of the "events" & "raw events" naming in the code @@ -2262,13 +2274,13 @@ * add keystone configuration instructions to manual install docs * Update openstack.common * remove unused dependencies -* Set the default_log_levels to include keystoneclient +* Set the default\_log\_levels to include keystoneclient * Switch to final 1.1.0 oslo.config release * Add deprecation warnings for V1 API * Raise stevedore requirement to 0.7 * Fixed the blocking unittest issues * Fix a pep/hacking error in a swift import -* Add sample configuration files for mod_wsgi +* Add sample configuration files for mod\_wsgi * Add a tox target for building documentation * Use a non-standard port for the test server * Ensure the statistics are sorted @@ -2282,7 +2294,7 @@ * Fix an invalid test in the storage test suite * Add the etc directory to the sdist manifest * api: run compute duration by resource on SQL backend -* api: run list_projects tests against SQL backend too +* api: run list\_projects tests against SQL backend too * api: run list users test against SQL backend too * api: run list meters tests against SQL backend too * Kwapi pollster silently return no probre if keystone endpoint is not present @@ -2291,7 +2303,7 @@ * Ensure missing period is treated consistently * Exclude tests when installing ceilometer * Run some APIv1 tests on different backends -* Remove old configuration metering_storage_engine +* Remove old configuration metering\_storage\_engine * Set where=tests * Decouple the nova notifier from ceilometer code * send-counter: fix & test @@ -2321,23 +2333,23 @@ * Update to latest oslo-version * Imported Translations from Transifex * Add directive to MANIFEST.in to include all the html files -* Use join_consumer_pool() for notifications +* Use join\_consumer\_pool() for notifications * Update openstack.common * Add period support in storage drivers and API * Update openstack/common tree * storage: fix mongo live tests * swift: configure RPC service correctly * Fix tox python version for Folsom -* api: use delta_seconds() +* api: use delta\_seconds() * transformer: add acculumator transformer -* Import service when cfg.CONF.os_* is used +* Import service when cfg.CONF.os\_\* is used * pipeline: flush after publishing call * plugin: format docstring as rst * Use Mongo finalize to compute avg and duration * Code cleanup, remove useless import * api: fix a test * compute: fix notifications test -* Move counter_source definition +* Move counter\_source definition * Allow to publish several counters in a row * Fixed resource api in v2-api * Update meter publish with pipeline framework @@ -2351,8 +2363,8 @@ * setup: fix typo in package data * Fix formatting issue with v1 API parameters * Multiple publisher pipeline framework -* Remove setuptools_git from setup_requires -* Removed unused param for get_counters() +* Remove setuptools\_git from setup\_requires +* Removed unused param for get\_counters() * Use WSME 0.5b1 * Factorize agent code * Fixed the TemplateNotFound error in v1 api @@ -2361,10 +2373,10 @@ * Update nova notifier test after nova change * Fix documentation formatting issues * Simplify ceilometer-api and checks Keystone middleware parsing -* Fix nova conf compute_manager unavailable -* Rename run_tests.sh to wrap_nosetests.sh +* Fix nova conf compute\_manager unavailable +* Rename run\_tests.sh to wrap\_nosetests.sh * Update openstack.common -* Corrected get_raw_event() in sqlalchemy +* Corrected get\_raw\_event() in sqlalchemy * Higher level test for db backends * Remove useless imports * Flatten the v2 API @@ -2378,9 +2390,9 @@ * Remove leftover useless import * Enhance policy test for init() * Provide the meters unit's in /meters -* Fix keystoneclient auth_token middleware changes -* policy: fix policy_file finding -* Remove the _initialize_config_options +* Fix keystoneclient auth\_token middleware changes +* policy: fix policy\_file finding +* Remove the \_initialize\_config\_options * Add pyflakes * Make the v2 API date query parameters consistent * Fix test blocking issue and pin docutils version @@ -2391,8 +2403,8 @@ * Add support for Folsom version of Swift * Implement user-api * Add support for Swift incoming/outgoing trafic metering -* Pass a dict configuration file to auth_keystone -* Import only once in nova_notifier +* Pass a dict configuration file to auth\_keystone +* Import only once in nova\_notifier * Fix MySQL charset error * Use default configuration file to make test data * Fix Glance control exchange @@ -2400,9 +2412,9 @@ * Fix WSME arguments handling change * Remove useless gettext call in sql engine * Ground work for transifex-ify ceilometer -* Add instance_type information to NetPollster +* Add instance\_type information to NetPollster * Fix dbsync API change -* Fix image_id in instance resource metadata +* Fix image\_id in instance resource metadata * Instantiate inspector in compute manager * remove direct nova db access from ceilometer * Make debugging the wsme app a bit easier @@ -2422,7 +2434,7 @@ * Move v1 API files into a subdirectory * Add test storage driver * Implement /meters to make discovery "nicer" from the client -* Fix sqlalchemy for show_data and v1 web api +* Fix sqlalchemy for show\_data and v1 web api * Implement object store metering * Make Impl of mongodb and sqlalchemy consistent * add migration migrate.cfg file to the python package @@ -2435,24 +2447,24 @@ * Lower pymongo dependency * Remove rickshaw subproject * Remove unused rpc import -* Adapted to nova's compute_driver moving +* Adapted to nova's compute\_driver moving * doc: fix cpu counter unit * tools: use tarballs rather than git for Folsom tests -* Used auth_token middleware from keystoneclient +* Used auth\_token middleware from keystoneclient * Remove cinderclient dependency * Fix latest nova changes * api: replace minified files by complete version * Add Folsom tests to tox * Handle nova.flags removal * Provide default configuration file -* Fix mysql_engine option type +* Fix mysql\_engine option type * Remove nova.flags usage -* api: add support for timestamp in _list_resources() -* api: add timestamp interval support in _list_events() -* tests: simplify api list_resources +* api: add support for timestamp in \_list\_resources() +* api: add timestamp interval support in \_list\_events() +* tests: simplify api list\_resources * Update openstack.common(except policy) * Adopted the oslo's rpc.Service change -* Use libvirt num_cpu for CPU utilization calculation +* Use libvirt num\_cpu for CPU utilization calculation * Remove obsolete reference to instance.vcpus * Change references of /etc/ceilometer-{agent,collector}.conf to /etc/ceilometer/ceilometer.conf * Determine instance cores from public flavors API @@ -2460,12 +2472,12 @@ * Add comment about folsom compatibility change * Add keystone requirement for doc build * Avoid TypeError when loading libvirt.LibvirtDriver -* Don't re-import flags and do parse_args instead of flags.FLAGS() +* Don't re-import flags and do parse\_args instead of flags.FLAGS() * doc: rename stackforge to openstack * Fix pymongo requirements * Update .gitreview for openstack * Update use of nova config to work with folsom -* compute: remove get_disks work-around +* compute: remove get\_disks work-around * Use openstack versioning * Fix documentation build * document utc naive timestamp @@ -2480,15 +2492,15 @@ * nova fake libvirt library breaking tests * Move db access out into a seperate file * Remove invalid fixme comments -* Add new cpu_util meter recording CPU utilization % -* Fix TypeError from old-style publish_counter calls +* Add new cpu\_util meter recording CPU utilization % +* Fix TypeError from old-style publish\_counter calls * Fix auth middleware configuration * pin sqlalchemy to 0.7.x but not specifically 0.7.8 * add mongo index names * set tox to ignore global packages * Provide a way to disable some plugins * Use stevedore to load all plugins -* implement get_volume_max for sqlalchemy +* implement get\_volume\_max for sqlalchemy * Add basic text/html renderer * network: floating IP account in Quantum * add unit test for CPUPollster @@ -2506,7 +2518,7 @@ * Fix sqlalchemy performance problem * Added a working release-bugs.py script to tools/ * Change default API port -* sqlalchemy record_meter merge objs not string +* sqlalchemy record\_meter merge objs not string * Use glance public API as opposed to registry API * Add OpenStack trove classifier for PyPI * bump version number to 0.2 @@ -2516,12 +2528,12 @@ * Fixes a couple typos * Counter renaming * Set correct timestamp on floatingip counter -* Fix API change in make_test_data.py +* Fix API change in make\_test\_data.py * Fix Nova URL in doc * Some more doc fixes * Ignore instances in the ERROR state * Use the right version number in documentation -* doc: fix network.*.* resource id +* doc: fix network.\*.\* resource id * image: handle glance delete notifications * image: handle glance upload notifications * image: add update event, fix ImageServe owner @@ -2536,7 +2548,7 @@ * Move net function in class method and fix instance id * Prime counter table * Fix the configuration for the nova notifier -* Initialize the control_exchange setting +* Initialize the control\_exchange setting * Set version 0.1 * Make the instance counters use the same type * Restore manual install documentation @@ -2581,12 +2593,12 @@ * Add configuration script to turn on notifications * Pep8 fixes, implement pep8 check on tests subdir * Use standard CLI options & env vars for creds -* compute: remove get_metadata_from_event() +* compute: remove get\_metadata\_from\_event() * Listen for volume notifications * Add pollster for Glance * Fix Nova notifier test case * Fix nova flag parsing -* Add nova_notifier notification driver for nova +* Add nova\_notifier notification driver for nova * Split instance polling code * Use stevedore to load storage engine drivers * Implement duration calculation API @@ -2621,13 +2633,13 @@ * Sort list of users and projects returned from queries * Add project arg to event and resource queries * Fix "meter" literal in event list API -* collector exception on record_metering_data +* collector exception on record\_metering\_data * Add API endpoint for listing raw event data * Change compute pollster API to work on one instance at a time * Create "central" agent * Skeleton for API server * fix use of source value in mongdb driver -* Add {root,ephemeral}_disk_size counters +* Add {root,ephemeral}\_disk\_size counters * Implements vcpus counter * Fix nova configuration loading * Implements memory counter @@ -2661,7 +2673,7 @@ * Register storage options on import * Add Essex tests * log more than ceilometer -* Remove event_type field from meter messages +* Remove event\_type field from meter messages * fix message signatures for nested dicts * Remove nova.flags usage * Copy openstack.common.cfg diff -Nru aodh-4.0.0/debian/changelog aodh-4.0.1/debian/changelog --- aodh-4.0.0/debian/changelog 2017-02-23 15:17:28.000000000 +0000 +++ aodh-4.0.1/debian/changelog 2017-08-25 11:54:45.000000000 +0000 @@ -1,3 +1,20 @@ +aodh (4.0.1-0ubuntu0.17.04.2) zesty-security; urgency=medium + + * SECURITY UPDATE: Aodh can be used to launder Keystone trusts + - debian/patches/CVE-2017-12440.patch: don't allow the user to pass in + a trust ID in aodh/api/controllers/v2/alarms.py, update comment in + aodh/notifier/trust.py, aodh/notifier/zaqar.py. + - CVE-2017-12440 + + -- Marc Deslauriers Fri, 25 Aug 2017 07:54:45 -0400 + +aodh (4.0.1-0ubuntu0.17.04.1) zesty; urgency=medium + + * New stable point release for OpenStack Ocata (LP: #1706297). + - d/p/fix-migrate-alarm-history.patch; Dropped, accepted upstream. + + -- James Page Tue, 25 Jul 2017 16:32:20 +0100 + aodh (4.0.0-0ubuntu2) zesty; urgency=medium * debian/patches/fix-migrate-alarm-history.patch: Fix migration diff -Nru aodh-4.0.0/debian/patches/CVE-2017-12440.patch aodh-4.0.1/debian/patches/CVE-2017-12440.patch --- aodh-4.0.0/debian/patches/CVE-2017-12440.patch 1970-01-01 00:00:00.000000000 +0000 +++ aodh-4.0.1/debian/patches/CVE-2017-12440.patch 2017-08-25 11:54:40.000000000 +0000 @@ -0,0 +1,60 @@ +From ab45afcfe9a531127ab6f06a128ec5db9cfe7a06 Mon Sep 17 00:00:00 2001 +From: Zane Bitter +Date: Tue, 15 Aug 2017 12:19:08 +0200 +Subject: [PATCH] Don't allow the user to pass in a trust ID + +Since Aodh uses trust IDs stored in alarm URLs unconditionally - without +checking for tenant safety - it is not safe to allow users to pass in their own +trust IDs. Forbid this and allow only trusts created by Aodh to be used. It is +highly unlikely that there is any (legitimate) use of this feature in the wild, +since allowing Aodh to create the trust is easier anyway. + +Change-Id: I8fd11a7f9fe3c0ea5f9843a89686ac06713b7851 +Closes-Bug: #1649333 +--- + aodh/api/controllers/v2/alarms.py | 3 ++- + aodh/notifier/trust.py | 2 +- + aodh/notifier/zaqar.py | 2 +- + 3 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/aodh/api/controllers/v2/alarms.py b/aodh/api/controllers/v2/alarms.py +index 8810b1f..cbcf9ef 100644 +--- a/aodh/api/controllers/v2/alarms.py ++++ b/aodh/api/controllers/v2/alarms.py +@@ -420,7 +420,8 @@ class Alarm(base.Base): + url = netutils.urlsplit(action) + if self._is_trust_url(url): + if '@' in url.netloc: +- continue ++ errmsg = _("trust URL cannot contain a trust ID.") ++ raise base.ClientSideError(errmsg) + if trust_id is None: + # We have a trust action without a trust ID, + # create it +diff --git a/aodh/notifier/trust.py b/aodh/notifier/trust.py +index 0cf24c3..1cbc38d 100644 +--- a/aodh/notifier/trust.py ++++ b/aodh/notifier/trust.py +@@ -55,5 +55,5 @@ class TrustRestAlarmNotifier(TrustAlarmNotifierMixin, rest.RestAlarmNotifier): + keystone authentication. It uses the aodh service user to + authenticate using the trust ID provided. + +- The URL must be in the form ``trust+http://trust-id@host/action``. ++ The URL must be in the form ``trust+http://host/action``. + """ +diff --git a/aodh/notifier/zaqar.py b/aodh/notifier/zaqar.py +index 92ef162..24c2769 100644 +--- a/aodh/notifier/zaqar.py ++++ b/aodh/notifier/zaqar.py +@@ -194,7 +194,7 @@ class TrustZaqarAlarmNotifier(trust.TrustAlarmNotifierMixin, + ZaqarAlarmNotifier): + """Zaqar notifier using a Keystone trust to post to user-defined queues. + +- The URL must be in the form ``trust+zaqar://trust_id@?queue_name=example``. ++ The URL must be in the form ``trust+zaqar://?queue_name=example``. + """ + + def _get_client_conf(self, auth_token): +-- +1.9.1 + diff -Nru aodh-4.0.0/debian/patches/fix-migrate-alarm-history.patch aodh-4.0.1/debian/patches/fix-migrate-alarm-history.patch --- aodh-4.0.0/debian/patches/fix-migrate-alarm-history.patch 2017-02-23 15:17:28.000000000 +0000 +++ aodh-4.0.1/debian/patches/fix-migrate-alarm-history.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -Description: Fix the migration to use alarm_history. -Author: Chuck Short -Forwarded: not needed -diff -Naurp aodh-4.0.0.orig/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py aodh-4.0.0/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py ---- aodh-4.0.0.orig/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py 2017-02-02 12:48:11.000000000 -0500 -+++ aodh-4.0.0/aodh/storage/sqlalchemy/alembic/versions/367aadf5485f_precisetimestamp_to_datetime.py 2017-02-23 10:13:15.805524227 -0500 -@@ -43,7 +43,7 @@ def upgrade(): - # TABLE … USING …". We need to copy everything and convert… - for table_name, column_name in (("alarm", "timestamp"), - ("alarm", "state_timestamp"), -- ("alarm_change", "timestamp")): -+ ("alarm_history", "timestamp")): - existing_type = sa.types.DECIMAL( - precision=20, scale=6, asdecimal=True) - existing_col = sa.Column( diff -Nru aodh-4.0.0/debian/patches/series aodh-4.0.1/debian/patches/series --- aodh-4.0.0/debian/patches/series 2017-02-23 15:17:28.000000000 +0000 +++ aodh-4.0.1/debian/patches/series 2017-08-25 11:54:40.000000000 +0000 @@ -1 +1 @@ -fix-migrate-alarm-history.patch +CVE-2017-12440.patch diff -Nru aodh-4.0.0/install-guide/source/configure-common.rst aodh-4.0.1/install-guide/source/configure-common.rst --- aodh-4.0.0/install-guide/source/configure-common.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/configure-common.rst 2017-07-17 11:59:19.000000000 +0000 @@ -10,7 +10,7 @@ Replace ``AODH_DBPASS`` with the password you chose for the Telemetry Alarming module database. You must escape special characters - such as ':', '/', '+', and '@' in the connection string in accordance + such as ``:``, ``/``, ``+``, and ``@`` in the connection string in accordance with `RFC2396 `_. * In the ``[DEFAULT]`` section, @@ -73,8 +73,3 @@ Workaround for https://bugs.launchpad.net/ubuntu/+source/aodh/+bug/1513599. 3. In order to initialize the database please run the ``aodh-dbsync`` script. - -.. note:: - - The ``aodh-dbsync`` script is only necessary if you are using an SQL - database. diff -Nru aodh-4.0.0/install-guide/source/index.rst aodh-4.0.1/install-guide/source/index.rst --- aodh-4.0.0/install-guide/source/index.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/index.rst 2017-07-17 11:59:19.000000000 +0000 @@ -8,8 +8,8 @@ install-obs.rst install-rdo.rst install-ubuntu.rst - verify.rst next-steps.rst +.. verify.rst -This chapter assumes a working setup of OpenStack following the base -Installation Guide. +This chapter assumes a working setup of OpenStack following the +`OpenStack Installation Tutorials and Guides `_. diff -Nru aodh-4.0.0/install-guide/source/install-obs.rst aodh-4.0.1/install-guide/source/install-obs.rst --- aodh-4.0.0/install-guide/source/install-obs.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/install-obs.rst 2017-07-17 11:59:19.000000000 +0000 @@ -13,7 +13,7 @@ .. include:: prereq-common.rst Install and configure components -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------- .. note:: @@ -34,7 +34,7 @@ .. include:: configure-common.rst Finalize installation -~~~~~~~~~~~~~~~~~~~~~ +--------------------- #. Start the Telemetry Alarming services and configure them to start when the system boots: diff -Nru aodh-4.0.0/install-guide/source/install-rdo.rst aodh-4.0.1/install-guide/source/install-rdo.rst --- aodh-4.0.0/install-guide/source/install-rdo.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/install-rdo.rst 2017-07-17 11:59:19.000000000 +0000 @@ -13,7 +13,7 @@ .. include:: prereq-common.rst Install and configure components -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------- .. note:: @@ -34,7 +34,7 @@ .. include:: configure-common.rst Finalize installation -~~~~~~~~~~~~~~~~~~~~~ +--------------------- #. Start the Telemetry Alarming services and configure them to start when the system boots: diff -Nru aodh-4.0.0/install-guide/source/install-ubuntu.rst aodh-4.0.1/install-guide/source/install-ubuntu.rst --- aodh-4.0.0/install-guide/source/install-ubuntu.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/install-ubuntu.rst 2017-07-17 11:59:19.000000000 +0000 @@ -13,7 +13,7 @@ .. include:: prereq-common.rst Install and configure components -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +-------------------------------- .. note:: @@ -32,7 +32,7 @@ .. include:: configure-common.rst Finalize installation -~~~~~~~~~~~~~~~~~~~~~ +--------------------- #. Restart the Alarming services: diff -Nru aodh-4.0.0/install-guide/source/next-steps.rst aodh-4.0.1/install-guide/source/next-steps.rst --- aodh-4.0.0/install-guide/source/next-steps.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/next-steps.rst 2017-07-17 11:59:19.000000000 +0000 @@ -5,5 +5,6 @@ Your OpenStack environment now includes the aodh service. -To add additional services, see -docs.openstack.org/draft/install-guides/index.html . +To add additional services, see the +`OpenStack Installation Tutorials and Guides `_ + diff -Nru aodh-4.0.0/install-guide/source/verify.rst aodh-4.0.1/install-guide/source/verify.rst --- aodh-4.0.0/install-guide/source/verify.rst 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/install-guide/source/verify.rst 2017-07-17 11:59:19.000000000 +0000 @@ -1,3 +1,5 @@ +:orphan: + .. _verify: Verify operation diff -Nru aodh-4.0.0/PKG-INFO aodh-4.0.1/PKG-INFO --- aodh-4.0.0/PKG-INFO 2017-02-02 17:52:26.000000000 +0000 +++ aodh-4.0.1/PKG-INFO 2017-07-17 12:01:15.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: aodh -Version: 4.0.0 +Version: 4.0.1 Summary: OpenStack Telemetry Alarming Home-page: http://docs.openstack.org/developer/aodh Author: OpenStack diff -Nru aodh-4.0.0/releasenotes/notes/gnocchi-external-resource-owner-3fad253d30746b0d.yaml aodh-4.0.1/releasenotes/notes/gnocchi-external-resource-owner-3fad253d30746b0d.yaml --- aodh-4.0.0/releasenotes/notes/gnocchi-external-resource-owner-3fad253d30746b0d.yaml 1970-01-01 00:00:00.000000000 +0000 +++ aodh-4.0.1/releasenotes/notes/gnocchi-external-resource-owner-3fad253d30746b0d.yaml 2017-07-17 11:59:19.000000000 +0000 @@ -0,0 +1,11 @@ +--- +fixes: + - | + When an unprivileged user want to access to Gnocchi resources created by + Ceilometer, that doesn't work because the filter scope the Gnocchi query to + resource owner to the user. To fix we introduce a new configuration option + "gnocchi_external_project_owner" set by default to "service". The new + filter now allow two kind of Gnocchi resources: + * owned by the user project + * owned by "gnocchi_external_project_owner" and the orignal project_id of + the resource is the user project. diff -Nru aodh-4.0.0/requirements.txt aodh-4.0.1/requirements.txt --- aodh-4.0.0/requirements.txt 2017-02-02 17:48:11.000000000 +0000 +++ aodh-4.0.1/requirements.txt 2017-07-17 11:59:19.000000000 +0000 @@ -12,24 +12,27 @@ lxml>=2.3 oslo.db>=4.8.0,!=4.13.1,!=4.13.2,!=4.15.0 # Apache-2.0 oslo.config>=2.6.0 # Apache-2.0 -oslo.i18n>=1.5.0 # Apache-2.0 +oslo.i18n>=1.5.0,<3.13.0 # Apache-2.0 oslo.log>=1.2.0 # Apache-2.0 oslo.policy>=0.5.0 # Apache-2.0 PasteDeploy>=1.5.0 -pbr<2.0,>=0.11 +pbr>=1.8 pecan>=0.8.0 oslo.messaging>=5.2.0 # Apache-2.0 -oslo.middleware>=3.22.0 # Apache-2.0 +oslo.middleware>=3.22.0,<3.24.0 # Apache-2.0 oslo.serialization>=1.4.0 # Apache-2.0 -oslo.utils>=3.5.0 # Apache-2.0 +oslo.utils>=3.5.0,<3.23.0 # Apache-2.0 python-ceilometerclient>=1.5.0 python-keystoneclient>=1.6.0 pytz>=2013.6 requests>=2.5.2 six>=1.9.0 -stevedore>=1.5.0 # Apache-2.0 +stevedore>=1.5.0,<1.21.0 # Apache-2.0 tooz>=1.28.0 # Apache-2.0 WebOb>=1.2.3 WSME>=0.8 cachetools>=1.1.6 cotyledon +# fake caps for indirect requirements +debtcollector<1.12.0 +oslo.context<2.13.0