Resolved Bug 1553 - Monitoring of certain infrastructure metrics fails in Openstack...
[osm/MON.git] / osm_mon / collector / utils / openstack.py
index 41e96e7..9162f98 100644 (file)
@@ -27,21 +27,27 @@ from keystoneauth1.identity import v3
 
 
 class OpenstackUtils:
-
     @staticmethod
     def get_session(creds: dict):
-        verify_ssl = False if 'insecure' in creds['config'] and creds['config']['insecure'] else True
-        vim_config = creds['config']
-        project_domain_name = 'Default'
-        user_domain_name = 'Default'
-        if 'project_domain_name' in vim_config:
-            project_domain_name = vim_config['project_domain_name']
-        if 'user_domain_name' in vim_config:
-            user_domain_name = vim_config['user_domain_name']
-        auth = v3.Password(auth_url=creds['vim_url'],
-                           username=creds['vim_user'],
-                           password=creds['vim_password'],
-                           project_name=creds['vim_tenant_name'],
-                           project_domain_name=project_domain_name,
-                           user_domain_name=user_domain_name)
-        return session.Session(auth=auth, verify=verify_ssl)
+        verify_ssl = True
+        project_domain_name = "Default"
+        user_domain_name = "Default"
+        if "config" in creds:
+            vim_config = creds["config"]
+            if "insecure" in vim_config and vim_config["insecure"]:
+                verify_ssl = False
+            if "ca_cert" in vim_config:
+                verify_ssl = vim_config["ca_cert"]
+            if "project_domain_name" in vim_config:
+                project_domain_name = vim_config["project_domain_name"]
+            if "user_domain_name" in vim_config:
+                user_domain_name = vim_config["user_domain_name"]
+        auth = v3.Password(
+            auth_url=creds["vim_url"],
+            username=creds["vim_user"],
+            password=creds["vim_password"],
+            project_name=creds["vim_tenant_name"],
+            project_domain_name=project_domain_name,
+            user_domain_name=user_domain_name,
+        )
+        return session.Session(auth=auth, verify=verify_ssl, timeout=10)