159 lines
7.7 KiB
Python
159 lines
7.7 KiB
Python
from emit_releases_file import compose_releases_dictionary
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.parametrize('stable_release,expected_releases',
|
|
[('master', {
|
|
'undercloud_install_release': 'master',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'master',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'queens',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'master',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}), ('queens', {
|
|
'undercloud_install_release': 'queens',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'queens',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'pike',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'queens',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}), ('pike', {
|
|
'undercloud_install_release': 'pike',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'pike',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'ocata',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'pike',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
})])
|
|
def test_overcloud_upgrade_is_n_minus_one_to_n(stable_release,
|
|
expected_releases):
|
|
featureset = {
|
|
'mixed_upgrade': True,
|
|
'overcloud_upgrade': True,
|
|
}
|
|
assert (compose_releases_dictionary(stable_release,
|
|
featureset) == expected_releases)
|
|
|
|
|
|
@pytest.mark.parametrize('stable_release,expected_releases', [
|
|
('queens', {
|
|
'undercloud_install_release': 'queens',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'queens',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'newton',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'queens',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}),
|
|
])
|
|
def test_ffu_overcloud_upgrade_is_n_minus_three_to_n(stable_release,
|
|
expected_releases):
|
|
featureset = {
|
|
'mixed_upgrade': True,
|
|
'ffu_overcloud_upgrade': True,
|
|
}
|
|
assert (compose_releases_dictionary(stable_release,
|
|
featureset) == expected_releases)
|
|
|
|
|
|
@pytest.mark.parametrize('stable_release,expected_releases', [
|
|
('master', {
|
|
'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',
|
|
}),
|
|
])
|
|
def test_undercloud_upgrade_is_n_minus_one_to_n(stable_release,
|
|
expected_releases):
|
|
featureset = {
|
|
'undercloud_upgrade': True,
|
|
}
|
|
assert (compose_releases_dictionary(stable_release,
|
|
featureset) == expected_releases)
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
'stable_release,expected_releases',
|
|
[('master', {
|
|
'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': 'previous-current-tripleo',
|
|
'overcloud_target_release': 'master',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}), ('queens', {
|
|
'undercloud_install_release': 'queens',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'queens',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'queens',
|
|
'overcloud_deploy_hash': 'previous-current-tripleo',
|
|
'overcloud_target_release': 'queens',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
})])
|
|
def test_overcloud_update_target_is_hash(stable_release, expected_releases):
|
|
featureset = {
|
|
'overcloud_update': True,
|
|
}
|
|
assert (compose_releases_dictionary(stable_release,
|
|
featureset) == expected_releases)
|
|
|
|
|
|
@pytest.mark.parametrize('stable_release,expected_releases',
|
|
[('master', {
|
|
'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',
|
|
}), ('queens', {
|
|
'undercloud_install_release': 'queens',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'queens',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'queens',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'queens',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}), ('pike', {
|
|
'undercloud_install_release': 'pike',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'pike',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'pike',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'pike',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
}), ('ocata', {
|
|
'undercloud_install_release': 'ocata',
|
|
'undercloud_install_hash': 'current-tripleo',
|
|
'undercloud_target_release': 'ocata',
|
|
'undercloud_target_hash': 'current-tripleo',
|
|
'overcloud_deploy_release': 'ocata',
|
|
'overcloud_deploy_hash': 'current-tripleo',
|
|
'overcloud_target_release': 'ocata',
|
|
'overcloud_target_hash': 'current-tripleo',
|
|
})])
|
|
def test_noop_target_is_the_same(stable_release, expected_releases):
|
|
featureset = {}
|
|
assert (compose_releases_dictionary(stable_release,
|
|
featureset) == expected_releases)
|