Merge "Refactor fullstack clients"

This commit is contained in:
Jenkins 2017-01-15 13:03:58 +00:00 committed by Gerrit Code Review
commit 65bffc9987
2 changed files with 36 additions and 80 deletions

View File

@ -10,8 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
from cinderclient.v2 import client as cinder_client
from karborclient.v1 import client as karbor_client
from cinderclient import client as cinder_client
from karborclient import client as karbor_client
from novaclient import client as nova_client
import os_client_config
@ -38,20 +38,24 @@ def _credentials(cloud='devstack-admin'):
return _get_cloud_config(cloud=cloud).get_auth_args()
def _get_karbor_client_from_creds():
api_version = ""
def _get_endpoint(service_type):
cloud_config = _get_cloud_config()
keystone_session = cloud_config.get_session_client("data-protect")
keystone_session = cloud_config.get_session_client(service_type)
keystone_auth = cloud_config.get_auth()
region_name = cloud_config.get_region_name()
service_type = "data-protect"
endpoint_type = "publicURL"
endpoint = keystone_auth.get_endpoint(
return keystone_auth.get_endpoint(
keystone_session,
service_type=service_type,
region_name=region_name)
region_name=region_name,
)
kwargs = {
def _get_client_args(service_type, endpoint_type="publicURL"):
cloud_config = _get_cloud_config()
keystone_session = cloud_config.get_session_client(service_type)
keystone_auth = cloud_config.get_auth()
region_name = cloud_config.get_region_name()
return {
'session': keystone_session,
'auth': keystone_auth,
'service_type': service_type,
@ -59,73 +63,25 @@ def _get_karbor_client_from_creds():
'region_name': region_name,
}
client = karbor_client.Client(api_version, endpoint, **kwargs)
def _get_karbor_client(api_version='1'):
kwargs = _get_client_args('data-protect')
client = karbor_client.Client(api_version, **kwargs)
return client
def _get_cinder_client_from_creds():
api_version = ""
cloud_config = _get_cloud_config()
keystone_session = cloud_config.get_session_client("volumev3")
keystone_auth = cloud_config.get_auth()
region_name = cloud_config.get_region_name()
service_type = "volumev3"
endpoint_type = "publicURL"
endpoint = keystone_auth.get_endpoint(
keystone_session,
service_type=service_type,
region_name=region_name)
kwargs = {
'session': keystone_session,
'auth': keystone_auth,
'service_type': service_type,
'endpoint_type': endpoint_type,
'region_name': region_name,
}
client = cinder_client.Client(api_version, endpoint, **kwargs)
def _get_cinder_client(api_version='3'):
kwargs = _get_client_args('volumev3')
client = cinder_client.Client(api_version, **kwargs)
return client
def _get_nova_client_from_creds():
api_version = "2.26"
cloud_config = _get_cloud_config()
keystone_session = cloud_config.get_session_client("compute")
keystone_auth = cloud_config.get_auth()
region_name = cloud_config.get_region_name()
service_type = "compute"
endpoint_type = "publicURL"
endpoint = keystone_auth.get_endpoint(
keystone_session,
service_type=service_type,
region_name=region_name)
kwargs = {
'session': keystone_session,
'auth': keystone_auth,
'service_type': service_type,
'endpoint_type': endpoint_type,
'region_name': region_name,
}
client = nova_client.Client(api_version, endpoint, **kwargs)
def _get_nova_client(api_version='2.26'):
kwargs = _get_client_args('compute')
client = nova_client.Client(api_version, **kwargs)
return client
def _get_keystone_endpoint_from_creds():
cloud_config = _get_cloud_config()
keystone_session = cloud_config.get_session_client("identity")
keystone_auth = cloud_config.get_auth()
region_name = cloud_config.get_region_name()
service_type = "identity"
endpoint = keystone_auth.get_endpoint(
keystone_session,
service_type=service_type,
region_name=region_name)
return endpoint
class ObjectStore(object):
"""Stores objects for later closing.
@ -165,10 +121,10 @@ class KarborBaseTest(base.BaseTestCase):
def setUp(self):
super(KarborBaseTest, self).setUp()
self.cinder_client = _get_cinder_client_from_creds()
self.nova_client = _get_nova_client_from_creds()
self.karbor_client = _get_karbor_client_from_creds()
self.keystone_endpoint = _get_keystone_endpoint_from_creds()
self.cinder_client = _get_cinder_client()
self.nova_client = _get_nova_client()
self.karbor_client = _get_karbor_client()
self.keystone_endpoint = _get_endpoint('identity')
self._testcase_store = ObjectStore()
self.provider_id_noop = 'b766f37c-d011-4026-8228-28730d734a3f'
self.provider_id_os = 'cf56bd3e-97a7-4078-b6d5-f36246333fd9'

View File

@ -31,7 +31,7 @@ class Checkpoint(object):
def __init__(self):
self.id = None
self._provider_id = None
self.karbor_client = base._get_karbor_client_from_creds()
self.karbor_client = base._get_karbor_client()
def _checkpoint_status(self, status=None):
try:
@ -69,7 +69,7 @@ class Plan(object):
def __init__(self):
self.id = None
self.karbor_client = base._get_karbor_client_from_creds()
self.karbor_client = base._get_karbor_client()
def create(self, provider_id, resources,
parameters={"dummy": {"dummy": "dummy"}}, name=None):
@ -102,7 +102,7 @@ class Plan(object):
class Restore(object):
def __init__(self):
self.id = None
self.karbor_client = base._get_karbor_client_from_creds()
self.karbor_client = base._get_karbor_client()
def _restore_status(self, status=None):
try:
@ -136,7 +136,7 @@ class Trigger(object):
def __init__(self):
self.id = None
self.karbor_client = base._get_karbor_client_from_creds()
self.karbor_client = base._get_karbor_client()
def create(self, type, properties, name=None):
if name is None:
@ -159,7 +159,7 @@ class ScheduledOperation(object):
def __init__(self):
self.id = None
self.karbor_client = base._get_karbor_client_from_creds()
self.karbor_client = base._get_karbor_client()
def create(self, operation_type, trigger_id,
operation_definition, name=None):
@ -191,8 +191,8 @@ class Server(object):
def __init__(self):
self.id = None
self._name = None
self.nova_client = base._get_nova_client_from_creds()
self.cinder_client = base._get_cinder_client_from_creds()
self.nova_client = base._get_nova_client()
self.cinder_client = base._get_cinder_client()
def _server_status(self, status=None):
try:
@ -272,7 +272,7 @@ class Volume(object):
def __init__(self):
self.id = None
self._name = None
self.cinder_client = base._get_cinder_client_from_creds()
self.cinder_client = base._get_cinder_client()
def _volume_status(self, status=None):
try: