Monasca cli does not work with influxdb version >=0.11.0

Bug #1603952 reported by Laszlo Hegedus
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Monasca
Triaged
Medium
Unassigned

Bug Description

It seems that influxdb returns the metrics in a different format since version 0.11.0. I've got the following error using the latest master of monasca-api with influxdb versions 0.11.0, 0.12.0 and 0.13.0.

[root@ubuntu monasca(monasca)]# monasca metric-list
ERROR (exc:80) exception: {
    "title": "The repository was unable to process your request",
    "description": "name"
}
HTTPException code=500 message={
    "title": "The repository was unable to process your request",
    "description": "name"
}

Monasca api log shows the following error messages:

2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository [-] u'name'
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository Traceback (most recent call last):
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository File "/usr/local/lib/python2.7/dist-packages/monasca_api/common/repositories/influxdb/metrics_repository.py", line 193, in list_metrics
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository offset)
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository File "/usr/local/lib/python2.7/dist-packages/monasca_api/common/repositories/influxdb/metrics_repository.py", line 235, in _build_serie_metric_list
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository series[u'name'],
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository KeyError: u'name'
2016-07-18 13:20:12.949 11833 ERROR monasca_api.common.repositories.influxdb.metrics_repository
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource [-] u'name'
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource Traceback (most recent call last):
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource File "/usr/local/lib/python2.7/dist-packages/monasca_api/v2/reference/resource.py", line 28, in try_it
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource return fun(*args, **kwargs)
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource File "/usr/local/lib/python2.7/dist-packages/monasca_api/v2/reference/metrics.py", line 113, in _list_metrics
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource end_timestamp)
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource File "/usr/local/lib/python2.7/dist-packages/monasca_api/common/repositories/influxdb/metrics_repository.py", line 206, in list_metrics
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource raise exceptions.RepositoryException(ex)
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource RepositoryException: u'name'
2016-07-18 13:20:12.950 11833 ERROR monasca_api.v2.reference.resource

The error occurs in function _build_serie_metric_list of monasca_api.common.repositories.influxdb.metrics_repository and it is probably caused by the different format of 'series'. It seems that it is a string, instead of a dictionary.

Since this change in InfluxDB is rather a backward-incompatible one, I could see two solutions for this issue:
1. explicitly stating that monasca api requires InfluxDB version 0.10.0 or older, or
2. making the code compatible with the latest version of InfluxDB. I think this is the preferred way.

The second method requires changes in the devstack script too, since it installs InfluxDB version 0.9.5 by default, which would be incompatible with the new implementation of metrics_repository.

summary: - Monasca cli does not work with influxdb version >=0.12.0
+ Monasca cli does not work with influxdb version >=0.11.0
description: updated
description: updated
Revision history for this message
Ryan (ryan-brandt) wrote :

This is being addressed

Changed in monasca:
status: New → Triaged
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.