blob: ba3248731e81f511a52477c8519b0ec4e4ce7d53 [file] [log] [blame]
Jay Pipes50677282012-01-06 15:39:20 -05001import tempest.config
2from tempest.services.image import service as image_service
Daryl Wallecked8bef32011-12-05 23:02:08 -06003from tempest.services.nova.json.images_client import ImagesClient
4from tempest.services.nova.json.flavors_client import FlavorsClient
5from tempest.services.nova.json.servers_client import ServersClient
6from tempest.services.nova.json.limits_client import LimitsClient
donald-ngo20b6bca2011-12-15 13:35:12 -08007from tempest.services.nova.json.extensions_client import ExtensionsClient
Ravikumar Venkatesanaf7ab1c2012-01-17 12:54:22 -08008from tempest.services.nova.json.security_groups_client \
9import SecurityGroupsClient
Ravikumar Venkatesaneeb9caa2012-01-12 16:42:36 -080010
Daryl Wallecked8bef32011-12-05 23:02:08 -060011import tempest.config
Daryl Walleck1465d612011-11-02 02:22:15 -050012
13
14class Manager(object):
15
16 def __init__(self):
17 """
18 Top level manager for all Openstack APIs
19 """
Brian Waldon738cd632011-12-12 18:45:09 -050020 self.config = tempest.config.TempestConfig()
Rohit Karajgie1b050d2011-12-02 16:13:18 -080021
Daryl Walleck1465d612011-11-02 02:22:15 -050022 if self.config.env.authentication == 'keystone_v2':
Jay Pipes7f757632011-12-02 15:53:32 -050023 self.servers_client = ServersClient(self.config,
24 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050025 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000026 self.config.nova.auth_url,
Daryl Walleck1465d612011-11-02 02:22:15 -050027 self.config.nova.tenant_name)
Jay Pipes7f757632011-12-02 15:53:32 -050028 self.flavors_client = FlavorsClient(self.config,
29 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050030 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000031 self.config.nova.auth_url,
Daryl Walleck1465d612011-11-02 02:22:15 -050032 self.config.nova.tenant_name)
Jay Pipes7f757632011-12-02 15:53:32 -050033 self.images_client = ImagesClient(self.config,
34 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050035 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000036 self.config.nova.auth_url,
Daryl Walleck1465d612011-11-02 02:22:15 -050037 self.config.nova.tenant_name)
Daryl Wallecked8bef32011-12-05 23:02:08 -060038 self.limits_client = LimitsClient(self.config,
39 self.config.nova.username,
40 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000041 self.config.nova.auth_url,
Daryl Wallecked8bef32011-12-05 23:02:08 -060042 self.config.nova.tenant_name)
donald-ngo20b6bca2011-12-15 13:35:12 -080043 self.extensions_client = ExtensionsClient(self.config,
44 self.config.nova.username,
45 self.config.nova.api_key,
46 self.config.nova.auth_url,
47 self.config.nova.tenant_name)
Ravikumar Venkatesaneeb9caa2012-01-12 16:42:36 -080048 self.security_groups_client = SecurityGroupsClient(self.config,
49 self.config.nova.username,
50 self.config.nova.api_key,
51 self.config.nova.auth_url,
52 self.config.nova.tenant_name)
Daryl Walleck1465d612011-11-02 02:22:15 -050053 else:
54 #Assuming basic/native authentication
Jay Pipes7f757632011-12-02 15:53:32 -050055 self.servers_client = ServersClient(self.config,
56 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050057 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000058 self.config.nova.auth_url)
Jay Pipes7f757632011-12-02 15:53:32 -050059 self.flavors_client = FlavorsClient(self.config,
60 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050061 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000062 self.config.nova.auth_url)
Jay Pipes7f757632011-12-02 15:53:32 -050063 self.images_client = ImagesClient(self.config,
64 self.config.nova.username,
Daryl Walleck1465d612011-11-02 02:22:15 -050065 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000066 self.config.nova.auth_url)
Daryl Wallecked8bef32011-12-05 23:02:08 -060067 self.limits_client = LimitsClient(self.config,
68 self.config.nova.username,
Daryl Wallecked8bef32011-12-05 23:02:08 -060069 self.config.nova.api_key,
kavan-patil4ea2efb2011-12-09 08:58:50 +000070 self.config.nova.auth_url)
donald-ngo20b6bca2011-12-15 13:35:12 -080071 self.extensions_client = ExtensionsClient(self.config,
72 self.config.nova.username,
73 self.config.nova.api_key,
74 self.config.nova.auth_url)
Ravikumar Venkatesaneeb9caa2012-01-12 16:42:36 -080075 self.security_groups_client = SecurityGroupsClient(self.config,
76 self.config.nova.username,
77 self.config.nova.api_key,
78 self.config.nova.auth_url)
Jay Pipes50677282012-01-06 15:39:20 -050079
80
81class ServiceManager(object):
82
83 """
84 Top-level object housing clients for OpenStack APIs
85 """
86
87 def __init__(self):
88 self.config = tempest.config.TempestConfig()
89 self.services = {}
90 self.services['image'] = image_service.Service(self.config)
91 self.images = self.services['image']