X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fplugins%2FOpenStack%2Fcommon.py;h=e5a70f981ce2f04844e5a1a4e32f86b0b6396fbe;hb=5154baa6fd0a33b46ef5fedb0e954c96f82fae03;hp=7525395b8f0343acb03f5381c915cfc0e4ae7574;hpb=821a62e1e29bb603de56b028d92ad885f06fd68c;p=osm%2FMON.git diff --git a/osm_mon/plugins/OpenStack/common.py b/osm_mon/plugins/OpenStack/common.py index 7525395..e5a70f9 100644 --- a/osm_mon/plugins/OpenStack/common.py +++ b/osm_mon/plugins/OpenStack/common.py @@ -20,10 +20,11 @@ # contact: helena.mcgough@intel.com or adrian.hoban@intel.com ## """Common methods for the OpenStack plugins.""" - +import json import logging import requests +import yaml from keystoneclient.v3 import client from osm_mon.core.auth import AuthManager @@ -61,12 +62,17 @@ class Common(object): password=creds.password, tenant_name=creds.tenant_name) endpoint_type = 'publicURL' - region_name = 'regionOne' + region_name = 'RegionOne' if creds.config is not None: - if 'endpoint_type' in creds.config: - endpoint_type = creds.config['endpoint_type'] - if 'region_name' in creds.config: - region_name = creds.config['region_name'] + try: + config = json.loads(creds.config) + except ValueError: + config = yaml.safe_load(creds.config) + if 'endpoint_type' in config: + endpoint_type = config['endpoint_type'] + if 'region_name' in config: + region_name = config['region_name'] + return ks.service_catalog.url_for( service_type=service_type, endpoint_type=endpoint_type,