Roman Safronov 66fec04b96 Add placement service versions discovery
Some tempest tests require placement service microversions to be
specified, e.g. MinBwAllocationPlacementTest. This patch adds
discovery of the placement service min and max microversions.

Change-Id: I639cbf0d63cc2a3235615762d61347b9bb0c5e6f
2021-01-04 12:35:50 +02:00

43 lines
1.4 KiB
Python

# Copyright 2020 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
class PlacementService(VersionedService):
def set_versions(self):
url, top_level = self.no_port_cut_url()
body = self.do_get(url, top_level=top_level,
top_level_path='placement')
self.versions_body = json.loads(body)
def set_default_tempest_options(self, conf):
# set microversions
m_versions = self.filter_api_microversions(max_version='max_version')
conf.set(
'placement', 'min_microversion', m_versions['min_microversion'])
conf.set(
'placement', 'max_microversion', m_versions['max_microversion'])
@staticmethod
def get_service_type():
return ['placement']
@staticmethod
def get_codename():
return 'placement'