Use correct release file for periodic jobs

After emit releases script refactoring, we were using
{stable_release}.yml as release file for fs010 periodic jobs
The correct release file for it should use
promotion-testing-hash-{stable_release}.yml

Closes-Bug: 1779108

Change-Id: I7bd0ebba906887db31c34085a1c8a7efa31871a9
This commit is contained in:
Quique Llorente
2018-06-28 15:13:37 +02:00
parent c605fd193f
commit 90cce3d112
3 changed files with 85 additions and 11 deletions

View File

@@ -173,10 +173,13 @@ def compose_releases_dictionary(stable_release, featureset, upgrade_from):
return releases_dictionary
def shim_convert_old_release_names(releases_names):
def shim_convert_old_release_names(releases_names, is_periodic):
# TODO(trown): Remove this shim when we no longer need to use the
# old style double release files.
# Remove unspected side-effects
modified_releases_name = releases_names.copy()
oc_deploy_release = releases_names['overcloud_deploy_release']
oc_target_release = releases_names['overcloud_target_release']
uc_install_release = releases_names['undercloud_install_release']
@@ -184,12 +187,19 @@ def shim_convert_old_release_names(releases_names):
if oc_deploy_release != oc_target_release:
release_file = "{}-undercloud-{}-overcloud".format(
uc_install_release, oc_deploy_release)
releases_names['undercloud_install_release'] = release_file
releases_names['undercloud_target_release'] = release_file
releases_names['overcloud_deploy_release'] = release_file
releases_names['overcloud_target_release'] = release_file
modified_releases_name['undercloud_install_release'] = release_file
modified_releases_name['undercloud_target_release'] = release_file
modified_releases_name['overcloud_deploy_release'] = release_file
modified_releases_name['overcloud_target_release'] = release_file
elif is_periodic:
for key in [
'undercloud_install_release', 'undercloud_target_release',
'overcloud_deploy_release', 'overcloud_target_release'
]:
modified_releases_name[
key] = "promotion-testing-hash-" + releases_names[key]
return releases_names
return modified_releases_name
def write_releases_dictionary_to_bash(releases_dictionary, bash_file_name):
@@ -246,6 +256,10 @@ if __name__ == '__main__':
help='Upgrade FROM the change under test instead\n'
'of the default of upgrading TO the change\n'
'under test.')
parser.add_argument('--is-periodic', action='store_true',
help='Specify if the current running job is periodic')
args = parser.parse_args()
setup_logging(args.log_file)
@@ -257,7 +271,8 @@ if __name__ == '__main__':
featureset,
args.upgrade_from)
releases_dictionary = shim_convert_old_release_names(releases_dictionary)
releases_dictionary = shim_convert_old_release_names(releases_dictionary,
args.is_periodic)
if not write_releases_dictionary_to_bash(
releases_dictionary, args.output_file):

View File

@@ -22,7 +22,12 @@ def test_converting_from_oc_upgrade_has_double_release():
'overcloud_target_release': 'master-undercloud-queens-overcloud',
'overcloud_target_hash': 'current-tripleo',
}
assert (shim_convert_old_release_names(releases_name) ==
assert (shim_convert_old_release_names(releases_name, is_periodic=False) ==
expected_releases_file)
# Also periodic jobs use the same release files
assert (shim_convert_old_release_names(releases_name, is_periodic=True) ==
expected_releases_file)
@@ -47,7 +52,32 @@ def test_converting_from_uc_upgrade_has_single_release():
'overcloud_target_release': 'master',
'overcloud_target_hash': 'current-tripleo',
}
assert (shim_convert_old_release_names(releases_name) ==
assert (shim_convert_old_release_names(releases_name, is_periodic=False) ==
expected_releases_file)
def test_converting_from_periodic_uc_upgrade_has_single_release_with_sufix():
releases_name = {
'undercloud_install_release': 'queens',
'undercloud_install_hash': 'current-tripleo',
'undercloud_target_release': 'master',
'undercloud_target_hash': 'current-tripleo',
'overcloud_deploy_release': 'master',
'overcloud_deploy_hash': 'current-tripleo',
'overcloud_target_release': 'master',
'overcloud_target_hash': 'current-tripleo',
}
expected_releases_file = {
'undercloud_install_release': 'promotion-testing-hash-queens',
'undercloud_install_hash': 'current-tripleo',
'undercloud_target_release': 'promotion-testing-hash-master',
'undercloud_target_hash': 'current-tripleo',
'overcloud_deploy_release': 'promotion-testing-hash-master',
'overcloud_deploy_hash': 'current-tripleo',
'overcloud_target_release': 'promotion-testing-hash-master',
'overcloud_target_hash': 'current-tripleo',
}
assert (shim_convert_old_release_names(releases_name, is_periodic=True) ==
expected_releases_file)
@@ -72,5 +102,30 @@ def test_converting_from_noop_has_single_release():
'overcloud_target_release': 'master',
'overcloud_target_hash': 'current-tripleo',
}
assert (shim_convert_old_release_names(releases_name) ==
assert (shim_convert_old_release_names(releases_name, is_periodic=False) ==
expected_releases_file)
def test_converting_from_periodic_noop_has_single_release_with_sufix():
releases_name = {
'undercloud_install_release': 'master',
'undercloud_install_hash': 'current-tripleo',
'undercloud_target_release': 'master',
'undercloud_target_hash': 'current-tripleo',
'overcloud_deploy_release': 'master',
'overcloud_deploy_hash': 'current-tripleo',
'overcloud_target_release': 'master',
'overcloud_target_hash': 'current-tripleo',
}
expected_releases_file = {
'undercloud_install_release': 'promotion-testing-hash-master',
'undercloud_install_hash': 'current-tripleo',
'undercloud_target_release': 'promotion-testing-hash-master',
'undercloud_target_hash': 'current-tripleo',
'overcloud_deploy_release': 'promotion-testing-hash-master',
'overcloud_deploy_hash': 'current-tripleo',
'overcloud_target_release': 'promotion-testing-hash-master',
'overcloud_target_hash': 'current-tripleo',
}
assert (shim_convert_old_release_names(releases_name, is_periodic=True) ==
expected_releases_file)