Summary
Hook execution phases are currently only visible on the Exporter resource (BeforeLeaseHook, AfterLeaseHook, etc.), not on the Lease itself. A client watching its Lease object cannot tell whether hooks are running -- it must cross-reference the Exporter status.
Current state
Exporter status.exporterStatus has: Available, BeforeLeaseHook, LeaseReady, AfterLeaseHook, BeforeLeaseHookFailed, AfterLeaseHookFailed
Lease status.conditions only has: Pending, Ready, Unsatisfiable, Invalid
Proposal
Add hook-aware condition types or a phase field to the Lease status so that clients can observe the full lifecycle from the Lease resource alone, e.g.:
BeforeLeaseHook — pre-lease hook is executing
Ready — hooks completed, drivers available (existing)
AfterLeaseHook — post-lease cleanup hook is executing
HookFailed — a hook failed (with message indicating which one)
Context
Follows up on #104 which was implemented on the Exporter side. This issue covers the Lease side.
Summary
Hook execution phases are currently only visible on the Exporter resource (
BeforeLeaseHook,AfterLeaseHook, etc.), not on the Lease itself. A client watching its Lease object cannot tell whether hooks are running -- it must cross-reference the Exporter status.Current state
Exporter
status.exporterStatushas:Available,BeforeLeaseHook,LeaseReady,AfterLeaseHook,BeforeLeaseHookFailed,AfterLeaseHookFailedLease
status.conditionsonly has:Pending,Ready,Unsatisfiable,InvalidProposal
Add hook-aware condition types or a phase field to the Lease status so that clients can observe the full lifecycle from the Lease resource alone, e.g.:
BeforeLeaseHook— pre-lease hook is executingReady— hooks completed, drivers available (existing)AfterLeaseHook— post-lease cleanup hook is executingHookFailed— a hook failed (with message indicating which one)Context
Follows up on #104 which was implemented on the Exporter side. This issue covers the Lease side.