Bug 1106 : Kill processes still running after join call timeout reached, also timeout...
[osm/MON.git] / osm_mon / collector / utils / openstack.py
index c77ac46..09c472c 100644 (file)
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: bdiaz@whitestack.com or glavado@whitestack.com
 ##
-import json
 
 from keystoneauth1 import session
 from keystoneauth1.identity import v3
 
-from osm_mon.collector.utils.collector import CollectorUtils
-
 
 class OpenstackUtils:
 
     @staticmethod
-    def get_session(vim_account_id: str):
-        creds = CollectorUtils.get_credentials(vim_account_id)
-        verify_ssl = CollectorUtils.is_verify_ssl(creds)
-        vim_config = json.loads(creds.config)
+    def get_session(creds: dict):
+        verify_ssl = True
         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.url,
-                           username=creds.user,
-                           password=creds.password,
-                           project_name=creds.tenant_name,
+        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)
+        return session.Session(auth=auth, verify=verify_ssl, timeout=10)