fix: change tox.ini
fix: change queries for list_dimension_names and list_dimension_values because of influxdb time filter problem
fix: remove build_sphinx group from setup.cfg
fix: handle hashlib security problem
Change-Id: I0d31a8db5ed71c70e7b878ce5e7940e041d0fa43
Change-Id: I6f7066da10e834550cbf0c053c7bf425ac0ead93
Change-Id: If9575aee73d600bbc84fcdf58deb1c57b508d9c2
Change-Id: If515eaeee7539da3ca49997e88785dc65572b334
Replace removed Binary with LargeBinary import
Remove reflect=True from Alembic MetaData
Replace removed idle_timeout with connection_recycle_time option
- Binary was removed in SQLAlchemy 1.4.x [1]
- SQLAlchemy was updated to 1.4.15 in u-c [2]
- idle_timeout was removed in oslo.db 10.0.0 [3]
- oslo.db was updated to 10.0.0 in u-c [4]
- idle_timeout was already deprecated and renamed as
connection_recycle_time [5]
[1] https://github.com/sqlalchemy/sqlalchemy/issues/6263#issuecomment-819645247
[2] dc86260b28
[3] a857b83c9c
[4] f322cc13d8
[5] 6634218415
Change-Id: I13ec9c2b53174cfb2e3cb990ec773588cf68007c
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:
1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.
2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.
Also replace policy.json to policy.yaml ref from doc and tests.
[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html
Change-Id: Ibfb162f88cb04c0b2af3fbf41cfcd96bc7e351be
- Add a checker of version using the method ping()
if it failes, maybe because of an old version,
the flow will try with SHOW DIAGNOSTICS.
- Keep the timestamp output to 3 decimal digits as
it is working currently, independently of the version
of Influx Python Client (v5.2.3 or v5.3.1).
- Remove the support for Influxdb (the database)
older than v0.11.0
- Unittests: Adding data to handle more than 3 decimal
digits in timestamp, updating the tests to use mocks
for Influxdb from_0.11.0, creating the mocks with
from_0.11.0 explicitly.
- This change fixes monasca-tempest-python3-influxdb
Zuul job.
Change-Id: I5f8e6d2f0b56813f54fe025f91996b9d6863eadc
Story: 2007624
Task: 39658
The change updates the imports to use simplejson library and
monasca_api.common.rest instead of monasca_common.rest, since
it was moved to this project during the API's merge.
Temporarily set following jobs as non-voting:
* monasca-tempest-python3-influxdb
* build-monasca-docker-image
* publish-monasca-api-docker-image
Change-Id: Ife3d2c9795a9dc406c2927cc9a077dda01c183c6
Story: 2007549
Task: 39389
The change sets queue.buffering.max.messages configuration option for
Kafka producer effectively limiting the number of messages in the buffer
before sending them to Apache Kafka.
Depends-On: https://review.opendev.org/694738
Change-Id: I6ebd4e21e9d55d1ac836e92dd8bf02a678170c68
Story: 2006059
Task: 37532
This change solves the issue when: after removing the deterministic option
of an alarm definition by editing it, the alarm(s) asociated continue(s)
to behave as deterministic. Please see the story for more info.
Added Unittest.
Change-Id: I7743f2d2b8cd7c83541f77c7821f9512fb8abc36
story: 2006750
task: 37233
At present, all time series are accumulated in the same database in
InfluxDB. This makes queries slow for tenants that have less data. This
patch enables the option to use separate database per tenancy.
This changeset implements the changes on monasca-api which handles read
requests to InfluxDB database.
It also updates the relevant docs providing link to the migration tool
which enables users to migrate their existing data to a database per
tenant model.
Change-Id: I7de6e0faf069b889d3953583b29a876c3d82c62c
Story: 2006331
Task: 36073
At present, dimensions are not scoped by time window, which makes
dimension related queries to large databases timeout because it searches
all of time instead of a time window specified on the grafana app.
This commit implements the server side changes required to scope the
search query by the time window specified on the app.
Change-Id: Ia760c6789ac0063b8a25e52c9e0c3cc3b790ad2d
Story: 2005204
Task: 35790
The change introduces the possibility to run the API with the new
confluent-kafka client. It has to be enabled in the configuration file.
Story: 2003705
Task: 35859
Depends-On: https://review.opendev.org/680653
Change-Id: Id513e01c60ea584548c954a8d2e61b9510eee8de
This change copies the code from monasca-common used by the 3
monasca APIs into monasca-api for the Merge-APIs target.
After mergin the APIs the duplicated code can be removed from
monasca-common.
Change-Id: I52d36fad846637baf10516f5cbbedc541d4c2064
Story: 2003881
Task: 30427
In Train, we will use python 3.6 and 3.7 for python3 runtime
in our gate jobs [1]. This commit also adds python 3.7.
In Python3.7 async is a reserved keyword so replacing it with is_async.
[1] https://governance.openstack.org/tc/reference/runtimes/train.html
Change-Id: I05f40c4a9304cad551cefd4f10c3ba9a72d69a6f
This commit updates hacking version in test-requirements and
fixes some related pep8 issues
Change-Id: I67d85eb5bef72c38cc5360b5625d6b1c37adb40f
Story: 2004930
Task: 29315
Creating a cassandra connection can be limited by connection_timeout option.
Story: 2005450
Task: 30502
Change-Id: I8803e28fe8c2c11e819be44db4ef93cb19b47a1d
* Brings alarms count endpoint to parity with the alarms list endpoint
* Brings alarms count endpoint to parity with the alarms counnt endpoint
in the depricated java api
* Allow metric_dimensions filter to filter on multiple dimension values:
metric_dimensions=dns|compute|nova
Change-Id: I46ca0e6a6da46cb850af44768de237e41a43484a
Story: 2005311
Task: 30216
It is possible for a row in Cassandra to have a missing metric_id
(shows as 'null' in cqlsh). This causes an ugly NoneType error
to be passed up to the user on the command line for
'monaca metric-list'.
Fix is to detect the missing value, log an error, and return the
row with None for the metric_id.
Change-Id: Ie617932c6b12a6cfe441510e120bb77a3470b9cf
Story: 2005305
Task: 30194
It is impossible to execute this code because
old_sub_alarm_defs_by_id value is always empty dict.
Change-Id: Id0ae84c4bc96a18185db1e825cd11c7d2e88d2b1
We've been seeing warnings emitted to the python 3 unit tests:
OsloDBDeprecationWarning: EngineFacade is deprecated; please use
oslo_db.sqlalchemy.enginefacade
which stem from our use of the get_legacy_facade() oslo.db method.
This replaces the get_legacy_facade() usage with the get_engine()
method from the transaction context manager.
The same has been done for Nova:
https://review.openstack.org/#/c/606213
Change-Id: I83394d79280c3e22469551f17356d057a26230c4
*future* library is not listed in global-requirements and should not be
used. This commit removes all its occurences and replaces with
oslo_utils.encodeutils module.
Change-Id: I5d0795a1a894c103422f7d63f5d76b29ea6d15a4
Story: 2003193
Task: 23360
This commit adds
* An alembic environment for running database migrations
* Alembic database migrations for all revisions
of the legacy SQL script currently being used to set up the
Monasca database.
* The get_all_metadata() function for exposing full data model
metadata. This function is needed generating migrations from
the current state of the model and should be kept up to date
as the model is being extended.
Change-Id: I41b4577d8334791f712177348cadfe9b07b62ef1
Story: 2001654
Task: 14339
* Python 3 dict.values() returns iterator, must be converted to list
* use `u` prefix for unicode literals
* use builtins.str for handling unicode
* use oslo_serialisation for loading JSON objects
Can be tested with:
tox -e py35 -- -r monasca_api.tests.test_alarms.*
Story: 2001400
Task: 12580
Change-Id: I0cc7018f7d5efedb4937922b6daa2fb59b3d645c
* Update max line length to 100
* Clean up code for pep8 checks
Change-Id: Ibde2939831e6eeaab3db66fbc18255c71592bb41
Signed-off-by: Jui Chandwaskar <jchandwaskar@op5.com>
This reverts commit 8781a256f0.
Since this only implements part of the silence / group / inhibit
feature, reverting until the rest is ready to go
Change-Id: Ied34507feb5d3580960c918254f905ab90d9691e
Add the support to configure user and password in monasca api and enforce
the authetification when connecting to cassandra db when the user and
password is set.
Change-Id: I9e6689e0e8e6e97d5cff3a59aecb53483ec320bd
story: 2001471
task: 6191