fix(deploy): transition node intelligence source atomically
This commit is contained in:
@@ -418,12 +418,15 @@ ENGINE_PROVIDER_ROTATING_SLOT_TARGET_SHA256 = {
|
||||
}
|
||||
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_ARTIFACT_ENTRIES = (
|
||||
"nodedc-source/server/nodeIntelligence/upstreamProjection.js",
|
||||
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL,
|
||||
)
|
||||
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_PREDECESSOR_SHA256 = {
|
||||
"nodedc-source/server/nodeIntelligence/upstreamProjection.js": "761a874b102a938bc6018159ddacdaac71ad6ae08e9f0f8d7f3b58a0165a5131",
|
||||
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL: "a9e280520bc487e0b421c548ec840eeb2b8389b6e04f764690250ea1d34cd23e",
|
||||
}
|
||||
ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_TARGET_SHA256 = {
|
||||
"nodedc-source/server/nodeIntelligence/upstreamProjection.js": "2dfa6b4f37d9bfa8b92a8109d4060d02dd2634ceb8f7924504b83ccf3fdd1523",
|
||||
ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL: "a8adb8c03e1a82ff683c99a8c6482c78eca1b63422e7e7e417424363b995079e",
|
||||
}
|
||||
ENGINE_DEPTTRANS_ZONE_AUTHORITY_V1_ARTIFACT_ENTRIES = (
|
||||
"nodedc-source/server/assets/provider-packages/v1/catalog.json",
|
||||
@@ -4638,6 +4641,19 @@ def validate_engine_provider_authority_diagnostics_slice(payload_dir, entries):
|
||||
)
|
||||
if any(marker not in source for marker in required_markers):
|
||||
die("Engine private node validation reconciliation contract mismatch")
|
||||
descriptor = read_engine_node_intelligence_descriptor(
|
||||
payload_dir / ENGINE_NODE_INTELLIGENCE_DESCRIPTOR_REL,
|
||||
"Engine private node validation reconciliation descriptor",
|
||||
)
|
||||
if (
|
||||
descriptor.get("action") != "activate"
|
||||
or descriptor.get("releaseId") != "2.33.2-974a9fb3492f"
|
||||
or descriptor.get("source", {}).get("upstreamProjectionSha256")
|
||||
!= ENGINE_PROVIDER_AUTHORITY_DIAGNOSTICS_TARGET_SHA256[
|
||||
"nodedc-source/server/nodeIntelligence/upstreamProjection.js"
|
||||
]
|
||||
):
|
||||
die("Engine private node validation reconciliation descriptor mismatch")
|
||||
|
||||
|
||||
def validate_engine_depttrans_zone_authority_v1_slice(payload_dir, entries):
|
||||
|
||||
Reference in New Issue
Block a user