@@ -49,6 +49,14 @@ type RebootNodeStatus struct {
4949 // CompletionTime is the time when the reboot was completed
5050 CompletionTime * metav1.Time `json:"completionTime,omitempty"`
5151
52+ // RetryCount tracks the number of reconciliation attempts for this reboot operation
53+ // Used to implement maximum retry limits to prevent indefinite reconciliation
54+ RetryCount int32 `json:"retryCount,omitempty"`
55+
56+ // ConsecutiveFailures tracks consecutive CSP operation failures for exponential backoff
57+ // Reset to 0 on successful operations
58+ ConsecutiveFailures int32 `json:"consecutiveFailures,omitempty"`
59+
5260 // Conditions represent the latest available observations of an object's current state.
5361 Conditions []metav1.Condition `json:"conditions,omitempty"`
5462}
@@ -184,6 +192,33 @@ func (r *RebootNode) SetCompletionTime() {
184192 }
185193}
186194
195+ // Interface implementation for generic status update handling
196+
197+ // GetRetryCount returns the retry count
198+ func (s * RebootNodeStatus ) GetRetryCount () int32 {
199+ return s .RetryCount
200+ }
201+
202+ // GetConsecutiveFailures returns the consecutive failures count
203+ func (s * RebootNodeStatus ) GetConsecutiveFailures () int32 {
204+ return s .ConsecutiveFailures
205+ }
206+
207+ // GetStartTime returns the start time
208+ func (s * RebootNodeStatus ) GetStartTime () * metav1.Time {
209+ return s .StartTime
210+ }
211+
212+ // GetCompletionTime returns the completion time
213+ func (s * RebootNodeStatus ) GetCompletionTime () * metav1.Time {
214+ return s .CompletionTime
215+ }
216+
217+ // GetConditions returns the conditions
218+ func (s * RebootNodeStatus ) GetConditions () []metav1.Condition {
219+ return s .Conditions
220+ }
221+
187222func init () {
188223 SchemeBuilder .Register (& RebootNode {}, & RebootNodeList {})
189224}
0 commit comments