diff options
author | Mehdi Abaakouk <sileht@redhat.com> | 2017-12-11 08:51:27 +0100 |
---|---|---|
committer | Mehdi Abaakouk <sileht@redhat.com> | 2018-01-04 10:37:46 +0100 |
commit | 02c99b18674880c72917d99a78e0b68a1b8a0a00 (patch) | |
tree | c64f2f1edc9219844fc1bdcea6627a6649534ab5 /ceilometer/gnocchi_client.py | |
parent | 24a0b74ee6f746eec295b3786f5a736371d9b360 (diff) | |
download | ceilometer-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.py | 12 |
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) |