From c5c11194a1a5032a954308889d0f76872ffe8d6f Mon Sep 17 00:00:00 2001 From: Aurelien Lourot Date: Tue, 17 Nov 2020 16:02:29 +0100 Subject: [PATCH] Support 'major.minor' when determining OS release of OVN packages --- zaza/openstack/utilities/openstack.py | 22 ++++++++++++++++++++-- zaza/openstack/utilities/os_versions.py | 14 +++++++++----- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/zaza/openstack/utilities/openstack.py b/zaza/openstack/utilities/openstack.py index c309116..67f5f02 100644 --- a/zaza/openstack/utilities/openstack.py +++ b/zaza/openstack/utilities/openstack.py @@ -19,6 +19,7 @@ This module contains a number of functions for interacting with OpenStack. from .os_versions import ( OPENSTACK_CODENAMES, SWIFT_CODENAMES, + OVN_CODENAMES, PACKAGE_CODENAMES, OPENSTACK_RELEASES_PAIRS, ) @@ -1479,8 +1480,23 @@ def get_swift_codename(version): :returns: Codename for swift :rtype: string """ - codenames = [k for k, v in six.iteritems(SWIFT_CODENAMES) if version in v] - return codenames[0] + return _get_special_codename(version, SWIFT_CODENAMES) + + +def get_ovn_codename(version): + """Determine OpenStack codename that corresponds to OVN version. + + :param version: Version of OVN + :type version: string + :returns: Codename for OVN + :rtype: string + """ + return _get_special_codename(version, OVN_CODENAMES) + + +def _get_special_codename(version, codenames): + found = [k for k, v in six.iteritems(codenames) if version in v] + return found[0] def get_os_code_info(package, pkg_version): @@ -1517,6 +1533,8 @@ def get_os_code_info(package, pkg_version): # < Liberty co-ordinated project versions if 'swift' in package: return get_swift_codename(vers) + elif 'ovn' in package: + return get_ovn_codename(vers) else: return OPENSTACK_CODENAMES[vers] diff --git a/zaza/openstack/utilities/os_versions.py b/zaza/openstack/utilities/os_versions.py index 75dc723..33e2fac 100644 --- a/zaza/openstack/utilities/os_versions.py +++ b/zaza/openstack/utilities/os_versions.py @@ -71,7 +71,6 @@ OPENSTACK_RELEASES_PAIRS = [ 'eoan_train', 'bionic_ussuri', 'focal_ussuri', 'focal_victoria', 'groovy_victoria'] -# The ugly duckling - must list releases oldest to newest SWIFT_CODENAMES = OrderedDict([ ('diablo', ['1.4.3']), @@ -113,6 +112,15 @@ SWIFT_CODENAMES = OrderedDict([ ['2.25.0']), ]) +OVN_CODENAMES = OrderedDict([ + ('train', + ['2.12']), + ('ussuri', + ['20.03']), + ('victoria', + ['20.06']), +]) + # >= Liberty version->codename mapping PACKAGE_CODENAMES = { 'nova-common': OrderedDict([ @@ -245,10 +253,6 @@ PACKAGE_CODENAMES = { ('10', 'ussuri'), ('11', 'victoria'), ]), - 'ovn-common': OrderedDict([ - ('2', 'train'), - ('20', 'ussuri'), - ]), 'ceph-common': OrderedDict([ ('10', 'mitaka'), # jewel ('12', 'queens'), # luminous