63 lines
2.6 KiB
Python
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)
|