-
Bug
-
Resolution: Not a Bug
-
Major
-
None
-
4.17.z
-
Critical
-
None
-
False
-
Description of problem:
As of today (24/12/2024), the EUS-4.14 and EUS-4.16 channels display version 4.14.43 as an available upgrade for clusters running 4.14.35. However, there is no upgrade path from 4.14.43 to 4.15.z, effectively blocking the upgrade journey towards 4.16.z. While it's reasonable to expect customers to plan their upgrade paths in advance, many are unaware of such blockers. They often rely on the oc adm upgrade command, which shows the latest 4.14.z version as available before transitioning to 4.15.z. This can lead to customers unintentionally upgrading to 4.14.43, only to discover there is no path forward to 4.15.z. Since EUS-to-EUS upgrade paths are primarily used to transition from one EUS release to the next, the likelihood of encountering such blockers is significantly higher. To mitigate this, EUS upgrade paths should prevent displaying z-stream updates that lack an available path to the next y-stream version.
Version-Release number of selected component (if applicable):
4.17.z
How reproducible:
Always
Steps to Reproduce:
1. Set the current version and EUS channel: ~~~ # export CURRENT_VERSION=4.14.35; # export CHANNEL_NAME=eus-4.14; ~~~ 2. List all the avaialble upgrades: ~~~ # curl -sH 'Accept:application/json' "https://api.openshift.com/api/upgrades_info/v1/graph?channel=${CHANNEL_NAME}" | jq -r --arg CURRENT_VERSION "${CURRENT_VERSION}" '. as $graph | $graph.nodes | map(.version=='\"$CURRENT_VERSION\"') | index(true) as $orig | $graph.edges | map(select(.[0] == $orig)[1]) | map($graph.nodes[.].version) | sort_by(.)' [ "4.14.36", "4.14.37", "4.14.38", "4.14.39", "4.14.41", "4.14.42", "4.14.43" ] ~~~ 3. As you can see in above output, it shows the latest 4.14.z version i.e 4.14.43. 4. If I upgrade my cluster to 4.14.43, then I dont have any path avaialble to upgrade to 4.15.z (even in fast channel) and this blocks my 4.16.z upgrade journey. ~~~ # export CURRENT_VERSION=4.14.43; # export CHANNEL_NAME=eus-4.14; # curl -sH 'Accept:application/json' "https://api.openshift.com/api/upgrades_info/v1/graph?channel=${CHANNEL_NAME}" | jq -r --arg CURRENT_VERSION "${CURRENT_VERSION}" '. as $graph | $graph.nodes | map(.version=='\"$CURRENT_VERSION\"') | index(true) as $orig | $graph.edges | map(select(.[0] == $orig)[1]) | map($graph.nodes[.].version) | sort_by(.)' [] <no-output> ~~~