Browse Source
This is a migration step to utilize tempest plugin system instead of directly calling functional api tests. This is the approach used by a number of other projects as well as an approved process by openstack-qa. The difference in execution is that we will need to execute tempest's tox instead of our own: tox -eall-plugin magnum.tests.functional.api.v1 -- --concurrency=1 Implements: blueprint magnum-tempest Change-Id: Ic3eadae7fb5d88b776f9ded9589ef25279a2e1bechanges/83/247083/20
8 changed files with 240 additions and 95 deletions
@ -0,0 +1,46 @@
|
||||
# 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 __future__ import print_function |
||||
|
||||
from oslo_config import cfg |
||||
|
||||
from tempest import config # noqa |
||||
|
||||
service_available_group = cfg.OptGroup(name="service_available", |
||||
title="Available OpenStack Services") |
||||
|
||||
ServiceAvailableGroup = [ |
||||
cfg.BoolOpt("magnum", |
||||
default=True, |
||||
help="Whether or not magnum is expected to be available"), |
||||
] |
||||
|
||||
magnum_group = cfg.OptGroup(name="magnum", title="Magnum Options") |
||||
|
||||
MagnumGroup = [ |
||||
cfg.StrOpt("image_id", |
||||
default="fedora-21-atomic-5", |
||||
help="Image id to be used for baymodel."), |
||||
|
||||
cfg.StrOpt("nic_id", |
||||
default="public", |
||||
help="NIC id."), |
||||
|
||||
cfg.StrOpt("keypair_id", |
||||
default="default", |
||||
help="Keypair id to use to log into nova instances."), |
||||
|
||||
cfg.StrOpt("flavor_id", |
||||
default="m1.magnum", |
||||
help="Flavor id to use for baymodels."), |
||||
] |
@ -0,0 +1,39 @@
|
||||
# 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 |
||||
|
||||
import magnum |
||||
from magnum.tests.functional.tempest_tests import config as magnum_config |
||||
|
||||
|
||||
class MagnumTempestPlugin(plugins.TempestPlugin): |
||||
def load_tests(self): |
||||
base_path = os.path.split(os.path.dirname( |
||||
os.path.abspath(magnum.__file__)))[0] |
||||
test_dir = "magnum/tests/functional/api/v1" |
||||
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, magnum_config.service_available_group, |
||||
magnum_config.ServiceAvailableGroup) |
||||
config.register_opt_group(conf, magnum_config.magnum_group, |
||||
magnum_config.MagnumGroup) |
||||
|
||||
def get_opt_lists(self): |
||||
return [(magnum_config.magnum_group.name, magnum_config.MagnumGroup)] |
Loading…
Reference in new issue