- 12 Aug, 2022 1 commit
-
-
Pierre Riteau authored
This mutator can map arbitrary values to new values. This is useful with metrics reporting resource status as their value, but multiple statuses are billable. Change-Id: I8fcb9f2aa4ef23432089bfd6351a9c03ce3cf941
-
- 08 Aug, 2022 1 commit
-
-
Ning Yao authored
Based on [1], the response for v2 dataframes is {"total": 3}. However, for Elasticsearch search response [2], the "hits.total" in the response body is {"value": 3, "relation": "eq"}, which does not match the API response schema. [1]: https://docs.openstack.org/cloudkitty/latest/api-reference/v2/index.html?expanded=get-dataframes-from-the-storage-backend-detail#response-example [2]: https://www.elastic.co/guide/en/elasticsearch/reference/8.3/search-your-data.html Story: 2010219 Task: 45967 Change-Id: Ie2c8fd1b146138efc085d7c844afd27b7e10f3f3 Co-Authored-By:Rafael Weingärtner <rafael@apache.org> Signed-off-by:
Ning Yao <yaoning@unitedstack.com>
-
- 08 Jul, 2022 1 commit
-
-
Zuul authored
-
- 26 Jun, 2022 1 commit
-
-
Takashi Kajinami authored
It was deprecated in favor of assertRaisesRegex added in Python 3.2. We can replace it now because Python 2 is no longer supported. Change-Id: I4cec6e44d48bcee9808bfd647f3a45cd8b1e2f11
-
- 13 Jun, 2022 3 commits
-
-
Zuul authored
-
Rafael Weingärtner authored
Currently, CloudKitty only allows creating rating rules as "99.999999999999999999999999". Therefore, for prices equal to or higher than 100, we would not be able to use them. This patch will enable operators to use any value between 0 and 999999999999 (in the integer part of the number), which will provide more flexibility. Change-Id: I2ff4a09ce3b0fdf0b08a7e565b58794b25ac5ade Story: 2009947 Task: 44865
-
Zuul authored
-
- 03 Jun, 2022 1 commit
-
-
Rafael Weingärtner authored
This commit adds an API enabling the POST operation to create scopes in an ad hoc fashion. This is useful for operators to register scopes before they are created as resources in the collected backend so their processing can be discarded right away, for example for trial projects/accounts. Otherwise, we need to wait for them to create resources, then for example Ceilometer has to monitor these resources, persist measures in Gnocchi, then CloudKitty has to discover the scopes and finally we can disable their processing. Change-Id: I3e947d36c9d5d5da07115d35dde578ae300cbe5c
-
- 01 Jun, 2022 6 commits
-
-
Zuul authored
-
Zuul authored
-
Zuul authored
-
Ghanshyam Mann authored
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: I775420251d6e47f60c4a266b4013be84a52378da
-
Pierre Riteau authored
Per [1]. [1] http://lists.zuul-ci.org/pipermail/zuul-discuss/2022-May/001801.html Change-Id: I95f2ff931ff987a288d3db40606f7ab28fe7fe64
-
Zuul authored
-
- 31 May, 2022 1 commit
-
-
Pierre Riteau authored
The voluptuous.Coerce validator expects a type, not a function. Use tzutils.dt_from_iso directly instead, since voluptuous.Schema accepts callables. Change-Id: Ibe01ac289f00f24fa35ad2416fa2a93d8d6f57a6 Story: 2010058 Task: 45502
-
- 21 Mar, 2022 1 commit
-
-
Quentin Anglade authored
This introduces GET methods for rating modules in the v2 API. Work items: * Implement the "/v1/rating/modules" endpoints in the v2 API, including unit tests and documentation Story: 2006572 Task: 36677 Co-Authored-By:Rafael Weingärtner <rafael@apache.org> Change-Id: I0a2f24051d268a396955c8df7e3e5615546f6293
-
- 10 Mar, 2022 1 commit
-
-
Sam Morrison authored
Change-Id: I01cd9689fdf5730dfee08aaacbea8c107bf625a3
-
- 08 Mar, 2022 2 commits
-
-
OpenStack Release Bot authored
This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for zed. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: I546ef7e492cf586684ea224604ce4d84d1d639c1
-
OpenStack Release Bot authored
Add file to the reno documentation build to show release notes for stable/yoga. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/yoga. Sem-Ver: feature Change-Id: Ia87591bf9eec5462f6f153003f11328cb77e95cc
-
- 25 Feb, 2022 3 commits
-
-
Zuul authored
-
Sam Morrison authored
oslo.policy expects the key project_id, not tenant_id anymore. This was causing the GET /v2/dataframes policy check to fail: $ openstack --rating-api-version 2 rating dataframes get {"message": "You are not authorized to perform this action"} (HTTP 403) In the v1 API, the storage:list_data_frames operation was not affected because it uses project_id. Change-Id: Ie4aa6a21e3829223aab0f91d809e311e0f0318cb Story: 2009879 Task: 44618 -
Rafael Weingärtner authored
Depends-on: https://review.opendev.org/c/openstack/cloudkitty/+/777442 Depends-on: https://review.opendev.org/c/openstack/requirements/+/799315 Implements: https://review.opendev.org/c/openstack/cloudkitty-specs/+/791245 Change-Id: Idb0032eba17d83409344ab58153097ac70814e86
-
- 22 Feb, 2022 1 commit
-
-
Pierre Riteau authored
As described in the Prometheus HTTP API documentation [1], the JSON response to a Prometheus query includes a status field, which was ignored by CloudKitty. If it is set to "error", raise a CollectError exception to log the error type and details. For example, a query with a metric name containing a dot will produce the following error: cloudkitty.collector.exceptions.CollectError: bad_data: invalid parameter "query": 1:25: parse error: unexpected character: '.' [1] https://prometheus.io/docs/prometheus/latest/querying/api/ Change-Id: I0c2892a39ec50163de251b38d34493db6a22c858 Story: 2009869 Task: 44564
-
- 21 Feb, 2022 2 commits
-
-
Zuul authored
-
Adam Aquesbi authored
Put the futurist.ExecutorStatistic.average_runtime method in a try/except block, catching the ZeroDivisionError exception when no executions have occured Change-Id: Id25051bf2097c108cc79fd587cf549a2adfe15d5 Story: 2006672 Task: 36940 Co-Authored-By:Rafael Weingärtner <rafael@apache.org>
-
- 18 Feb, 2022 1 commit
-
-
Takashi Kajinami authored
- coordination_url is not driver URL but backend URL. Driver is determined according to the backend. - The parameter description should not use abbreviations, as these can confuse users. Change-Id: I16eb47e161ae826393d113082091c292d097fc03
-
- 07 Feb, 2022 1 commit
-
-
Pierre Riteau authored
Change-Id: I4a8e7c63c6f8df2fee40de324c9970e00d23c48b
-
- 10 Jan, 2022 2 commits
-
-
Zuul authored
-
Pierre Riteau authored
This commit adds support for adding optional prefix and/or suffix to Prometheus queries. For example, this can be used to perform vector matches between the collected metric and another one, to gather additional metadata. Change-Id: I725f0f5ad00b67f55bcacaf8447e050af3815c73
-
- 28 Dec, 2021 1 commit
-
-
Zuul authored
-
- 14 Dec, 2021 1 commit
-
-
Ghanshyam Mann authored
Yoga testing runtime[1] has been updated to add py39 testing as voting. Unit tests update are handled by the job template change in openstack-zuul-job - https://review.opendev.org/c/openstack/openstack-zuul-jobs/+/820286 this commit updates the classifier in setup.cfg file. [1] https://governance.openstack.org/tc/reference/runtimes/yoga.html Change-Id: Ia3ad0dc42445548d17b83397288042ae33961da3
-
- 13 Dec, 2021 5 commits
-
-
Zuul authored
-
Zuul authored
-
Zuul authored
-
Rafael Weingärtner authored
The quote API method has been broken for a while now. This patch fixes the API and makes it work again. To use it, one can issue the following command. curl -s -X POST "http://cloudkitty_server_and_port/v1/rating/quote" -H "Accept: application/json" -H "User-Agent: python-keystoneclient" -H "Content-Type: application/json" -H "X-Auth-Token: ${ACCESS_TOKEN_KEYSTONE}" -d '{"resources": [{"service": "<cloudkitty_service_name>", "volume": "<quantity_to_quote>", "desc": {"metadata": {"<field_name_used_to_define_price>": "<value_to_activate_a_price>"}}}]}' Change-Id: Ia6ef6543a5100445b203196d39b404bc74b75ba0 Story: 2009022 Task: 42744 -
Rafael Weingärtner authored
The goal of this patch is to introduce support for multi-valued parameters. For instance, for the `type` parameter, even though the code was treating it as a possible list of types, the API would not allow a user to send multiple types. This patch enables users to send filters with multiple values, which can be useful for filtering by project_ids for instance, or different types (metric types). Change-Id: I59397b33d014709eb976c78d517f009b8a2be4cf
-
- 10 Dec, 2021 1 commit
-
-
Pierre Riteau authored
Change-Id: If025c95e9bdf3b8d3abbe01c3c28ba505a390410
-
- 02 Dec, 2021 1 commit
-
-
Rafael Weingärtner authored
The V2 summary endpoint uses a quite unconventional data format in the response. Currently, the format is the following: ``` {"total": <number of elements in the response>, "results": [array of arrays of data], "columns": [array of columns]} ``` To process this, we need to find the index of a column in the column list, and with this index, we retrieve the data in the array of data that is found in the array of results. The proposal is to use the following format in the response. ``` {"total": <number of elements in the response>, "results": [array of objects/dictionary]} ``` With this new format, one does not need to consult the index of a column to retrieve data in one of the entries. We would only need to retrieve the data in the entry using its column name. Therefore, the coding feels more natural. To maintain compatibility, this new format would be only applied when an option is sent to CloudKitty via `response_format` option. Depends-on: https://review.opendev.org/c/openstack/cloudkitty/+/793973 Change-Id: I5869d527e6e4655c653b6852d6fb7bebc9d71520
-
- 29 Nov, 2021 2 commits
-
-
guest authored
This patch adds two options in fetcher_keystone to filter which tenants should be rated: ignore_disabled_tenants (Default=False) ignore_rating_role (Default=False) In our case we currently have 2k projects (growing) and we want to rate all active projects, so checking the role rating is useless and consumes resources for nothing. Besides, cloudkitty rates projects regardless if there are enabled or disabled which is also useless and consumes resources in our case. Change-Id: I6479d76c367dc4217bce4de9c3db41c4612f0397
-
Zuul authored
-