+ @staticmethod
+ def get_session(creds: dict):
+ verify_ssl = True
+ project_domain_name = "Default"
+ user_domain_name = "Default"
+ try:
+ 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"]
+ elif "ca_cert_content" in vim_config:
+ vim_config = OpenstackUtils._create_file_cert(
+ vim_config, creds["_id"]
+ )
+ 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)
+ except CertificateNotCreated as e:
+ log.error(e)