-
Notifications
You must be signed in to change notification settings - Fork 95
Upgrade Base Versions
We assign the upgrade base_versions from pipelines (eg: jenkins-pipelines/rolling-upgrade-*.jenkinsfile), and the base_versions parameter will be filtered by supportedUpgradeFromVersions.groovy.
We don't support to migrate from enterprise to OSS version, and we share SCT master branch with scylla-master and scylla-enterprise tests. So the enterprise base version should be filtered out in OSS tests.
The base_versions needs to be updated when we have new releases or start to support new distros (eg: centos-9, debian-11, ubuntu-22.04, oel-10, sles), we also need to maintain the base_version of old branches.
@amoskong sent a PR (https://github.com/scylladb/scylla-cluster-tests/pull/3794) to make the base version configuration easily.
Setting the base_versions to an empty list in jenkins-pipelines/rolling-upgrade-*.jenkinsfile, then it will switch to Auto Mode
. A hydra command will be executed to generate a supported base versions list.
- base_versions: ['2020.1', '4.5', '2021.1'],`
- linux_distro: 'centos',`
+ base_versions: [], // auto mode`
+ linux_distro: 'centos-8',`
I didn't implement all the function by groovy, but implement it with a a new hydra command 'get-base-versions', which reused the helper functions to detect the scylla repo from s3.
hydra get-scylla-base-versions --only-print-versions true \
--linux-distro centos \
--scylla-repo http://downloads.scylladb.com/unstable/scylla/master\
/rpm/centos/2021-08-29T00:58:58Z/scylla.repo
Supported Versions: ['1.0', '1.1', '1.2', '1.3', '1.4', '1.5',
'1.6', '1.7', '2.0', '2.1', '2.2', '2.3', '2018.1', '2019.1',
'2020.1', '2021.1', '3.0', '3.1', '3.2', '3.3', '4.0', '4.1',
'4.2', '4.3', '4.4', '4.5']
Base Versions: 4.5
There are two config in utils/get_supported_scylla_base_versions.py
. supported_srt_oss
needs to be updated when we have a new scylla-enterprise
release. start_support_versions
needs to be updated when scylla starts to support a new distro.
- supported_srt_oss
- We support to migrate from specific OSS version to enterprise, each enterprise release is based on specific OSS version.
supported_src_oss = {'2021.1': '4.3', '2020.1': '4.0', '2019.1': '3.0'}
- start_support_versions
- If new support distro shared repo with others, we need to assign the start support versions. eg: centos8
start_support_versions = {'centos-8': {'scylla': '4.1', 'enterprise': '2021.1'}}
We need to update supported_src_oos
when we have new enterprise release.
If a new supported distro (eg: centos-9) shares scylla repo with others,
we need to update supported_src_oos
. debian-11 / ubuntu 2204 has
independent repo so it will be detected automatically.
Branches that we keep sending backports from master
- branch-4.0
- branch-4.1
- branch-2019.1
- branch-perf-v9
- manager-2.1
Branches that we are sending critical backports from master only
- branch-3.3
- branch-2019.1
- manager-2.0
a branch that we still have jobs for, and using, but can't get backports from master anymore
- manager-v1.2
- manager-v1.3
- manager-v1.3.1
- manager-v1.4
Older unused branches will be deleted on a regular basis.