X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Futils%2Ffunctest_utils.py;h=7ae74393dc5a8f077b7203f84644a651da61b429;hb=904377462f58464937d4cafeb8c432f024a85bd4;hp=c5950c9654fd79d66ba69c15196c5f66b0bbbdfc;hpb=9aa520f619c2c0fac116cadb2c65900751b4949b;p=functest.git diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index c5950c965..7ae74393d 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -15,6 +15,8 @@ import subprocess import sys import yaml +import six + LOGGER = logging.getLogger(__name__) @@ -98,21 +100,21 @@ def get_nova_version(cloud): def get_openstack_version(cloud): """ Detect OpenStack version via Nova API microversion - It follows MicroversionHistory_. + It follows `MicroversionHistory + `_. Returns: - OpenStack release - Unknown on operation error - - .. _MicroversionHistory: - https://docs.openstack.org/nova/latest/reference/api-microversion-history.html """ version = get_nova_version(cloud) try: assert version - if version > (2, 60): - osversion = "Rocky or newer" + if version > (2, 65): + osversion = "Master" + elif version > (2, 60): + osversion = "Rocky" elif version > (2, 53): osversion = "Queens" elif version > (2, 42): @@ -134,3 +136,33 @@ def get_openstack_version(cloud): except AssertionError: LOGGER.exception("Cannot detect OpenStack version") return "Unknown" + + +def convert_dict_to_ini(value): + "Convert dict to oslo.conf input" + assert isinstance(value, dict) + return ",".join("{}:{}".format( + key, val) for (key, val) in six.iteritems(value)) + + +def convert_list_to_ini(value): + "Convert list to oslo.conf input" + assert isinstance(value, list) + return ",".join("{}".format(val) for val in value) + + +def convert_ini_to_dict(value): + "Convert oslo.conf input to dict" + assert isinstance(value, str) + try: + return {k: v for k, v in (x.split(':') for x in value.split(','))} + except ValueError: + return {} + + +def convert_ini_to_list(value): + "Convert list to oslo.conf input" + assert isinstance(value, str) + if not value: + return [] + return [x for x in value.split(',')]