Commit 2ddc125
authored
fix(cicd): allow skipped Deploy-to-Morpheus-P-Node to satisfy C-Node deploy needs (#716)
## Summary
Promotes the #715 hotfix from `dev` → `test` so we can retry the v7 test
deploy and actually exercise the new drain / hold / re-register sequence
end-to-end.
## What's in this PR
Single-commit delta ahead of `test`:
- **`2b14c58` — fix(cicd): allow skipped Deploy-to-Morpheus-P-Node to
satisfy C-Node deploy needs** (merged via #715)
Everything else in `dev` is already on `test` from #714.
## Background
First v7 test run ([Actions run #1447 / run id
24796856145](https://github.com/MorpheusAIs/Morpheus-Lumerin-Node/actions/runs/24796856145))
revealed a correctness gap in the workflow from #713/#714:
- `Drain-Morpheus-C-Node` ran and successfully drained the dev C-Node
targets from both NLB target groups.
- `Deploy-to-Morpheus-P-Node` was correctly skipped (main-only).
- `Deploy-to-Morpheus-C-Node` was **silently skipped** because the
implicit `success()` guard propagated the skip from the P-Node job —
GitHub Actions treats skipped `needs` as non-success, contrary to the
inline comment in the previous PR.
- Dev C-Node remained functional in ECS but without LB membership until
manually re-registered.
## Fix (this PR carries)
Explicit `if` guard on `Deploy-to-Morpheus-C-Node` that:
- Requires real success from `GHCR-Build-and-Push` and
`Drain-Morpheus-C-Node`.
- Accepts either `success` or `skipped` as the outcome for
`Deploy-to-Morpheus-P-Node`.
- Wraps everything in `!cancelled()` to short-circuit on manual cancel.
The misleading comment is replaced with an accurate explanation
referencing this incident.
## Expected behavior after merge to test
On push to `test` the sequence becomes:
1. Build + test + GHCR push (~10–20 min).
2. `Drain-Morpheus-C-Node` ✅ deregisters the existing dev C-Node
targets.
3. `Deploy-to-Morpheus-P-Node` skipped (expected).
4. `Deploy-to-Morpheus-C-Node` ✅ **runs this time** because the new `if`
accepts the P-Node skip:
- `update-service` with `--health-check-grace-period-seconds 600`.
- Poll new task ENI IP.
- Deregister IP from TGs.
- Sleep 90s (`cnode_rehydration_wait_secs`).
- Re-register IP, `wait target-in-service`.
- Public `/healthcheck` version match on `router.dev.mor.org:8082`.
5. `Deploy-to-Titan` + `Deploy-TEE-SecretVM-test` run in parallel to the
deploy sequence (unchanged).
On dev the rehydration hold is effectively a no-op because EFS-backed
BadgerDB is persistent there — perfect for a first validation of the
workflow plumbing without depending on rehydration correctness.
## Review focus
- The new `if` block on `Deploy-to-Morpheus-C-Node` (lines ~1298–1320 of
`build.yml`).
- Reasoning captured in the inline comment.
- No changes to deploy logic, drain logic, or sequencing — only the
guard.
## Test plan (after you merge to test)
1. Merge triggers the deploy workflow against dev.
2. Confirm `Deploy-to-Morpheus-Consumer` enters `in_progress` (not
skipped) after the drain completes.
3. Watch the controlled-traffic sequence:
- New task gets an ENI IP.
- `deregister-targets` runs.
- 90s hold.
- `register-targets` + `wait target-in-service` succeed.
- `/healthcheck` version-match passes on the new image tag.
4. If green, proceed with `test` → `main` for the first prd exercise
(existing open PR).
## Related
- Previous merges on the new CICD flow: #713, #714, #715.
- Companion IAM + planning doc already applied in `Morpheus-Infra`.
Made with [Cursor](https://cursor.com)1 file changed
Lines changed: 17 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1297 | 1297 | | |
1298 | 1298 | | |
1299 | 1299 | | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
| 1303 | + | |
| 1304 | + | |
| 1305 | + | |
| 1306 | + | |
| 1307 | + | |
| 1308 | + | |
| 1309 | + | |
| 1310 | + | |
| 1311 | + | |
1300 | 1312 | | |
| 1313 | + | |
1301 | 1314 | | |
| 1315 | + | |
| 1316 | + | |
| 1317 | + | |
1302 | 1318 | | |
1303 | | - | |
| 1319 | + | |
1304 | 1320 | | |
1305 | 1321 | | |
1306 | 1322 | | |
1307 | 1323 | | |
1308 | 1324 | | |
1309 | 1325 | | |
1310 | | - | |
1311 | | - | |
1312 | 1326 | | |
1313 | 1327 | | |
1314 | 1328 | | |
| |||
0 commit comments