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_stabilization = 450
pp_phase_name_lookup[pp_phase_stabilization] = "Stabilization" 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) # Phase 600 is "Maintenance" (AKA Z-stream Phase)
pp_phase_maintenance = 600 pp_phase_maintenance = 600
pp_phase_name_lookup[pp_phase_maintenance] = "Maintenance" 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 # Query the "package pages" API for the current active Y-stream release
request_params = { 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", "product__shortname": "rhel",
"relgroup__shortname": rhel_version, "relgroup__shortname": rhel_version,
"format": "json", "format": "json",
@ -678,8 +682,8 @@ def determine_rhel_state(
" Beta" if target_extra and "beta" in target_extra else "", " Beta" if target_extra and "beta" in target_extra else "",
) )
# The prior Y-stream is always in either Stabilization or Maintenance # The prior Y-stream is always in either Stabilization, Launch or
# phase, so it always enforces. # Maintenance phase, so it always enforces.
enforcing = True enforcing = True
if phase == pp_phase_stabilization: if phase == pp_phase_stabilization:
@ -687,7 +691,8 @@ def determine_rhel_state(
# between the "zstream" and "exception" targets. # between the "zstream" and "exception" targets.
rhel_target_default = None rhel_target_default = None
else: 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" rhel_target_default = "zstream"
return rhel_state_nt( return rhel_state_nt(