summaryrefslogtreecommitdiff
path: root/ceilometer/gnocchi_client.py
diff options
context:
space:
mode:
authorMehdi Abaakouk <sileht@redhat.com>2017-12-11 08:51:27 +0100
committerMehdi Abaakouk <sileht@redhat.com>2018-01-04 10:37:46 +0100
commit02c99b18674880c72917d99a78e0b68a1b8a0a00 (patch)
treec64f2f1edc9219844fc1bdcea6627a6649534ab5 /ceilometer/gnocchi_client.py
parent24a0b74ee6f746eec295b3786f5a736371d9b360 (diff)
downloadceilometer-02c99b18674880c72917d99a78e0b68a1b8a0a00.tar.gz
Check required Gnocchi version is installed
Change-Id: I301511279c1d49736027e51274c8740935e154b0
Diffstat (limited to 'ceilometer/gnocchi_client.py')
-rw-r--r--ceilometer/gnocchi_client.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ceilometer/gnocchi_client.py b/ceilometer/gnocchi_client.py
index 4f6e8062..2472c4db 100644
--- a/ceilometer/gnocchi_client.py
+++ b/ceilometer/gnocchi_client.py
@@ -11,6 +11,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+from distutils import version
+
from gnocchiclient import client
from gnocchiclient import exceptions as gnocchi_exc
import keystoneauth1.session
@@ -184,9 +186,19 @@ resources_update_operations = [
}]},
]
+# NOTE(sileht): We use LooseVersion because pbr can generate invalid
+# StrictVersion like 9.0.1.dev226
+REQUIRED_VERSION = version.LooseVersion("4.0.0")
+
def upgrade_resource_types(conf):
gnocchi = get_gnocchiclient(conf)
+
+ gnocchi_version = version.LooseVersion(gnocchi.build.get())
+ if gnocchi_version < REQUIRED_VERSION:
+ raise Exception("required gnocchi version is %s, got %s",
+ REQUIRED_VERSION, gnocchi_version)
+
for name, attributes in resources_initial.items():
try:
gnocchi.resource_type.get(name=name)