Merge "Use Tempest plugin interface"
This commit is contained in:
commit
63730eea0f
6
ironic_tempest_plugin/README.rst
Normal file
6
ironic_tempest_plugin/README.rst
Normal file
@ -0,0 +1,6 @@
|
||||
===============================================
|
||||
Tempest Integration of Ironic
|
||||
===============================================
|
||||
|
||||
This directory contains Tempest tests to cover the Ironic project.
|
||||
|
0
ironic_tempest_plugin/__init__.py
Normal file
0
ironic_tempest_plugin/__init__.py
Normal file
62
ironic_tempest_plugin/config.py
Normal file
62
ironic_tempest_plugin/config.py
Normal file
@ -0,0 +1,62 @@
|
||||
# Copyright 2015 NEC Corporation
|
||||
# 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.
|
||||
|
||||
from oslo_config import cfg
|
||||
|
||||
from tempest import config # noqa
|
||||
|
||||
|
||||
baremetal_group = cfg.OptGroup(name='baremetal',
|
||||
title='Baremetal provisioning service options',
|
||||
help='When enabling baremetal tests, Nova '
|
||||
'must be configured to use the Ironic '
|
||||
'driver. The following parameters for the '
|
||||
'[compute] section must be disabled: '
|
||||
'console_output, interface_attach, '
|
||||
'live_migration, pause, rescue, resize, '
|
||||
'shelve, snapshot, and suspend')
|
||||
|
||||
BaremetalGroup = [
|
||||
cfg.StrOpt('catalog_type',
|
||||
default='baremetal',
|
||||
help="Catalog type of the baremetal provisioning service"),
|
||||
cfg.BoolOpt('driver_enabled',
|
||||
default=True,
|
||||
help="Whether the Ironic nova-compute driver is enabled"),
|
||||
cfg.StrOpt('driver',
|
||||
default='fake',
|
||||
help="Driver name which Ironic uses"),
|
||||
cfg.StrOpt('endpoint_type',
|
||||
default='publicURL',
|
||||
choices=['public', 'admin', 'internal',
|
||||
'publicURL', 'adminURL', 'internalURL'],
|
||||
help="The endpoint type to use for the baremetal provisioning "
|
||||
"service"),
|
||||
cfg.IntOpt('active_timeout',
|
||||
default=300,
|
||||
help="Timeout for Ironic node to completely provision"),
|
||||
cfg.IntOpt('association_timeout',
|
||||
default=30,
|
||||
help="Timeout for association of Nova instance and Ironic "
|
||||
"node"),
|
||||
cfg.IntOpt('power_timeout',
|
||||
default=60,
|
||||
help="Timeout for Ironic power transitions."),
|
||||
cfg.IntOpt('unprovision_timeout',
|
||||
default=300,
|
||||
help="Timeout for unprovisioning an Ironic node. "
|
||||
"Takes longer since Kilo as Ironic performs an extra "
|
||||
"step in Node cleaning.")
|
||||
]
|
39
ironic_tempest_plugin/plugin.py
Normal file
39
ironic_tempest_plugin/plugin.py
Normal file
@ -0,0 +1,39 @@
|
||||
# Copyright 2015 NEC Corporation
|
||||
# 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 tempest import config
|
||||
from tempest.test_discover import plugins
|
||||
|
||||
from ironic_tempest_plugin import config as project_config
|
||||
|
||||
|
||||
class IronicTempestPlugin(plugins.TempestPlugin):
|
||||
def load_tests(self):
|
||||
base_path = os.path.split(os.path.dirname(
|
||||
os.path.abspath(__file__)))[0]
|
||||
test_dir = "ironic_tempest_plugin/tests"
|
||||
full_test_dir = os.path.join(base_path, test_dir)
|
||||
return full_test_dir, base_path
|
||||
|
||||
def register_opts(self, conf):
|
||||
config.register_opt_group(conf, project_config.baremetal_group,
|
||||
project_config.BaremetalGroup)
|
||||
|
||||
def get_opt_lists(self):
|
||||
return [(project_config.baremetal_group.name,
|
||||
project_config.BaremetalGroup)]
|
0
ironic_tempest_plugin/services/__init__.py
Normal file
0
ironic_tempest_plugin/services/__init__.py
Normal file
0
ironic_tempest_plugin/tests/__init__.py
Normal file
0
ironic_tempest_plugin/tests/__init__.py
Normal file
0
ironic_tempest_plugin/tests/api/__init__.py
Normal file
0
ironic_tempest_plugin/tests/api/__init__.py
Normal file
0
ironic_tempest_plugin/tests/scenario/__init__.py
Normal file
0
ironic_tempest_plugin/tests/scenario/__init__.py
Normal file
Loading…
x
Reference in New Issue
Block a user