Octavia: Implement Tempest Plugin
This patch discovers Tempest tests via tempest plugin. Also included is are the config opt parameters needed for testing. Co-Authored-By: Franklin Naval <franklin.naval@gmail.com> Change-Id: I5c99fc5aa3caeb6bd1a9c90c27d956cf0372180b
This commit is contained in:
parent
bc190504ee
commit
058dbb3097
6
octavia/tests/tempest/README.rst
Normal file
6
octavia/tests/tempest/README.rst
Normal file
@ -0,0 +1,6 @@
|
||||
===============================================
|
||||
Tempest Integration of octavia
|
||||
===============================================
|
||||
|
||||
This directory contains Tempest tests to cover the octavia project.
|
||||
|
0
octavia/tests/tempest/__init__.py
Normal file
0
octavia/tests/tempest/__init__.py
Normal file
41
octavia/tests/tempest/config.py
Normal file
41
octavia/tests/tempest/config.py
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright 2016 Rackspace Inc.
|
||||
#
|
||||
# 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_config import cfg
|
||||
|
||||
"""
|
||||
For running Octavia tests, it is assumed that the following option is
|
||||
defined in the [service_available] section of etc/tempest.conf
|
||||
octavia = True
|
||||
"""
|
||||
service_option = cfg.BoolOpt('octavia',
|
||||
default=False,
|
||||
help="Whether or not Octavia is expected to be "
|
||||
"available"),
|
||||
|
||||
octavia_group = cfg.OptGroup(name='octavia', title='Octavia Service')
|
||||
|
||||
OctaviaGroup = [
|
||||
cfg.StrOpt('catalog_type',
|
||||
default='network',
|
||||
help='Catalog type of the Octavia service.'),
|
||||
cfg.IntOpt('lb_build_interval',
|
||||
default=15,
|
||||
help='Time in seconds between build status checks.'),
|
||||
cfg.IntOpt('lb_build_timeout',
|
||||
default=900,
|
||||
help='Timeout in seconds to wait for a '
|
||||
'load balancer to build.'),
|
||||
]
|
41
octavia/tests/tempest/plugin.py
Normal file
41
octavia/tests/tempest/plugin.py
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright 2016 Hewlett Packard Enterprise Development Company
|
||||
# Copyright 2016 Rackspace Inc.
|
||||
# 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.
|
||||
|
||||
import os
|
||||
|
||||
from octavia.tests.tempest import config as octavia_config
|
||||
|
||||
from tempest.test_discover import plugins
|
||||
|
||||
|
||||
class OctaviaTempestPlugin(plugins.TempestPlugin):
|
||||
|
||||
def load_tests(self):
|
||||
base_path = os.path.split(os.path.dirname(
|
||||
os.path.abspath(__file__)))[0]
|
||||
test_dir = "octavia/tests/tempest/v1"
|
||||
full_test_dir = os.path.join(base_path, test_dir)
|
||||
return full_test_dir, base_path
|
||||
|
||||
def register_opts(self, conf):
|
||||
conf.register_group(octavia_config.octavia_group)
|
||||
conf.register_opts(octavia_config.OctaviaGroup, group='octavia')
|
||||
conf.register_opts(octavia_config.service_option,
|
||||
group='service_available')
|
||||
|
||||
def get_opt_lists(self):
|
||||
return [('octavia', octavia_config.OctaviaGroup),
|
||||
('service_available', [octavia_config.service_option])]
|
Loading…
Reference in New Issue
Block a user