blob: 9162f98bbaa0e487c2cc28d11dab865d0e59a596 [file] [log] [blame]
Benjamin Diaz985765e2019-06-26 13:18:38 -03001# -*- coding: utf-8 -*-
2
3# Copyright 2019 Whitestack, LLC
4# *************************************************************
5
6# This file is part of OSM Monitoring module
7# All Rights Reserved to Whitestack, LLC
8
9# Licensed under the Apache License, Version 2.0 (the "License"); you may
10# not use this file except in compliance with the License. You may obtain
11# a copy of the License at
12
13# http://www.apache.org/licenses/LICENSE-2.0
14
15# Unless required by applicable law or agreed to in writing, software
16# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
17# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
18# License for the specific language governing permissions and limitations
19# under the License.
20
21# For those usages not covered by the Apache License, Version 2.0 please
22# contact: bdiaz@whitestack.com or glavado@whitestack.com
23##
Benjamin Diaz985765e2019-06-26 13:18:38 -030024
25from keystoneauth1 import session
26from keystoneauth1.identity import v3
27
Benjamin Diaz985765e2019-06-26 13:18:38 -030028
29class OpenstackUtils:
Benjamin Diaz985765e2019-06-26 13:18:38 -030030 @staticmethod
Benjamin Diaz416a7532019-07-29 12:00:38 -030031 def get_session(creds: dict):
Benjamin Diaz32935032019-08-13 13:50:09 -030032 verify_ssl = True
garciadeblas8e4179f2021-05-14 16:47:03 +020033 project_domain_name = "Default"
34 user_domain_name = "Default"
35 if "config" in creds:
36 vim_config = creds["config"]
37 if "insecure" in vim_config and vim_config["insecure"]:
Antonio Marsico64be55a2019-10-09 09:02:42 +000038 verify_ssl = False
garciadeblas8e4179f2021-05-14 16:47:03 +020039 if "ca_cert" in vim_config:
40 verify_ssl = vim_config["ca_cert"]
41 if "project_domain_name" in vim_config:
42 project_domain_name = vim_config["project_domain_name"]
43 if "user_domain_name" in vim_config:
44 user_domain_name = vim_config["user_domain_name"]
45 auth = v3.Password(
46 auth_url=creds["vim_url"],
47 username=creds["vim_user"],
48 password=creds["vim_password"],
49 project_name=creds["vim_tenant_name"],
50 project_domain_name=project_domain_name,
51 user_domain_name=user_domain_name,
52 )
bravofd9e56352020-06-25 17:30:55 -040053 return session.Session(auth=auth, verify=verify_ssl, timeout=10)