-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
While StatefulSet creation works correctly, the update and reconciliation logic needs refinement to handle changes to Tenant specifications properly and manage rollouts safely.
Current Behavior
- StatefulSet creation works correctly
- Updates and modifications need refinement
- Limited rollout management and safety checks
Desired Behavior
Implement robust StatefulSet reconciliation:
- Detect and apply configuration changes correctly
- Manage rolling updates with proper pod management policy
- Handle StatefulSet spec changes (replicas, image, env vars, resources)
- Validate changes before applying (e.g., prevent unsafe volume changes)
- Track rollout progress in Tenant status
- Handle rollback scenarios
Implementation Considerations
- Implement proper diff detection for StatefulSet specs
- Use
podManagementPolicy(Parallel/OrderedReady) correctly - Add validation for breaking changes (volume topology, storage class)
- Update status with rollout progress
- Consider using
updateStrategyfield appropriately - Add integration tests for update scenarios
Priority
High - Core Stability (from ROADMAP.md)
Related
- StatefulSet creation:
src/types/v1alpha1/tenant.rs:new_statefulset() - Reconciliation logic:
src/reconcile.rs - Part of: Core Stability roadmap phase
Metadata
Metadata
Assignees
Labels
No labels