Reformat MON to standardized format
[osm/MON.git] / osm_mon / collector / utils / openstack.py
1 # -*- 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 ##
24
25 from keystoneauth1 import session
26 from keystoneauth1.identity import v3
27
28
29 class OpenstackUtils:
30 @staticmethod
31 def get_session(creds: dict):
32 verify_ssl = True
33 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"]:
38 verify_ssl = False
39 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 )
53 return session.Session(auth=auth, verify=verify_ssl, timeout=10)