We are stoked to announce the release of: ceilometer 7.0.0: OpenStack Telemetry This release is part of the newton release series. For more details, please see below. 7.0.0 ^^^^^ Ceilometer backends are no more only databases but also REST API like Gnocchi. So ceilometer-dbsync binary name doesn't make a lot of sense and have been renamed ceilometer-upgrade. The new binary handles database schema upgrade like ceilometer-dbsync does, but it also handle any changes needed in configured ceilometer backends like Gnocchi. New Features ************ * Added support for magnum bay CRUD events, event_type is 'magnum.bay.*'. * In the [dispatcher_http] section of ceilometer.conf, verify_ssl can be set to True to use system-installed certificates (default value) or False to ignore certificate verification (use in development only!). verify_ssl can also be set to the location of a certificate file e.g. /some/path/cert.crt (use for self-signed certs) or to a directory of certificates. The value is passed as the 'verify' option to the underlying requests method, which is documented at http://docs.python- requests.org/en/master/user/advanced/#ssl-cert- verification * Add two new meters, including memory.bandwidth.total and memory.bandwidth.local, to get memory bandwidth statistics based on Intel CMT feature. * Add four new meters, including perf.cpu.cycles for the number of cpu cycles one instruction needs, perf.instructions for the count of instructions, perf.cache_references for the count of cache hits and cache_misses for the count of caches misses. * Add support of batch recording metering data to mongodb backend, since the pymongo support *insert_many* interface which can be used to batch record items, in "big-data" scenarios, this change can improve the performance of metering data recording. * Since the Glance v1 APIs won't be maintained any more, this change add the support of glance v2 in images pollsters. Upgrade Notes ************* * Batching is enabled by default now when coordinated workers are enabled. Depending on load, it is recommended to scale out the number of *pipeline_processing_queues* to improve distribution. *batch_size* should also be configured accordingly. * The option >>`<<glance_page_size' has been removed because it's not actually needed. <SYSTEM MESSAGE: <string>:28: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.> Deprecation Notes ***************** * The event database dispatcher is now deprecated. It has been moved to a new project, alongside the Ceilometer API for /v2/events, called Panko. * The Kwapi pollsters are deprecated and will be removed in the next major version of Ceilometer. * For backward compatibility reason we temporary keep ceilometer- dbsync, at least for one major version to ensure deployer have time update their tooling. Bug Fixes ********* * [bug 1578128 (https://bugs.launchpad.net/ceilometer/+bug/1578128)] Add a tool that allow users to drop the legacy alarm and alarm_history tables. * [bug 1597618 (https://bugs.launchpad.net/ceilometer/+bug/1597618)] Add the full support of snmp v3 user security model. * Fix to improve handling messages in environments heavily backed up. Previously, notification handlers greedily grabbed messages from queues which could cause ordering issues. A fix was applied to sequentially process messages in a single thread to prevent ordering issues. Changes in ceilometer 6.0.0.0rc1..7.0.0 --------------------------------------- 8c1e536 Fix problem when using wsgi script to start 6fc6341 Remove left over from old ceilometer-api binary 78be95b Move oslo.db to hard requirements list 43cbac3 Update .gitreview for stable/newton 92f30ac agentbase: remove flaky test 7a40bf4 add note regarding pipeline_processing_queues option f76c069 Refactor Ceilometer event API 3e4c37a Refactor Ceilometer alarm API cea2695 standardize release note page ordering a1fae3f gnocchi: enable event_dispatcher in devstack and doc 2d09bce Use pbr wsgi_scripts feature to build ceilometer-api 2c5a419 Change fnmatch.match method to fnmatch.fnmatch 56855f2 tox: Remove useless env 3e013ff Use deps extra for optional requirements 18ad1c1 Don't require gnocchiclient e0df9e3 Initialize correctly collector 790fd01 update docs to show Telemetry projects 7f8f6cc Remove store_events options 5c05c04 Remove sql-expire-samples-only as a CLI option 2feef3b Update the compute node service_credentials parameters 62f6a5f Corrected file mode settings. 5014464 Add oslo.config cli opt to skip the confirm check aaedbbe add new meters about some perf events f3ca7d8 Set a correct number of threads for polling tasks 5750fdd improve notification processing 74f6eb6 Fix string interpolation in log 84e411b correct input params in get_samples 1482731 refactor service to be less pipeline dependent 70a20d2 [api-ref] Correct response code 9e5a5c8 [api-ref] Remove temporary block in conf.py d38c580 XenAPI: correct polling on memory_usage 9709608 gnocchi: Create resource-types on upgrades a60b004 Allow to skip metering/event database upgrade 2bb81d4 Deprecate Kwapi pollsters 18c181f Rename ceilometer-dbsync in ceilometer-upgrade edbe186 make reload test more resilient fe2dec6 generalise instable API redirect assertion 5b941f9 Nit: Aligning the content. c50f0e0 Config logABug feature for Ceilometer api-ref e41adba Fix checking IP version when using IPv6. 0202c64 remove needless brackets e2cd7f3 The debug that network.incoming/outgoing.packets print is not right 0b37c28 Update readme file 96adfd5 [install] Create endpoint in one command ded35e3 [install] Add a missing stash 7d9dbfd Replace urllib.quote() with six.moves.urllib.parse.quote() abacf40 correct the meaning of direct publish transport 9558451 correct the mistake in install-guide document 7b94277 Add a publish transport in Ceilometer architecture document 1374cf7 XenAPI: failed to poll cpu_util c9fcf18 Cleanup imports in code a5c5146 add url in setup.cfg 92fe022 conversions: remove no used local variable fd7230b Add api-ref/build to .gitignore 5684aa0 Fix a warning when running `tox -e api-ref` d298fad Gnocchi dispatcher fails on skipped metric b9ce977 Get ready for os-api-ref sphinx theme change e975f10 [dev-docs] Changed location of a class 2b6fb87 Limit Happybase to < 1.0.0 f2b6064 Fix tempest.conf generation 2fca7eb Configuration of certificate verification for HTTP dispatcher bfffe35 api: redirect to Panko if enabled ed41b32 fix the %{} when string formatting 7348c15 ValueError exception when SNMP returns NoSuchObject 4a51f27 Format error message in http.py 8e870b1 HTTP Dispatcher: Post event data as JSON & improve logging 3685dcf dispatcher: deprecate event database dispatcher for Panko 87d5ac1 dispatcher/database: simplify connection retrieving 28127f2 dispatcher: split the database dispatcher f8933f4 Switch to use Glance v2 in image pollsters b72442a Fix the not found link for notification in glossary.rst 725a884 Added a link to the architecture guide. c2096fd Removed redundant phrase to increase readability b1c192d Fixed small grammar error in overview.rst d9ff460 Set the correct for image bytes_sent event 28f38cb Change keystoneclient to keystoneauth cc410d3 tests: rewrite batching test in a less racy way 5bdbea2 Remove an unused method of network pollsters' base class 2634457 Fixed a small grammar error configuration help doc ed7b6db add memory bandwidth meter 408f574 Do not limit elasticsearch to 2.0 4b3e041 tests: remove dead code with self.source_resources 6411b6f Remove Nadya Privalova from core reviewers ca31c23 Fix wrong parameter reference in periodic decorator d9d48bf Add missing %s in print message e4ece33 test: Fix wrong override value of config option interface ecd2215 Modify py3.4 to py3.5 in the py35-functional of tox 6dbbc9a Put py34 first in the env order of tox 8837801 This adds migrated API reference files a3eb0fa consumes error notif. when event are disabled 8ed2e77 publisher: make direct publisher generic e089ecc Revert "[install] Create endpoint in one command" cee262b Register the gnocchi event dispatcher a8ea360 Reduce code duplication 9da6ba2 Specify host info when using the notifier publisher 7b4e888 Add Python 3.4 and 3.5 classifiers and targets 3b14d40 Retrieval of RBD device information issue e487756 Install configuration files in etc dc254e2 Added full support of snmp v3 usm model 5cebb31 base.Resource not define __ne__() built-in function 46e0d65 Check lbaas version if call is v2 specific 80bc124 move out oslo.service 6773685 Remove unused AdvEnum class definition e6ff145 fix l3_cache definition b8cc36b throw PollsterPermenantError exception for memory usage meter 36df404 events: fix operator check in event filter bf9f484 Raise PollsterPermanentError if inspector is not implemented 9f97bf8 Remove unused LOG fc9d73d Fix get_gnocchiclient to work with python3.5 10a36ae collector: use an intermediate proxy class for event dispatcher bb35821 Replace raw_input with input to make PY3 compatible 1ab0acb pollsters: Remove eventlet timers c83e9ef Imported Translations from Zanata 67e0174 Fix the name as it was a typo c853877 devstack: prefix _drop_database 60bd9a7 start partition coordinator only when there is a group to join 0b55827 split discover into different namespaces cd2e041 devstack: disable workload_partition for compute polling 800034d Add a tool to clean the legacy alarm tables 913880b devstack: do not wait for service to start 677f967 Config: no need to set default=None 4bf0ae3 sqlalchemy: do not run upgrade on fresh install 7f603ce sqlalchemy: fix JSONEncodedDict implementation type b33f32b Add install-guide for ceilometer c940ccc gnocchi: use events to end Gnocchi resource f48a6b6 Don't generate hostname of host running build to config file 5ad613f Fixing a trivial typo. 68be6c9 Add 'task_state' attribute to meter metadata a2a04e5 add support of batch recording metering data for mongodb 23247f8 Switch to use glanceclient to get image 0936b5b Add install description for Neutron a2dbcaf add l3 cache usage meter 196d320 doc: remove left over of docbookrestapi 68064ca tests: do not override auth version to v2 f7e27a2 dispacher/gnocchi: measures sent fix logging 5976031 Copy images_client from tempest + Correct concurrency of gabbi 1.22.0 98571ed Rename gabbits with _ to have - instead 8fcbc8d Correct concurrency of gabbi tests for gabbi 1.22.0 f99cedf Use "topics" instead of "topic" in Notifier initialization c2b48d6 Clean deprecated "rpc_backend" in tests 1ccacfc Use trusts in Heat integration test 545a8b2 Remove configuration README in etc c6b0664 Imported Translations from Zanata 6c0b97b Copy images_client from tempest cf3f7c9 Add Magnum events to definitions 104dfe1 [dispatcher/gnocchi] add unit for metric a9cb9b6 Delete unused last_dup variable 9c08a89 catch DriverLoadFailure for get_transport optional d7f8ce9 catch DriverLoadFailure for get_transport optional 8ecf1fc Bump to Nova v2.1 0cf728a Fix the py34 jenkins job f6b2406 tempest: import ImagesClient as ImagesClientV2 3c1b806 fix some typos in our doc, comments and releasenotes 7951eb5 enable swift pollsters poll data for specific region 1610935 enable swift pollsters poll data for specific region 9d2864f Imported Translations from Zanata 1c0b83c tempest_plugin: drop telemetry decorator aa32401 tempest_plugin: drop telemetry decorator 9ba3c49 Updated from global requirements 9cf0397 [Trivial] Update Neutron resource status list 089f63b doc: remove database alarm capability 0718eeb replace deprecated heat command with OSC 45daf16 Update to hacking 0.11.0 ff05a0f Verify message's signature for every dispatcher 75c48c0 fix CI failure due to oslo.messaging 5.0.0 2b91096 remove log in tools/make_test_{event_}data.py 23d5c9f fix CI failure due to oslo.messaging 5.0.0 7ecbbf4 remove record_metering_data method from collector 15a424c tests: replace overtest by pifpaf dfc3452 Add log hints for partition coordinator 5a5356b fix opts.list_opts for polling options aa8c224 update help string for messaging_urls 8dd821a Drop timestamping in pollsters 615b120 Set the time point polling starts as timestamp of samples 6292e0e Fix notification listeners usage 72cc318 tox: only install hacking in pep8 target 25cd1d2 Remove unused pylintrc f3817aa devstack: remove useless policy_file setting 984e2e1 event: verify signature before recording events for all dispatchers ac5f725 tests: stop services on tests teardown b5a870f Fix oslo_service stop/start mechanism 4538921 remove floating_ip_get_all in nova_client 39f0f90 [Trivial] Refactor libvirt inspector connection & uri c898ecd Fix concurrency issue with snmp pollsters da40664 Drop the executability of http.py 6f9346a Updated from global requirements 372d70c remove deprecated auth type password-ceilometer-legacy c6022ff [Trivial] Update Neutron resource status list 54887ff [Trivial] Remove CEILOMETER_API_LOG_DIR option for devstack 90f771e Update the default log levels 3b41c49 Clean some unused method in ceilometer/keystone_client.py 8788d1a remove invalid todo in storage functional test code f41d6dd return 400 when invalid aggregation function is specified 0267193 Replace logging with oslo_log 6e415fa remove deprecated option database_connection 0a4bff7 move EventFilter to event storage namespace 68248fe remove MultipleResultsFound and NoResultFound exception eeb8cd4 Remove useless file fd6c9ae remove todo for OS_TEST_PATH be8c615 add tempest to test-requirements.txt dcfe070 Improve the docstring for Swift pollsters ed9a697 add log decorator for neutron_client public method e4f19c0 add debtcollector to requirements 394f4e2 Remove direct dependency on babel de82727 Imported Translations from Zanata c262389 Refactor floatingip pollster to use discovery 726b2d4 Fix notification listeners usage 24f75da notification: Remove eventlet timers 72687f5 use static timestamps for api samples d59f099 refactor DefinitionException classes 3766f21 collector: Don't use eventlet thread 196a747 fix openstack cli command in doc manual 9aac316 Add release note link 5ccbea9 switch to openstack cli instead of keystone cli 0b65c21 Updated from global requirements 7d455d5 libvirt: fix missing python-libvirt issue 9e44701 Add status in Ceilometer VPN connection sample 0958f16 document how to enable ceilometer stable branch in devstack b26c1e1 remove python-ceilometerclient from requirements 9009c10 Imported Translations from Zanata 5e31807 Updated from global requirements caa6f91 Imported Translations from Zanata 64e6536 Ignore the filter_service_activity option if gnocchi project not found 4a35a4f Fix Ceilometer tests config options 1ec0b61 Updated from global requirements 1fea0f5 Fix doc build if git is absent 6df47f7 Replace tempest-lib by os-testr 8e7940a Add notes on moving to Gnocchi 7fe87e9 delete verbose/redundant/deprecated text d526651 replace fnmatch with oslo.utils.fnmatch 5676fe0 add ceilometer to gnocchi configuration notes 123fa26 Updated from global requirements 97f65ad Imported Translations from Zanata 7a4eca2 remove complex capabilities for meter, resource and statistics 4a451fa gnocchi: batch measurements fcaec56 change keystone to openstack cli 182b4bd re-org existing manually install notes 2e3f792 messaging: remove RequestContextSerializer 36a5d1b Remove unused context object in vpnaas test dba353e Remove unused object from lbaas_v2 test 4eae319 Remove unused context object lbaas test 2d1e390 test: remove unused context object in FWaaS tests a02f35b Remove unused context objects in Glance tests 3e45352 Remove unused context object in test 10cb9f6 Remove a useless usage of oslo.context in meters API 9ad61b1 Remove the deprecated DB2 driver aa012cd Update the Administrator Guide links 9bf2d37 mongo: remove unused function e6005df Updated from global requirements c2b7246 Imported Translations from Zanata 8599ec5 drop magnetodb support 8ee9fc1 Simplify chained comparison 3459bc5 Enhancing Retry logic to Coordination when joining partitioning grp 5d850f9 publisher: clean out context usage 4c491b5 Disable ceilometer-aipmi by default for devstack b2549ae Remove useless context object usage 1266e56 Imported Translations from Zanata 333104d Imported Translations from Zanata 2444399 collector: never allow to lose data bb6032f 'ceilometer-polling' should fail with no valid pollsters acd1faf Imported Translations from Zanata 3fb6df9 Fix typos in comments and config strings. 78fac6e Updated from global requirements 19e751c abort alarms URLs when Aodh is unavailable b934520 abort alarms URLs when Aodh is unavailable cd2ebc6 fix minor typo in test_generic.py 7ee29aa Imported Translations from Zanata 7156e9d Add the functional tests for getting events 40684da collector: never allow to lose data 55337c5 devstack Fix unprocess measure path 621916b Imported Translations from Zanata 59f90f5 devstack: allow ceilometer-api and keystone to run on different hosts 49a204e Devstack: install coordination backend for compute agent ef88a0a remove dns and trove from entry_points 1a935cd correct docstring in storage module da805ef Imported Translations from Zanata 6563e6b Remove gabbi tests that check content-location c634b5f Add http publisher bc720bf remove dns and trove from entry_points 3026e98 Imported Translations from Zanata f8b5be7 Imported Translations from Zanata 5922a1c Update reno for stable/mitaka 1f91372 Update .gitreview for stable/mitaka 639b947 Remove gabbi tests that check content-location c569fcd remove unused field 'triggers' defined in sample event_pipeline.yaml 337cd3c remove SERVICE_TENANT_NAME from devstack plugin 7cae725 clean devstack plugin d036d7a Fix SDR file parsing for Intel Node Manager 44d5769 unquote resource id to support slash in it Diffstat (except docs and test files) ------------------------------------- .gitignore | 5 +- .gitreview | 1 + .testr.conf | 2 +- MAINTAINERS | 1 - README.rst | 31 +- api-ref/source/alarms.inc | 336 +++++++++ api-ref/source/capabilities.inc | 92 +++ api-ref/source/conf.py | 274 ++++++++ api-ref/source/events.inc | 93 +++ api-ref/source/index.rst | 8 + api-ref/source/meters.inc | 386 +++++++++++ api-ref/source/parameters.yaml | 757 +++++++++++++++++++++ api-ref/source/resources.inc | 95 +++ api-ref/source/samples.inc | 111 +++ api-ref/source/samples/alarm-show-response.json | 24 + api-ref/source/samples/alarm-show-response.xml | 25 + api-ref/source/samples/alarms-list-response.json | 26 + api-ref/source/samples/alarms-list-response.xml | 27 + .../source/samples/capabilities-list-response.json | 40 ++ .../source/samples/capabilities-list-response.xml | 131 ++++ api-ref/source/samples/event-show-response.json | 18 + api-ref/source/samples/events-list-response.json | 20 + api-ref/source/samples/meters-list-response.json | 12 + api-ref/source/samples/meters-list-response.xml | 13 + api-ref/source/samples/resource-show-response.json | 20 + api-ref/source/samples/resource-show-response.xml | 27 + .../source/samples/resources-list-response.json | 22 + api-ref/source/samples/resources-list-response.xml | 29 + api-ref/source/samples/sample-create-request.json | 17 + api-ref/source/samples/sample-create-request.xml | 23 + api-ref/source/samples/sample-show-response.json | 17 + api-ref/source/samples/sample-show-response.xml | 24 + api-ref/source/samples/samples-list-response.json | 19 + api-ref/source/samples/samples-list-response.xml | 26 + .../source/samples/statistics-list-response.json | 16 + .../source/samples/statistics-list-response.xml | 17 + ceilometer/agent/discovery/endpoint.py | 3 +- ceilometer/agent/manager.py | 141 ++-- ceilometer/agent/plugin_base.py | 21 +- ceilometer/api/__init__.py | 36 - ceilometer/api/app.py | 41 +- ceilometer/api/controllers/v2/base.py | 25 - ceilometer/api/controllers/v2/capabilities.py | 9 +- ceilometer/api/controllers/v2/events.py | 20 +- ceilometer/api/controllers/v2/meters.py | 23 +- ceilometer/api/controllers/v2/resources.py | 7 +- ceilometer/api/controllers/v2/root.py | 72 +- ceilometer/api/controllers/v2/samples.py | 5 +- ceilometer/cmd/agent_notification.py | 9 +- ceilometer/cmd/api.py | 23 - ceilometer/cmd/collector.py | 7 +- ceilometer/cmd/polling.py | 13 +- ceilometer/cmd/sample.py | 3 +- ceilometer/cmd/storage.py | 124 +++- ceilometer/collector.py | 115 ++-- ceilometer/compute/pollsters/__init__.py | 16 + ceilometer/compute/pollsters/cpu.py | 39 ++ ceilometer/compute/pollsters/disk.py | 40 +- ceilometer/compute/pollsters/memory.py | 97 ++- ceilometer/compute/pollsters/net.py | 21 +- ceilometer/compute/pollsters/perf.py | 128 ++++ ceilometer/compute/pollsters/util.py | 3 +- ceilometer/compute/virt/inspector.py | 62 +- ceilometer/compute/virt/libvirt/inspector.py | 137 +++- ceilometer/compute/virt/xenapi/inspector.py | 40 +- ceilometer/coordination.py | 50 +- ceilometer/declarative.py | 17 +- ceilometer/dispatcher/__init__.py | 4 +- ceilometer/dispatcher/database.py | 121 ++-- ceilometer/dispatcher/gnocchi.py | 325 ++++++--- ceilometer/dispatcher/http.py | 96 +-- ceilometer/energy/kwapi.py | 6 - ceilometer/event/converter.py | 17 +- ceilometer/event/endpoint.py | 9 +- ceilometer/event/storage/__init__.py | 57 ++ ceilometer/event/storage/impl_db2.py | 69 -- ceilometer/event/storage/impl_sqlalchemy.py | 15 +- ceilometer/event/storage/pymongo_base.py | 4 +- ceilometer/exchange_control.py | 3 - ceilometer/gnocchi_client.py | 129 ++++ ceilometer/hardware/discovery.py | 51 +- ceilometer/hardware/inspector/base.py | 3 - ceilometer/hardware/inspector/snmp.py | 81 ++- ceilometer/hardware/pollsters/generic.py | 22 +- ceilometer/hardware/pollsters/util.py | 6 - ceilometer/image/discovery.py | 43 ++ ceilometer/image/glance.py | 108 +-- ceilometer/ipmi/platform/intel_node_manager.py | 31 +- ceilometer/ipmi/pollsters/node.py | 5 +- ceilometer/ipmi/pollsters/sensor.py | 5 +- ceilometer/keystone_client.py | 97 --- ceilometer/locale/ceilometer-log-error.pot | 181 ----- ceilometer/locale/ceilometer-log-info.pot | 163 ----- ceilometer/locale/ceilometer-log-warning.pot | 164 ----- ceilometer/locale/ceilometer.pot | 566 --------------- .../locale/de/LC_MESSAGES/ceilometer-log-error.po | 31 +- .../locale/de/LC_MESSAGES/ceilometer-log-info.po | 18 +- .../de/LC_MESSAGES/ceilometer-log-warning.po | 22 +- ceilometer/locale/de/LC_MESSAGES/ceilometer.po | 42 +- .../locale/es/LC_MESSAGES/ceilometer-log-error.po | 15 +- .../locale/es/LC_MESSAGES/ceilometer-log-info.po | 6 +- ceilometer/locale/es/LC_MESSAGES/ceilometer.po | 99 ++- ceilometer/locale/fr/LC_MESSAGES/ceilometer.po | 36 +- ceilometer/locale/it/LC_MESSAGES/ceilometer.po | 127 +++- ceilometer/locale/ja/LC_MESSAGES/ceilometer.po | 86 ++- .../ko_KR/LC_MESSAGES/ceilometer-log-error.po | 135 ++++ .../ko_KR/LC_MESSAGES/ceilometer-log-info.po | 128 ++++ .../ko_KR/LC_MESSAGES/ceilometer-log-warning.po | 155 +++++ ceilometer/locale/ko_KR/LC_MESSAGES/ceilometer.po | 119 +++- ceilometer/locale/pt_BR/LC_MESSAGES/ceilometer.po | 119 +++- ceilometer/locale/ru/LC_MESSAGES/ceilometer.po | 26 +- ceilometer/locale/zh_CN/LC_MESSAGES/ceilometer.po | 29 +- ceilometer/locale/zh_TW/LC_MESSAGES/ceilometer.po | 28 +- ceilometer/messaging.py | 31 +- ceilometer/meter/data/meters.yaml | 28 - ceilometer/meter/notifications.py | 26 +- ceilometer/network/floatingip.py | 46 +- ceilometer/network/services/base.py | 11 +- ceilometer/network/services/discovery.py | 7 + ceilometer/network/services/fwaas.py | 3 - ceilometer/network/services/lbaas.py | 9 - ceilometer/network/services/vpnaas.py | 4 +- ceilometer/network/statistics/__init__.py | 3 +- .../network/statistics/opencontrail/driver.py | 4 +- .../network/statistics/opendaylight/client.py | 2 +- .../network/statistics/opendaylight/driver.py | 9 +- ceilometer/neutron_client.py | 34 +- ceilometer/notification.py | 244 ++++--- ceilometer/nova_client.py | 37 +- ceilometer/objectstore/rgw.py | 7 - ceilometer/objectstore/swift.py | 24 +- ceilometer/opts.py | 19 +- ceilometer/pipeline.py | 220 +++--- ceilometer/publisher/__init__.py | 4 +- ceilometer/publisher/direct.py | 83 ++- ceilometer/publisher/file.py | 6 +- ceilometer/publisher/http.py | 137 ++++ ceilometer/publisher/kafka_broker.py | 2 +- ceilometer/publisher/messaging.py | 41 +- ceilometer/publisher/test.py | 6 +- ceilometer/publisher/udp.py | 25 +- ceilometer/sample.py | 18 +- ceilometer/service.py | 16 +- ceilometer/service_base.py | 100 +-- ceilometer/storage/__init__.py | 79 +-- ceilometer/storage/base.py | 27 +- ceilometer/storage/hbase/utils.py | 4 +- ceilometer/storage/impl_db2.py | 419 ------------ ceilometer/storage/impl_hbase.py | 4 +- ceilometer/storage/impl_log.py | 2 +- ceilometer/storage/impl_mongodb.py | 145 ++-- ceilometer/storage/impl_sqlalchemy.py | 28 +- ceilometer/storage/mongo/utils.py | 11 +- ceilometer/storage/pymongo_base.py | 8 +- ceilometer/storage/sqlalchemy/models.py | 26 +- ceilometer/storage/sqlalchemy/utils.py | 2 +- .../api/v2/test_complex_query_scenarios.py | 3 - .../functional/api/v2/test_event_scenarios.py | 65 +- .../api/v2/test_list_resources_scenarios.py | 26 + .../functional/api/v2/test_statistics_scenarios.py | 8 +- .../gabbi/gabbits/api-events-no-data.yaml | 210 ++++++ .../gabbi/gabbits/api-events-with-data.yaml | 242 +++++++ .../gabbi/gabbits/api_events_no_data.yaml | 218 ------ .../gabbi/gabbits/api_events_with_data.yaml | 254 ------- .../gabbi/gabbits_prefix/api_events_with_data.yaml | 17 - .../functional/storage/test_impl_sqlalchemy.py | 9 +- .../functional/storage/test_storage_scenarios.py | 172 +++-- .../gabbi/gabbits-live/create_stack.json | 9 +- .../gabbi/gabbits-live/update_stack.json | 9 +- .../tempest/api/test_telemetry_notification_api.py | 2 +- .../test_object_storage_telemetry_middleware.py | 4 +- .../tempest/service/images/v1/images_client.py | 254 +++++++ .../tempest/service/images/v2/images_client.py | 245 +++++++ .../unit/compute/virt/libvirt/test_inspector.py | 108 ++- .../unit/compute/virt/xenapi/test_inspector.py | 67 +- .../unit/hardware/inspector/test_inspector.py | 2 - .../unit/ipmi/platform/test_intel_node_manager.py | 24 + .../network/statistics/opencontrail/test_driver.py | 30 +- .../network/statistics/opendaylight/test_driver.py | 1 - .../unit/network/statistics/test_statistics.py | 62 +- .../unit/publisher/test_kafka_broker_publisher.py | 24 +- .../unit/publisher/test_messaging_publisher.py | 78 ++- ceilometer/transformer/__init__.py | 11 +- ceilometer/transformer/accumulator.py | 4 +- ceilometer/transformer/arithmetic.py | 4 +- ceilometer/transformer/conversions.py | 18 +- ceilometer/utils.py | 52 +- devstack/README.rst | 10 + devstack/plugin.sh | 84 +-- devstack/settings | 8 +- devstack/upgrade/upgrade.sh | 4 +- etc/ceilometer/README-ceilometer.conf.txt | 4 - etc/ceilometer/event_definitions.yaml | 45 +- etc/ceilometer/event_pipeline.yaml | 1 - etc/ceilometer/gnocchi_resources.yaml | 13 + functions.sh | 29 - install-guide/source/conf.py | 304 +++++++++ .../cinder/install-cinder-obs.rst | 44 ++ .../cinder/install-cinder-rdo.rst | 44 ++ .../cinder/install-cinder-ubuntu.rst | 45 ++ .../glance/install-glance-obs.rst | 44 ++ .../glance/install-glance-rdo.rst | 44 ++ .../glance/install-glance-ubuntu.rst | 45 ++ .../nova/install-nova-common.rst | 82 +++ .../configure_services/nova/install-nova-obs.rst | 32 + .../configure_services/nova/install-nova-rdo.rst | 32 + .../nova/install-nova-ubuntu.rst | 31 + .../swift/install-swift-config-common.rst | 40 ++ .../configure_services/swift/install-swift-obs.rst | 31 + .../swift/install-swift-prereq-common.rst | 36 + .../configure_services/swift/install-swift-rdo.rst | 31 + .../swift/install-swift-ubuntu.rst | 31 + .../database/environment-nosql-database-obs.rst | 78 +++ .../database/environment-nosql-database-rdo.rst | 50 ++ .../database/environment-nosql-database-ubuntu.rst | 52 ++ install-guide/source/get_started.rst | 41 ++ install-guide/source/index.rst | 31 + .../source/install-base-config-common.rst | 76 +++ install-guide/source/install-base-obs.rst | 117 ++++ .../source/install-base-prereq-common.rst | 102 +++ install-guide/source/install-base-rdo.rst | 93 +++ install-guide/source/install-base-ubuntu.rst | 110 +++ install-guide/source/next-steps.rst | 9 + install-guide/source/verify.rst | 70 ++ pylintrc | 48 -- .../add-db-legacy-clean-tool-7b3e3714f414c448.yaml | 6 + ...d-full-snmpv3-usm-support-ab540c902fa89b9d.yaml | 5 + .../notes/add-magnum-event-4c75ed0bb268d19c.yaml | 5 + .../notes/always-requeue-7a2df9243987ab67.yaml | 15 + ...nfigurable-data-collector-e247aadbffb85243.yaml | 2 +- ...se_event_dispatcher_panko-607d558c86a90f17.yaml | 4 + ...ttp-dispatcher-verify-ssl-551d639f37849c6f.yaml | 11 + .../notes/kwapi_deprecated-c92b9e72c78365f0.yaml | 4 + .../memory-bandwidth-meter-f86cf01178573671.yaml | 5 + .../notes/perf-events-meter-b06c2a915c33bfaf.yaml | 6 + .../rename-ceilometer-dbsync-eb7a1fa503085528.yaml | 13 + .../single-thread-pipelines-f9e6ac4b062747fe.yaml | 11 + .../skip-duplicate-meter-def-0420164f6a95c50c.yaml | 2 +- ...ter-batch-recording-mongo-6c2bdf4fbb9764eb.yaml | 6 + ...-timestamp-of-polled-data-fbfcff43cd2d04bc.yaml | 7 + ...nce-v2-in-image-pollsters-137a315577d5dc4c.yaml | 8 + releasenotes/source/index.rst | 3 +- releasenotes/source/mitaka.rst | 6 + requirements.txt | 18 +- setup.cfg | 52 +- test-requirements.txt | 23 +- tools/lintstack.py | 202 ------ tools/lintstack.sh | 57 -- tools/make_test_data.py | 11 - tools/make_test_data.sh | 6 +- tools/make_test_event_data.py | 11 - tools/send_test_data.py | 2 +- tox.ini | 63 +- 343 files changed, 12410 insertions(+), 6671 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 15d199a..71d9ff0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,0 +5,4 @@ +cotyledon +futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD +futurist>=0.11.0 # Apache-2.0 +debtcollector>=1.2.0 # Apache-2.0 @@ -12,2 +15,0 @@ msgpack-python>=0.4.0 # Apache-2.0 -oslo.context>=0.2.0 # Apache-2.0 -oslo.db>=4.1.0 # Apache-2.0 @@ -15 +17,2 @@ oslo.concurrency>=3.5.0 # Apache-2.0 -oslo.config>=3.7.0 # Apache-2.0 +oslo.config>=3.9.0 # Apache-2.0 +oslo.db>=4.1.0 # Apache-2.0 @@ -21 +23,0 @@ oslo.rootwrap>=2.0.0 # Apache-2.0 -oslo.service>=1.0.0 # Apache-2.0 @@ -25 +27 @@ pecan>=1.0.0 # BSD -oslo.messaging>=4.0.0 # Apache-2.0 +oslo.messaging>=5.2.0 # Apache-2.0 @@ -30 +31,0 @@ pysnmp<5.0.0,>=4.2.3 # BSD -python-ceilometerclient>=2.2.1 # Apache-2.0 @@ -34 +35 @@ keystoneauth1>=2.1.0 # Apache-2.0 -python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0 +python-neutronclient>=4.2.0 # Apache-2.0 @@ -42 +43 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0 -stevedore>=1.5.0 # Apache-2.0 +stevedore>=1.9.0 # Apache-2.0 @@ -44 +44,0 @@ tooz>=1.28.0 # Apache-2.0 -Werkzeug>=0.7 # BSD License diff --git a/test-requirements.txt b/test-requirements.txt index 6ffbce0..422a4cb 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5,3 +4,0 @@ -# Hacking already pins down pep8, pyflakes and flake8 -hacking<0.11,>=0.10.0 -Babel>=1.3 # BSD @@ -10,3 +7,3 @@ coverage>=3.6 # Apache-2.0 -elasticsearch<2.0,>=1.3.0 # Apache-2.0 -fixtures>=1.3.1 # Apache-2.0/BSD -happybase!=0.7,>=0.5;python_version=='2.7' # MIT +elasticsearch>=1.3.0 # Apache-2.0 +fixtures<2.0,>=1.3.1 # Apache-2.0/BSD +happybase!=0.7,>=0.5,<1.0.0;python_version=='2.7' # MIT @@ -14 +10,0 @@ mock>=1.2 # BSD -PyMySQL>=0.6.2 # MIT License @@ -17,0 +14 @@ oslo.cache>=1.5.0 # Apache-2.0 +openstackdocstheme>=1.0.3 # Apache-2.0 @@ -19 +16 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -reno>=0.1.1 # Apache2 +reno>=1.6.2 # Apache2 @@ -22,5 +18,0 @@ oslo.vmware>=1.16.0 # Apache-2.0 -overtest>=0.10.0 # Apache-2.0 -psycopg2>=2.5 # LGPL/ZPL -pylint==1.4.5 # GNU GPL v2 -pymongo!=3.1,>=3.0.2 # Apache-2.0 -gnocchiclient>=2.1.0 # Apache-2.0 @@ -36 +28,2 @@ requests-aws>=0.1.4 # BSD License (3 clause) -tempest-lib>=0.14.0 # Apache-2.0 +os-testr>=0.4.1 # Apache-2.0 +tempest>=11.0.0 # Apache-2.0 @@ -37,0 +31,2 @@ WebTest>=2.0 # MIT +pifpaf>=0.0.11 +os-api-ref>=0.1.0 # Apache-2.0s