manila/manila_tempest_tests/plugin.py
Valeriy Ponomaryov 29f2695eb9 Fix setting of "snapshot_support" extra spec for tempest
Tempest test module "test_shares_actions.py" uses custom share_type,
but do not allow to redefine extra spec "snapshot_support".
And fails for drivers that do not have snapshot support and report
such capability as "False".

Changes:
- Add new config option called "capability_snapshot_support" that
will be used for each share type created in Tempest by default.
- Make it default to existing config option "run_snapshot_tests"
as they will be equal in most cases. But separate their logic, as
we may want just to disable snapshot tests running tempest locally
and testing some other feature having snapshot support in back end.
- Rename existing config option "storage_protocol" to
"capability_storage_protocol" for consistency with new option. And
keep old name as "deprecated".

Change-Id: I9ba0a9b10ffc3f0fda6094a3f5cad26a2e8a447f
Closes-Bug: #1498858
2015-09-24 11:37:22 +03:00

51 lines
1.8 KiB
Python

# Copyright 2015 Deutsche Telekom AG
# 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 manila_tempest_tests import config as config_share
class ManilaTempestPlugin(plugins.TempestPlugin):
def load_tests(self):
base_path = os.path.split(os.path.dirname(
os.path.abspath(__file__)))[0]
test_dir = "manila_tempest_tests/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, config_share.service_available_group,
config_share.ServiceAvailableGroup)
config.register_opt_group(conf, config_share.share_group,
config_share.ShareGroup)
# NOTE(vponomaryov): set opt 'capability_snapshot_support' by
# default equal to opt 'run_snapshot_tests'.
if conf.share.capability_snapshot_support is None:
conf.set_default(
"capability_snapshot_support",
conf.share.run_snapshot_tests,
group="share",
)
def get_opt_lists(self):
return [(config_share.share_group.name, config_share.ShareGroup)]