villebro opened a new pull request, #55:
URL: https://github.com/apache/superset-kubernetes-operator/pull/55

   ## Summary
   
   Groups seven small cleanups into one PR. The only breaking change is the 
condition-type rename (item 1) — the rest are internal fixes, status plumbing, 
and documentation hygiene.
   
   ## Details
   
   1. **Rename `InitComplete` condition** — split the misleading shared 
condition into two:
      - `SupersetLifecycleTask.status.conditions`: `InitComplete` → 
**`TaskComplete`**
      - `Superset.status.conditions`: `InitComplete` → **`LifecycleComplete`**
      The old name was a holdover from when the operator had only an "init" 
task. After the `SupersetInit → SupersetTask` refactor it was firing with 
"Initialization completed successfully" messages on clone, migrate, and rotate 
tasks — a lie. Event reasons (`InitStarted`/`InitFailed`/`InitRetry`) and 
condition reasons/messages were renamed to 
`TaskStarted`/`TaskFailed`/`TaskRetry` for consistency.
   2. **Thread the injected clock through the task timeout branch.** 
`supersetlifecycletask_controller.go` now uses `r.now().Sub(...)` instead of 
`time.Since(...)`, matching the rest of the package and making timeout 
behaviour deterministic under a fake clock.
   3. **Prune parent-owned Python ConfigMaps when a component is removed from 
spec.** Previously `reconcileComponent` returned early when the accessor was 
nil and the `{parent}-{component}` ConfigMap lingered until the parent CR 
itself was deleted.
   4. **Unify the web-server port path.** A new 
`resolveWebServerPort(superset)` helper resolves the first container port from 
the merged top-level + component-level pod template (using the same resolution 
engine as the generic child Service path). It's now used consistently by:
      - the parent-owned web-server Service selector/port,
      - the maintenance page,
      - the rendered `SUPERSET_WEBSERVER_PORT` in `superset_config.py` (via a 
new `ConfigInput.WebServerPort` field).
      Previously a user-specified container port could desync from the Service 
target and the rendered config. Tests added in `renderer_test.go` and 
`maintenance_test.go` (top-level, component, and default cases).
   5. **Populate `status.components.*.configChecksum`** by reading 
`spec.configChecksum` from each child CR via unstructured. The field was 
advertised in the API but left silently empty, making per-component rollout 
tracking impossible from `kubectl`.
   6. **Housekeeping**: removed the unused `componentDescriptor.suffix` field 
(sub-resource suffixes flow through `naming.ResourceBaseName` from 
`componentType`), and fixed the stale `reconcileChildConfigMap` reference in 
the contributor docs — the current design has parent-owned ConfigMaps.
   7. **Include `Message` in the `setCondition` update predicate.** Stale 
diagnostic messages could otherwise persist when status/reason/generation were 
unchanged. `LastTransitionTime` is still preserved on message-only edits.


-- 
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]

Reply via email to