summaryrefslogtreecommitdiff
path: root/requirements.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add 'check_requirements' job to CIErno Kuvaja2023-05-051-1/+1
| | | | | | Drops tenacity cap to align with global requirements. Change-Id: Id3fbbc1844c0c94042c89544c10070176798263a
* Merge "Add response handlers to support different response types"Zuul2022-10-111-0/+1
|\
| * Add response handlers to support different response typesPedro Henrique2022-09-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem description =================== The dynamic pollsters only support APIs that produce JSON responses. Therefore the dynamic pollsters do not support APIs where the response is an XML or not Restful compliant APIs with HTTP 200 within a plain text message on errors. Proposal ======== To allow the dynamic pollsters to support other APIs response formats, we propose to add a response handling that supports multiple response types. It must be configurable in the dynamic pollsters YAML. The default continues to be JSON. Change-Id: I4886cefe06eccac2dc24adbc2fad2166bcbfdd2c
* | Remove GenericHardwareDeclarativePollsterTakashi Kajinami2022-07-011-1/+0
|/ | | | | | | | | ... and discovery/inspector plugins depending on the pollster. These were implemented to gather metrics via SNMP daemon in TripleO-managed deployment but these are no longer valid since Telemetry services and Nova were removed from undercloud. Change-Id: If9a6b695ba799c766314a88328ea8a779407acc0
* Drop lower-constraints.txt and its testingGhanshyam Mann2022-05-011-0/+4
| | | | | | | | | | | | | As discussed in TC PTG[1] and TC resolution[2], we are dropping the lower-constraints.txt file and its testing. We will keep lower bounds in the requirements.txt file but with a note that these are not tested lower bounds and we try our best to keep them updated. [1] https://etherpad.opendev.org/p/tc-zed-ptg#L326 [2] https://governance.openstack.org/tc/resolutions/20220414-drop-lower-constraints.html#proposal Change-Id: I817e5112eb57df2e6192d3cfa681b7768832c77a
* Update requirements and lower_constraintsMatthias Runge2021-10-121-5/+5
| | | | | | | Also add the lower-constraints test to a more prominent place in tox. Change-Id: Ida5a27ef2af8536b91df23eb9af9ed4bdedcce4b
* Merge "Ceilometer compute `retry_on_disconnect` using `no-wait`"Zuul2021-06-301-1/+1
|\
| * Ceilometer compute `retry_on_disconnect` using `no-wait`Rafael Weingärtner2021-05-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was discovered a problem on a production setup of Ceilometer compute with metrics stopping to be gathered. While troubleshooting, we found the following error message. ``` ERROR ceilometer.polling.manager [-] Prevent pollster cpu from polling ``` That error message happened after the following message: ``` WARNING ceilometer.compute.pollsters [-] Cannot inspect data of CPUPollster for <UUID>, non-fatal reason: Failed to inspect instance <UUID> stats, can not get info from libvirt: Unable to read from monitor: Connection reset by peer: NoDataException: Failed to inspect instance <UUID> stats, can not get info from libvirt: Unable to read from monitor: Connection reset by peer ``` The instance was running just fine in the host. It seems a concurrency issue with some other process that made the instance locked/unavailable to ceilometer computer pollsters. Ceilometer was unable to connect to Libvirt (after 2 retries), and the code is designed to prevent Ceilometer from continuing trying. Therefore, the "CPU" metric pollster was put in permanent error. To fix the issue, We needed to restart Ceilometer in the affected hosts. However, until we discovered this issue, we lost the amount 3 days of data. ``` @libvirt_utils.raise_nodata_if_unsupported @libvirt_utils.retry_on_disconnect def inspect_instance(self, instance, duration=None): domain = self._get_domain_not_shut_off_or_raise(instance) ``` It will try to retrieve the domain (VM) object (XML description) via libvirt. If it fails, it will retry via `@libvirt_utils.retry_on_disconnect`; if that fails, it marks the metric in permanent error with the annotation: `@libvirt_utils.raise_nodata_if_unsupported`. Other metrics continued working. Therefore, I investigated a bit deeper, and the problem seems to be here: ``` retry_on_disconnect = tenacity.retry( retry=tenacity.retry_if_exception(is_disconnection_exception), stop=tenacity.stop_after_attempt(2)) ``` The `retry_on_disconnect` annotation is not configuring the "tenacity" retry library wait. The default is "no wait". Therefore, the retries have a bigger chance of being affected by very minor instabilities (microseconds connection issues can generate a problem with this configuration). One alternative to avoid such problems in the future is to use a wait configuration such as the one being proposed. Then, ceilometer computer pollsters would wait/sleep before retrying, which would provide some time for the system to be available for the compute pollsters. In this proposal, we would wait 2^x * 3 seconds between each retry starting with 1 second, then up to 60 seconds. Change-Id: I9a2d46f870dc2d2791a7763177773dc0cf8aed9d
* | Merge "Remove Xen support"Zuul2021-06-021-1/+0
|\ \
| * | Remove Xen supportTakashi Kajinami2021-05-051-1/+0
| |/ | | | | | | | | | | | | | | | | This change removes the Xen support which was deprecared during the previous cycle[1]. [1] fd0a561bea956f1b62f6ca5a27e762cb76ad9a90 Change-Id: If1675468095cbc1b9c065edb6b086e7f4afa2f3e
* | remove requires on monotonicJon Schlueter2021-05-271-1/+0
|/ | | | | | | | | | monotonic dependency was removed when switching to python3. The requires on it is not needed. It was previously limited to python < 3.3 but that limit got lost. There is no current usage in the code importing monotonic. https: //review.opendev.org/c/openstack/ceilometer/+/676706 Change-Id: I182dd641893eea7226a5e3afc17132ac973b516b
* Use tox constraints instead of upper constraintsMatthias Runge2021-04-261-1/+1
| | | | | | | | | | | Drop cap on tenacity, since it is already capped by upper constraints. Make grenade jobs non-voting, until they have been fixed. Depends-on: https://review.opendev.org/c/openstack/telemetry-tempest-plugin/+/787739 Change-Id: Ie21f8db89fc2045fd6cc6b1b7a5886b7e87e08e2
* Cap tenacity < 7.0.0Matthias Runge2021-03-221-1/+1
| | | | | | | https://github.com/jd/tenacity/pull/274/files removed code which was still in use. Change-Id: I8ac6684d9f03a48cc5dd3d712cbd2868b34e1013
* Replace six with python3 code stylekuangcx2021-01-131-2/+1
| | | | | | Co-authored by: Matthias Runge <mrunge@redhat.com> Change-Id: I85a4d79396874670f1b36cb91cfba5da812c2839
* Fix lower-constraints jobMatthias Runge2020-12-141-8/+9
| | | | Change-Id: I5a7c087b29f3b0d7d9f63c2a774b8f2aff35b7a3
* [goal] Migrate tox based testing to ubuntu focalGhanshyam Mann2020-09-101-4/+4
| | | | | | | | | | | | | | | As per victoria cycle testing runtime and community goal[1] we need to migrate upstream CI/CD to Ubuntu Focal(20.04). Fixing: - bug#1886298 Bump the lower constraints for required deps which added python3.8 support in their later version. Story: #2007865 Task: #40223 Change-Id: I1f8577e560fd3ffad0c3b6edfc4c74dddedfa719
* Cleanup py27 supportzhurong2020-04-111-1/+0
| | | | | | | | | | | | | | Make a few cleanups: - Remove python 2.7 stanza from setup.py - Add requires on python >= 3.6 to setup.cfg so that pypi and pip know about the requirement - Remove obsolete sections from setup.cfg: * Wheel is not needed for python 3 only repo * Some other sections are obsolete - Update classifiers - Update requirements, no need for python_version anymore Change-Id: I93294c42a967ca19b9b04ead9cd636b52f1cc038
* [ussuri][goal] Drop python 2.7 support and testingGhanshyam Mann2019-11-261-1/+0
| | | | | | | | | | | | | | | | | | OpenStack is dropping the py2.7 support in ussuri cycle. ceilometer is ready with python 3 and ok to drop the python 2.7 support. Complete discussion & schedule can be found in - http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html - https://etherpad.openstack.org/p/drop-python2-support Ussuri Communtiy-wide goal: https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html Depends-On: https://review.opendev.org/#/c/693631/ Change-Id: Ie8523712ea2ebe828fe01a649b6add90e813608b
* Merge "publisher: Contribute the Monasca publisher"Zuul2019-11-011-0/+1
|\
| * publisher: Contribute the Monasca publisherJoseph Davis2019-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ceilosca (monasca-ceilometer) publisher has been around since before the Mitaka release and has been used in production for years. The MonascaPublisher acts as another Ceilometer publisher and sends selected metrics on to the Monasca API for storage, aggregation, alarming, etc. Once metrics are in Monasca, they may be retrieved through the Monasca API or with the python-monascaclient. This Ceilosca functionality is a key component for metering in several distributions and is used in many customer installations. With the removal of the Ceilometer v2 API (which allowed the removal of the Ceilosca storage driver, shrinking the Ceilosca code base) and continuing changes to Ceilometer, a tighter integration with the ceilometer repo may be beneficial to keep both Monasca and Telemetry in sync. Change-Id: I2cbce160503e23dfbde375722a3bd100ec86494e Story: 2001239 Task: 5769
* | Only install monotonic on python2Jon Schlueter2019-08-231-1/+1
|/ | | | | | | | monotonic is a backport of time.monotonic from python3. Only install it for python2. Depends-On: https://review.openstack.org/615441 Change-Id: Id27cd748e883d54dd93dac2e6bd8caee6728f7e1
* Add framework for ceilometer-status upgrade checkakhiljain232019-05-161-0/+1
| | | | | | | | | | | This commit adds the functionality of ceilometer-status CLI for performing upgrade checks as part of the Stein cycle upgrade-checkers goal. It only includes a sample check which must be replaced by real checks in future. Change-Id: I6e76b74b2f02251ee39025e02de44b13568ebed2 Story: 2003657 Task: 27732
* Switch to oslo privsepzhurong2019-04-281-0/+1
| | | | | | | Please reference here: https://docs.openstack.org/oslo.privsep/latest/user/index.html#converting-from-rootwrap-to-privsep Change-Id: I5db0e64ec38d912f907b4ad483562120d030d726
* Add lower-constraints jobzhurong2019-04-251-27/+27
| | | | Change-Id: Ib2524bbdcba4a50b3119a59e0879636399c5c89f
* Fix install_command in tox.iniZhongShengping2019-04-221-0/+3
| | | | | Co-Authored-By: zhurong <aaronzhu1121@gmail.com> Change-Id: Ib727161e05e1a837c5a1a0a968b2488ec9815eca
* Skip oslo.messaging 9.0.0 releaseElod Illes2018-10-091-1/+1
| | | | | | | | | | With oslo.messaging 9.0.0 the ceilometer tests are failing. A fix [1] in oslo.messaging already proposed and merged, but a release is needed for the ceilometer tests to pass. [1] https://review.openstack.org/#/c/608196/ Change-Id: Ia90e4fb28c42467a9090d53742b5acc9d4841aaa
* event: remove deprecated methodJulien Danjou2018-09-181-1/+0
| | | | Change-Id: Iadda5e51d61c44c4dd11d7fc82bc7938f74baa5c
* Add support for Python 3.7Julien Danjou2018-07-181-1/+0
| | | | Change-Id: I3b880cbf1de13d61d557cde2be70a1efe07761ba
* publisher: allow to not inherit from ConfigPublisherBaseMehdi Abaakouk2018-07-171-0/+1
| | | | Change-Id: I9bb2f392bcdd5d920a8f0db883766e5439d7de73
* Use msgpack instead of msgpack-pythonThomas Bechtold2018-02-081-1/+1
| | | | | | | | | | | | msgpack-python got renamed to msgpack (see https://pypi.python.org/pypi/msgpack-python/0.5.1) and msgpack-python is deprecated now. This is important because other requirements already switched to msgpack (eg. oslo.serialization) and installing both in parallel is not possible for Distros. Change-Id: I603eadbc2a5e1705375050920d5f1631c51a5a02 Closes-Bug: #1743445
* Replace ujson with jsonJames Page2018-01-031-1/+0
| | | | | | | | ujson has not had any active maintenance for the last 12 months; switch to using json module instead. Change-Id: I39027b534e94b3f877d881647a7c843183f60f92 Closes-Bug: 1737989
* remove kafka and keystonemiddleware reqsgord chung2017-10-301-2/+0
| | | | | | | - no more api - no more kafka publisher (use oslo.messaging) Change-Id: I21794db25b624049df21d076ebe3be88fcd9d95a
* Replace jsonutils by ujsonJulien Danjou2017-10-261-1/+1
| | | | | | | | | ujson is faster than jsonutils, and we do not need any fancy feature jsonutils might offer. This also has the benefit of removing a big dependency on Ceilometer. Change-Id: I24bf08d0fa6ccc34beef0a0c34a47bf2fa266e3e
* Remove deprecated storage driversJulien Danjou2017-10-261-3/+0
| | | | Change-Id: I6b262dd440a72f25662b64d938ab9e5328709a97
* Remove Ceilometer APIJulien Danjou2017-10-251-10/+0
| | | | | | This removes the deprecated Ceilometer API. Change-Id: I752b36b3dfe8f935b68c4d3d59ccb5b8b60c582f
* High precision rate of change timedeltaMehdi Abaakouk2017-07-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The current way to calculate rate of change is not precise at all and depends on the local host clock. So, we have good chance that the host clock derive a bit between each polling. Also the timestamp is polling cycle run and not the exact polled sample. This makes the rate of change transformer not accurate, and maybe wrong if the local clock have jumped to much or if a pollster make to much time to get the stats (libvirt reconnection, ...). A sample gets a new attribute monotonic_time, where we can store an accurate polling time using monotonic.monotonic(). In rate of change transformer, if the monotonic time is available we use to calculate the time delta between samples. For instance metrics, we set monotonic_time as soon as we poll it from libvirt, avoiding almost all precision issue. That makes the rate of change precise to the nanoseconds for polled samples, while keeping the timestamp identical for all samples polled during one cycle. Related-bug: #1527620 Change-Id: I40e14fb6aa595a86df9767be5758f52b7ceafc8f
* XenAPI: use os-xenapi for XenAPI driverHuan Xie2017-05-101-0/+1
| | | | | | | | | os-xenapi contains all XenServer dom0 plugins and provide utility tools for communicating to XenServer dom0 plugins, currently both nova and neutron projects are using os-xenapi. This patch is to change ceilometer to use os-xenapi too. Change-Id: I14819fd57305edb0f4337af88e56ed6b980d7da8
* Remove upper constraint on sqlalchemyalextricity252017-05-021-1/+1
| | | | | | | | | To comply with the upper-constraints defined in OpenStack Requirements, the upper constraint for sqlalchemy has been removed Change-Id: Icb48c61b9022216a9593cdf20bb6166cb742fe56 Closes-Bug: #1687641
* Merge "Use HostAddressOpt for opts that accept IP and hostnames"Jenkins2017-03-231-1/+1
|\
| * Use HostAddressOpt for opts that accept IP and hostnamesblue552017-03-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some configuration options were accepting both IP addresses and hostnames. Since there was no specific OSLO opt type to support this, we were using "StrOpt". The change [1] that added support for "HostAddressOpt" type was merged in Ocata and became available for use with oslo version 3.22. This patch changes the opt type of configuration options to use this more relevant opt type - HostAddressOpt. [1] I77bdb64b7e6e56ce761d76696bc4448a9bd325eb Change-Id: I2463fc873bb149cafa802f5743d5f482f25552fc
* | Merge "coordination: create coordinator at init time"Jenkins2017-03-201-1/+1
|\ \
| * | coordination: create coordinator at init timeJulien Danjou2017-03-171-1/+1
| | | | | | | | | | | | | | | | | | | | | This also switches the coordination to zake:// in test so the code actually works like it would with a production-ready coordinator. Change-Id: I38f6a3389f70bed6b45fa7526a13d0484bfc9c3f
* | | Remove second tenacity in requirementsEric Berglund2017-03-171-1/+0
|/ / | | | | | | | | | | | | | | tenacity is defined twice in requirements.txt for ceilometer. This removes the definition with the lower requirement. Change-Id: I9c94c4950e81223a73e0514e03697cdca562c28d Closes-Bug: #1673798
* | libvirt: rewrite the error handlingMehdi Abaakouk2017-03-161-0/+1
|/ | | | | | | | | | | | | | Error handling of libvirt driver work 'sometimes'. Some error are catched only with we lookup for a instance uuid, but not for other libvirt operation. This change rewrites the logic to catch libvirt error on each inpector method. This ensures we catch all errors whatever which libvirt method raises it. We also leverage tenacity instead of the custom retry code. Change-Id: Idd54c18ece42c2dce3baf82626d30d5c2e5a49d6
* Bump kafka-python and oslo.messagingDarren Hague2017-03-101-2/+2
| | | | | | | | kafka-python is bumped to 1.3.2 in order to support Kafka 0.10.x oslo.messaging is bumped to 5.12.0 in order to support kafka-python (there is a changed parameter name that causes a stacktrace otherwise) Change-Id: I630b999a050d7186d8c5fb38a24034a7f063c24b
* use tooz hashringgord chung2017-03-031-1/+1
| | | | | | | tooz provides hashring functionality so let's avoid duplicating it since we already use tooz Change-Id: Id40e4836c5690d252ba0830f6173587f8d5d470c
* Don't poll nova with compute agentMehdi Abaakouk2017-01-091-0/+1
| | | | | | | | | This change introduces a new method to get instances metadata on the ceilometer-compute-agent. This switches devstack/gate to libvirt_metadata for gnocchi Change-Id: Ice1918659be49589a45d7a406044adc0a187aa27
* Bump minimal version of cotyledonAlfredo Moralejo2016-12-011-1/+1
| | | | | | | | https://review.openstack.org/#/c/387193/ introduced import of cotyledon.oslo_config_glue wich was introduced in release 1.3.0, so we should require at least this version. Change-Id: Icd8cd0e36266d824f3a0233106781739f7c36f4b
* Replace retrying with tenacitygord chung2016-11-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We are replacing all usages of the 'retrying' package with 'tenacity' as the author of retrying is not actively maintaining the project. Tenacity is a fork of retrying, but has improved the interface and extensibility (see [1] for more details). Our end goal here is removing the retrying package from our requirements. Tenacity provides the same functionality as retrying, but has the following major differences to account for: - tenacity uses seconds rather than ms as retrying did. - tenacity has different kwargs for the decorator and Retrying class itself. - tenacity has a different approach for retrying args by using classes for its stop/wait/retry kwargs. - By default tenacity raises a RetryError if a retried callable times out; retrying raises the last exception from the callable. Tenacity provides backwards compatibility here by offering the 'reraise' kwarg. - tenacity defines 'time.sleep' as a default value for a kwarg. That said consumers who need to mock patch time.sleep need to account for this via mocking of time.sleep before tenacity is imported. This patch updates all usages of retrying with tenacity. Unit tests will be added where applicable. Note: This change is not newton critical so projects are welcome to hold off on committing until post-newton. Ideally this change will merge by the first part of Ocata so dependant functionality can land and have time to solidify for Ocata. [1] https://github.com/jd/tenacity Closes-Bug: #1635394 Change-Id: I0ad7deee3f17f6626708369371167184a40e6368
* Add support of metering volume related resourcesliusheng2016-11-101-0/+1
| | | | | | | This change add the support of metering size of volume/snapshot/backup. Blueprint add-support-of-metering-volume-related-resources Change-Id: I9c6ec1e79c267255e7839d70324726e56bc6d768