determine_rhel_state: recognize "Launch" phase

There is now a period in the schedule where submissions are no longer
accepted as Exceptions before the actual release of the minor release.
This patch adds support for identifying that phase and handling it
cleanly.

Fixes: CS-2620

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
This commit is contained in:
Stephen Gallagher 2024-11-12 10:09:13 -05:00
parent 225841507e
commit 606f6040c2

View file

@ -40,6 +40,10 @@ pp_phase_name_lookup[pp_phase_devtestdoc] = "DevTestDoc"
pp_phase_stabilization = 450
pp_phase_name_lookup[pp_phase_stabilization] = "Stabilization"
# Phase 500 is "Launch"
pp_phase_launch = 500
pp_phase_name_lookup[pp_phase_launch] = "Launch"
# Phase 600 is "Maintenance" (AKA Z-stream Phase)
pp_phase_maintenance = 600
pp_phase_name_lookup[pp_phase_maintenance] = "Maintenance"
@ -547,7 +551,7 @@ def determine_rhel_state(
# Query the "package pages" API for the current active Y-stream release
request_params = {
"phase__in": f"{pp_phase_devtestdoc},{pp_phase_stabilization},{pp_phase_maintenance},{pp_phase_unsupported}",
"phase__in": f"{pp_phase_devtestdoc},{pp_phase_stabilization},{pp_phase_launch},{pp_phase_maintenance},{pp_phase_unsupported}",
"product__shortname": "rhel",
"relgroup__shortname": rhel_version,
"format": "json",
@ -678,8 +682,8 @@ def determine_rhel_state(
" Beta" if target_extra and "beta" in target_extra else "",
)
# The prior Y-stream is always in either Stabilization or Maintenance
# phase, so it always enforces.
# The prior Y-stream is always in either Stabilization, Launch or
# Maintenance phase, so it always enforces.
enforcing = True
if phase == pp_phase_stabilization:
@ -687,7 +691,8 @@ def determine_rhel_state(
# between the "zstream" and "exception" targets.
rhel_target_default = None
else:
# We must be in Maintenance phase
# We're in Launch or Maintenance phase, so the "exception" target
# is no longer permitted.
rhel_target_default = "zstream"
return rhel_state_nt(