You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add HypervisorReadyController to centralize Ready condition logic
Introduces a new ReadyController that computes the Ready condition
based on other conditions (Onboarding, Offboarded, Terminating, Evicting)
and the maintenance spec field.
Changes:
- Add internal/controller/ready package with controller and tests
- Remove Ready condition setting from OnboardingController
- Remove Ready condition setting from MaintenanceController
- Remove Ready condition setting from OffboardingController
- Remove Ready condition setting from HypervisorController
- Update OffboardingController to use Offboarded condition for state tracking
The ReadyController uses a StatusChangedPredicate that triggers on:
- Status changes
- Maintenance field changes (since it affects Ready condition)
Ready condition priority:
1. Offboarded=True -> Ready=False
2. Terminating=True -> Ready=False
3. Onboarding in progress -> Ready=False
4. Maintenance mode (with eviction state) -> Ready=False
5. Onboarding not succeeded -> Ready=False
6. All checks pass -> Ready=True
0 commit comments