deploy: keep manager health out of plan
This commit is contained in:
@@ -12234,7 +12234,33 @@ def validate_device_plane_manager_v3_active_baseline(descriptor):
|
||||
}
|
||||
|
||||
|
||||
def validate_device_plane_manager_activation_predecessor(payload_dir):
|
||||
def device_plane_manager_preserved_runtime_health_services(descriptor):
|
||||
if descriptor.get("schemaVersion") == (
|
||||
"nodedc.device-plane.device-manager-release.v3"
|
||||
):
|
||||
return (
|
||||
"device-control-core",
|
||||
"device-postgres",
|
||||
)
|
||||
return ("device-postgres",)
|
||||
|
||||
|
||||
def validate_device_plane_manager_preserved_runtime_health(descriptor):
|
||||
services = device_plane_manager_preserved_runtime_health_services(
|
||||
descriptor
|
||||
)
|
||||
for service in services:
|
||||
healthcheck_compose_service("device-plane", service)
|
||||
return services
|
||||
|
||||
|
||||
def validate_device_plane_manager_activation_predecessor(
|
||||
payload_dir,
|
||||
*,
|
||||
preflight_phase,
|
||||
):
|
||||
if preflight_phase not in ("plan", "apply"):
|
||||
die("Device Manager predecessor preflight phase is invalid")
|
||||
descriptor = validate_device_plane_manager_release_payload(
|
||||
payload_dir
|
||||
)
|
||||
@@ -12367,13 +12393,16 @@ def validate_device_plane_manager_activation_predecessor(payload_dir):
|
||||
)
|
||||
if installed_descriptor != predecessor_descriptor:
|
||||
die("Device Manager release predecessor is not current")
|
||||
for service in (
|
||||
"device-control-core",
|
||||
"device-manager",
|
||||
"device-postgres",
|
||||
):
|
||||
healthcheck_compose_service("device-plane", service)
|
||||
runtime = {"accepted": True}
|
||||
runtime = {
|
||||
"accepted": True,
|
||||
"preservedRuntimeHealth": "deferred-to-apply",
|
||||
}
|
||||
if preflight_phase == "apply":
|
||||
runtime["preservedRuntimeHealth"] = (
|
||||
validate_device_plane_manager_preserved_runtime_health(
|
||||
descriptor
|
||||
)
|
||||
)
|
||||
v3_baseline = validate_device_plane_manager_v3_active_baseline(
|
||||
descriptor
|
||||
)
|
||||
@@ -19306,7 +19335,8 @@ def plan_artifact(artifact):
|
||||
):
|
||||
device_plane_manager_activation_preflight = (
|
||||
validate_device_plane_manager_activation_predecessor(
|
||||
payload_dir
|
||||
payload_dir,
|
||||
preflight_phase="plan",
|
||||
)
|
||||
)
|
||||
if is_device_plane_edge_core_channel_bootstrap_slice(
|
||||
@@ -24614,7 +24644,8 @@ def apply_artifact(artifact):
|
||||
entries,
|
||||
):
|
||||
validate_device_plane_manager_activation_predecessor(
|
||||
payload_dir
|
||||
payload_dir,
|
||||
preflight_phase="apply",
|
||||
)
|
||||
if is_device_plane_edge_core_channel_bootstrap_slice(
|
||||
component,
|
||||
|
||||
Reference in New Issue
Block a user