blob: 7fe36067be35e1f813d481a27a1760c8fbb297cd [file] [log] [blame]
Jude Cross986e3f52017-07-24 14:57:20 -07001# Copyright 2017 GoDaddy
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14#
15from tempest import clients
16from tempest import config
17
18from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwelldfc11ee2018-05-30 09:38:55 -070019 amphora_client)
20from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwellc2aa20c2019-11-20 11:15:07 -080021 availability_zone_capabilities_client)
22from octavia_tempest_plugin.services.load_balancer.v2 import (
23 availability_zone_client)
24from octavia_tempest_plugin.services.load_balancer.v2 import (
25 availability_zone_profile_client)
26from octavia_tempest_plugin.services.load_balancer.v2 import (
Michael Johnson37c93022019-01-15 16:53:15 -080027 flavor_capabilities_client)
28from octavia_tempest_plugin.services.load_balancer.v2 import (
Michael Johnsoncfb02542019-01-11 15:06:40 -080029 flavor_client)
30from octavia_tempest_plugin.services.load_balancer.v2 import (
Michael Johnsonfd90e152019-01-11 14:47:01 -080031 flavor_profile_client)
32from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwell60ed9d92018-05-10 13:23:13 -070033 healthmonitor_client)
34from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwell446f8be2018-05-24 16:51:03 -070035 l7policy_client)
36from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwelle029af22018-05-24 17:13:28 -070037 l7rule_client)
38from octavia_tempest_plugin.services.load_balancer.v2 import (
Jude Crossfbbd2b42017-08-09 15:21:04 -070039 listener_client)
40from octavia_tempest_plugin.services.load_balancer.v2 import (
Jude Cross986e3f52017-07-24 14:57:20 -070041 loadbalancer_client)
Adam Harwell8ffce3e2018-05-01 21:18:44 -070042from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwellde3e0542018-05-03 18:21:06 -070043 member_client)
44from octavia_tempest_plugin.services.load_balancer.v2 import (
Adam Harwell8ffce3e2018-05-01 21:18:44 -070045 pool_client)
Michael Johnson08a0ef52019-01-11 15:18:22 -080046from octavia_tempest_plugin.services.load_balancer.v2 import (
47 provider_client)
Jude Cross986e3f52017-07-24 14:57:20 -070048
49CONF = config.CONF
Jude Cross986e3f52017-07-24 14:57:20 -070050
51
52class ManagerV2(clients.Manager):
53
54 def __init__(self, credentials):
55 super(ManagerV2, self).__init__(credentials)
56
Michael Johnson5099fe12019-06-13 11:29:29 -070057 params = dict(self.default_params)
58 params.update({
59 'auth_provider': self.auth_provider,
60 'service': CONF.load_balancer.catalog_type,
Gregory Thiemonge52b58432019-09-19 17:22:30 +020061 'region': CONF.load_balancer.region or CONF.identity.region,
Michael Johnson5099fe12019-06-13 11:29:29 -070062 'endpoint_type': CONF.load_balancer.endpoint_type,
63 'build_interval': CONF.load_balancer.build_interval,
64 'build_timeout': CONF.load_balancer.build_timeout
65 })
66
Jude Cross986e3f52017-07-24 14:57:20 -070067 self.loadbalancer_client = loadbalancer_client.LoadbalancerClient(
Michael Johnson5099fe12019-06-13 11:29:29 -070068 **params)
69 self.listener_client = listener_client.ListenerClient(**params)
70 self.pool_client = pool_client.PoolClient(**params)
71 self.member_client = member_client.MemberClient(**params)
Adam Harwell60ed9d92018-05-10 13:23:13 -070072 self.healthmonitor_client = healthmonitor_client.HealthMonitorClient(
Michael Johnson5099fe12019-06-13 11:29:29 -070073 **params)
74 self.l7policy_client = l7policy_client.L7PolicyClient(**params)
75 self.l7rule_client = l7rule_client.L7RuleClient(**params)
76 self.amphora_client = amphora_client.AmphoraClient(**params)
Michael Johnsonfd90e152019-01-11 14:47:01 -080077 self.flavor_profile_client = flavor_profile_client.FlavorProfileClient(
Michael Johnson5099fe12019-06-13 11:29:29 -070078 **params)
79 self.flavor_client = flavor_client.FlavorClient(**params)
80 self.provider_client = provider_client.ProviderClient(**params)
Michael Johnson37c93022019-01-15 16:53:15 -080081 self.flavor_capabilities_client = (
Michael Johnson5099fe12019-06-13 11:29:29 -070082 flavor_capabilities_client.FlavorCapabilitiesClient(**params))
Adam Harwellc2aa20c2019-11-20 11:15:07 -080083 self.availability_zone_capabilities_client = (
84 availability_zone_capabilities_client
85 .AvailabilityZoneCapabilitiesClient(**params))
86 self.availability_zone_profile_client = (
87 availability_zone_profile_client.AvailabilityZoneProfileClient(
88 **params))
89 self.availability_zone_client = (
90 availability_zone_client.AvailabilityZoneClient(**params))