blob: 262a3c1492f0de5093f9d66e134090ef2c53a13a [file] [log] [blame]
Salvatore Orlando5a337242014-01-15 22:49:22 +00001# Copyright 2014 OpenStack Foundation
2# All Rights Reserved.
3#
4# Licensed under the Apache License, Version 2.0 (the "License"); you may
5# not use this file except in compliance with the License. You may obtain
6# a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13# License for the specific language governing permissions and limitations
14# under the License.
15
16from tempest.api.compute import base
Artom Lifshitz065eb4a2017-09-13 16:04:35 -040017from tempest.common import utils
18from tempest import config
19
20CONF = config.CONF
Salvatore Orlando5a337242014-01-15 22:49:22 +000021
22
23class BaseFloatingIPsTest(base.BaseV2ComputeTest):
24
25 @classmethod
Emily Hugenbruche7991d92014-12-12 16:53:36 +000026 def setup_credentials(cls):
Salvatore Orlando5a337242014-01-15 22:49:22 +000027 # Floating IP actions might need a full network configuration
28 cls.set_network_resources(network=True, subnet=True,
29 router=True, dhcp=True)
Emily Hugenbruche7991d92014-12-12 16:53:36 +000030 super(BaseFloatingIPsTest, cls).setup_credentials()
Artom Lifshitz065eb4a2017-09-13 16:04:35 -040031
32 @classmethod
33 def skip_checks(cls):
34 super(BaseFloatingIPsTest, cls).skip_checks()
35 if not utils.get_service_list()['network']:
36 raise cls.skipException("network service not enabled.")
37 if not CONF.network_feature_enabled.floating_ips:
38 raise cls.skipException("Floating ips are not available")
39
40 @classmethod
41 def setup_clients(cls):
42 super(BaseFloatingIPsTest, cls).setup_clients()
43 cls.client = cls.floating_ips_client
44 cls.pools_client = cls.floating_ip_pools_client