X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fcollector%2Futils%2Fopenstack.py;fp=osm_mon%2Fcollector%2Futils%2Fopenstack.py;h=c77ac46a4309874b323eba4a79a64e30e0557334;hb=985765e70747c8d3f32b17dca7596a20e4a0297b;hp=0000000000000000000000000000000000000000;hpb=a98b854eae15a3a86604bccaf6d84e012b583657;p=osm%2FMON.git diff --git a/osm_mon/collector/utils/openstack.py b/osm_mon/collector/utils/openstack.py new file mode 100644 index 0000000..c77ac46 --- /dev/null +++ b/osm_mon/collector/utils/openstack.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- + +# Copyright 2019 Whitestack, LLC +# ************************************************************* + +# This file is part of OSM Monitoring module +# All Rights Reserved to Whitestack, LLC + +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at + +# http://www.apache.org/licenses/LICENSE-2.0 + +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# 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) + 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, + project_domain_name=project_domain_name, + user_domain_name=user_domain_name) + return session.Session(auth=auth, verify=verify_ssl)