Use correct metadata for metrics gathered from gnocchi

Gnocchi fixed its `aggregates` API with PR
https://github.com/gnocchixyz/gnocchi/pull/1059. Before that patch,
the `aggregates` API would only return the latest metadata for the
resource of the metric being handled. Therefore, for CloudKitty
processing and reprocessing, we would always have the possibility of
using the wrong attribute version to rate the computing resources.
With this patch we propose to always use the correct metadata for the
processing and reprocessing of CloudKitty. This means, we always use
the metadata for the timestamp that we are collecting at Gnocchi.

The patch was released under version 4.5.0 of Gnocchi.

Change-Id: I31bc2cdf620fb5c0f561dc9de8c10d7882895cce
This commit is contained in:
Rafael Weingärtner 2023-08-17 17:27:50 -03:00
parent 60077a3cc4
commit a37dda5013
3 changed files with 17 additions and 1 deletions

View File

@ -385,6 +385,7 @@ class GnocchiCollector(collector.BaseCollector):
'resource_type': resource_type,
'start': start,
'stop': end,
'use_history': True,
'groupby': self.conf[metric_name]['groupby'],
'search': self.extend_filter(*query_parameters),
}

View File

@ -211,7 +211,8 @@ class GnocchiCollectorAggregationOperationTest(tests.TestCase):
resource_type='resource_x',
search={'=': {'type': 'resource_x'}},
start=self.start, stop=self.end,
granularity=3600
granularity=3600,
use_history=True
)
def test_multiple_confs(self):

View File

@ -0,0 +1,14 @@
---
fixes:
- |
CloudKitty will always use the correct metadata for the
processing and reprocessing jobs. This means, we always use
the metadata for the timestamp that we are collecting at
Gnocchi backend.This is achieved with the use of
``use_history=true`` in Gnocchi, which was released under
`version 4.5.0 <https://github.com/gnocchixyz/gnocchi/releases/tag/4.5.0>`__.
Before that release, the ``aggregates`` API would only return
the latest metadata for the resource of the metric being handled.
Therefore, for CloudKitty processing and reprocessing, we would
always have the possibility of using the wrong attribute version
to rate the computing resources.