[Bug 1946793] Fix included in openstack/aodh victoria-eom
OpenStack Infra
1946793 at bugs.launchpad.net
Tue Mar 26 17:27:37 UTC 2024
This issue was fixed in the openstack/aodh victoria-eom release.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/1946793
Title:
aodh uses deprecated gnocchi api to aggregate metrics and doesn't work
properly
Status in Aodh:
Fix Released
Status in Ubuntu Cloud Archive:
Fix Released
Status in Ubuntu Cloud Archive wallaby series:
Fix Released
Status in Ubuntu Cloud Archive xena series:
Fix Released
Status in Ubuntu Cloud Archive yoga series:
Fix Released
Status in aodh package in Ubuntu:
Fix Released
Bug description:
[Impact]
aodh uses older gnocchi api. this causes issue when we are using metric command
openstack metric measures aggregation
openstack metric aggregates
[Test Case]
1. deploy openstack env with telemetry and heat ( heat template could be from the comment )
2. heat template should be adjusted for #1's env.
- any variables for openstack
- desired number 2
3. openstack stack create test -t ./heat
4. assume stack id = 136bf93d-9dc9-4b3f-862d-6fdec1b6abf7
5. access to instance, and dd command to give cpu load
6. test openstack metric command
openstack metric measures aggregation --query
'server_group=136bf93d-9dc9-4b3f-862d-6fdec1b6abf7' --aggregation
rate:mean --metric cpu --resource-type instance --fill null
openstack metric aggregates '(aggregate rate:mean (metric cpu mean))'
'server_group=136bf93d-9dc9-4b3f-862d-6fdec1b6abf7' --resource-type
instance --granularity 300 --fill null
7. then, check gnocchi log(apache log) if it calls v1/aggregation or
v1/aggregates
[Where problems could occur]
shortage while upgrading.
getting metrics could have issue.
[Others]
Original Description below
On gnocchi API docs, there are 2 API methods to aggregate metrics
1. /v1/aggregation/metric?
See: https://gnocchi.osci.io/rest.html#aggregation-across-metrics-
deprecated
This one is deprecated
2. /v1/aggregates?
See: https://gnocchi.osci.io/rest.html#dynamic-aggregates
aodh uses the 1st one to aggregate metrics, for example:
```
if isinstance(start, datetime.datetime):
start = start.isoformat()
if isinstance(stop, datetime.datetime):
stop = stop.isoformat()
params = dict(start=start, stop=stop, aggregation=aggregation,
reaggregation=reaggregation, granularity=granularity,
needed_overlap=needed_overlap, groupby=groupby,
refresh=refresh, resample=resample, fill=fill)
if query is None:
for metric in metrics:
self._ensure_metric_is_uuid(metric)
params['metric'] = metrics
measures = self._get("v1/aggregation/metric",
params=params).json()
```
aodh doesn't work properly in our production environment after
upgraded to Ussuri.
When there is only 1 instance, aodh works properly and alarms can be
triggered when the load on the instance is higher than the threshold.
However, after the stack is scaled up, and the second instance is
created. The average cpu usage got from gnocchi by aodh evaluator is
not correct. The metric measures are negative sometimes.
I manually pulled metrics with gnocchi command
The aggregation of metrics is correct with command
```
openstack metric aggregates
```
It uses new API in the backend
The aggregation of metrics is not correct with command
```
openstack metric measures aggregation
```
It uses the deprecated API which aodh is using.
To manage notifications about this bug go to:
https://bugs.launchpad.net/aodh/+bug/1946793/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list