tempest/tempest/manager.py

63 lines
2.6 KiB
Python

# Copyright 2012 OpenStack Foundation
# All Rights Reserved.
#
# 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.
from oslo_log import log as logging
from tempest import clients as tempest_clients
from tempest import config
from tempest.lib.services import clients
CONF = config.CONF
LOG = logging.getLogger(__name__)
class Manager(clients.ServiceClients):
"""Service client manager class for backward compatibility
The former manager.Manager is not a stable interface in Tempest,
nonetheless it is consumed by a number of plugins already. This class
exists to provide some grace time for the move to tempest.lib.
"""
def __init__(self, credentials, scope='project'):
msg = ("tempest.manager.Manager is not a stable interface and as such "
"it should not imported directly. It will be removed as "
"soon as the client manager becomes available in tempest.lib.")
LOG.warning(msg)
dscv = CONF.identity.disable_ssl_certificate_validation
_, uri = tempest_clients.get_auth_provider_class(credentials)
super(Manager, self).__init__(
credentials=credentials, scope=scope,
identity_uri=uri,
disable_ssl_certificate_validation=dscv,
ca_certs=CONF.identity.ca_certificates_file,
trace_requests=CONF.debug.trace_requests)
def get_auth_provider(credentials, pre_auth=False, scope='project'):
"""Shim to get_auth_provider in clients.py
get_auth_provider used to be hosted in this module, but it has been
moved to clients.py now as a more permanent location.
This module will be removed eventually, and this shim is only
maintained for the benefit of plugins already consuming this interface.
"""
msg = ("tempest.manager.get_auth_provider is not a stable interface and "
"as such it should not imported directly. It will be removed as "
"the client manager becomes available in tempest.lib.")
LOG.warning(msg)
return tempest_clients.get_auth_provider(credentials=credentials,
pre_auth=pre_auth, scope=scope)