villebro opened a new pull request, #57:
URL: https://github.com/apache/superset-kubernetes-operator/pull/57
## Summary
This PR hardens the Superset lifecycle pipeline after the single-CRD
refactor by moving lifecycle task execution to deterministic parent-owned
Kubernetes Jobs and tightening drain, maintenance, checksum, and status
semantics.
The goal is to make clone/migrate/rotate/init execution predictable, prevent
duplicate task runs, avoid unnecessary maintenance/drain cycles, and make
`kubectl get/describe` accurately reflect what the operator is doing.
## Details
- Run lifecycle tasks as deterministic Jobs instead of generated bare Pods.
- Prevent duplicate migrate/init execution by reconciling against the actual
Job template image instead of stale parent status.
- Include the target Superset lifecycle image in clone checksums so image
changes can retrigger clone and cascade downstream.
- Drain only when a task that will actually run requires drain.
- Skip maintenance page startup on initial installs with no existing
web-server workload.
- Keep maintenance scoped to web traffic: during maintenance, only
web-server readiness is suppressed; workers report observed readiness.
- Add `Lifecycle` as a `kubectl get supersets` print column.
- Keep top-level `PHASE` high-level (`Initializing`, `Upgrading`, `Running`,
etc.) and use `LIFECYCLE` for step-level state (`Draining`, `Migrating`,
`Restoring`, etc.).
- Add `Restoring` lifecycle phase for the post-task component rollout /
maintenance switchback window.
- Update status aggregation, API docs, CRDs, architecture docs, and
lifecycle guide.
- Add regression coverage for duplicate Jobs, checksum behavior, drain
decisions, maintenance gating, and lifecycle/status reporting.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]