
By implementing this method we will decrease dependency on SERVICE_NAMES. python-tempestconf loops over any service which has a class implementation under config_tempest/services directory. Therefore we can easily set service availability in the loop by calling set_availability method which sets appropriate values in [service_available] section of tempest.conf. This review also fixes the problem with not taking service's versions into account when setting service availability. Story: 2002787 Task: 29632 Change-Id: Ica42fe6ae57eaef6bffd28b557f6b178a2ed8fb9
61 lines
1.9 KiB
Python
61 lines
1.9 KiB
Python
# Copyright 2018 Red Hat, 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 json
|
|
|
|
from config_tempest.services.base import VersionedService
|
|
from config_tempest.utils import get_base_url
|
|
|
|
|
|
class ShareService(VersionedService):
|
|
|
|
def get_api_microversion(self):
|
|
version_url = get_base_url(self.service_url)
|
|
body = self.do_get(version_url)
|
|
body = json.loads(body)
|
|
return body
|
|
|
|
def set_default_tempest_options(self, conf):
|
|
if 'v2' in self.service_url:
|
|
microversions = self.get_api_microversion()
|
|
min_microversion = {
|
|
version['min_version'] for version in microversions['versions']
|
|
if version['id'] == 'v2.0'
|
|
}
|
|
|
|
max_microversion = {
|
|
version['version'] for version in microversions['versions']
|
|
if version['id'] == 'v2.0'
|
|
}
|
|
|
|
conf.set('share', 'min_api_microversion',
|
|
''.join(min_microversion))
|
|
conf.set('share', 'max_api_microversion',
|
|
''.join(max_microversion))
|
|
|
|
def get_unversioned_service_name(self):
|
|
return 'share'
|
|
|
|
@staticmethod
|
|
def get_codename():
|
|
return 'manila'
|
|
|
|
def get_feature_name(self):
|
|
return 'share'
|
|
|
|
@staticmethod
|
|
def get_service_name():
|
|
return ['manila', 'manilav2']
|