Record ObservedGeneration in status Kustomization
This commit is contained in:
parent
e462adbf47
commit
99482c8db8
|
|
@ -126,25 +126,10 @@ type KustomizationStatus struct {
|
|||
Snapshot *Snapshot `json:"snapshot,omitempty"`
|
||||
}
|
||||
|
||||
func KustomizationReady(kustomization Kustomization, snapshot *Snapshot, revision, reason, message string) Kustomization {
|
||||
kustomization.Status.Conditions = []Condition{
|
||||
{
|
||||
Type: ReadyCondition,
|
||||
Status: corev1.ConditionTrue,
|
||||
LastTransitionTime: metav1.Now(),
|
||||
Reason: reason,
|
||||
Message: message,
|
||||
},
|
||||
}
|
||||
kustomization.Status.Snapshot = snapshot
|
||||
kustomization.Status.LastAppliedRevision = revision
|
||||
kustomization.Status.LastAttemptedRevision = revision
|
||||
|
||||
return kustomization
|
||||
}
|
||||
|
||||
func KustomizationProgressing(kustomization Kustomization) Kustomization {
|
||||
kustomization.Status.Conditions = []Condition{
|
||||
// KustomizationProgressing resets the conditions of the given Kustomization to a single
|
||||
// ReadyCondition with status ConditionUnknown.
|
||||
func KustomizationProgressing(k Kustomization) Kustomization {
|
||||
k.Status.Conditions = []Condition{
|
||||
{
|
||||
Type: ReadyCondition,
|
||||
Status: corev1.ConditionUnknown,
|
||||
|
|
@ -153,39 +138,54 @@ func KustomizationProgressing(kustomization Kustomization) Kustomization {
|
|||
Message: "reconciliation in progress",
|
||||
},
|
||||
}
|
||||
return kustomization
|
||||
return k
|
||||
}
|
||||
|
||||
func KustomizationNotReady(kustomization Kustomization, revision, reason, message string) Kustomization {
|
||||
kustomization.Status.Conditions = []Condition{
|
||||
{
|
||||
Type: ReadyCondition,
|
||||
Status: corev1.ConditionFalse,
|
||||
// SetKustomizationCondition sets the given condition with the given status, reason and message
|
||||
// on the Kustomization.
|
||||
func SetKustomizationCondition(k *Kustomization, condition string, status corev1.ConditionStatus, reason, message string) {
|
||||
k.Status.Conditions = filterOutCondition(k.Status.Conditions, condition)
|
||||
k.Status.Conditions = append(k.Status.Conditions, Condition{
|
||||
Type: condition,
|
||||
Status: status,
|
||||
LastTransitionTime: metav1.Now(),
|
||||
Reason: reason,
|
||||
Message: message,
|
||||
},
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// SetKustomizeReadiness sets the ReadyCondition, ObservedGeneration, and LastAttemptedRevision,
|
||||
// on the Kustomization.
|
||||
func SetKustomizationReadiness(k *Kustomization, status corev1.ConditionStatus, reason, message string, revision string) {
|
||||
SetKustomizationCondition(k, ReadyCondition, status, reason, message)
|
||||
k.Status.ObservedGeneration = k.Generation
|
||||
k.Status.LastAttemptedRevision = revision
|
||||
}
|
||||
|
||||
// KustomizationNotReady registers a failed apply attempt of the given Kustomization.
|
||||
func KustomizationNotReady(k Kustomization, revision, reason, message string) Kustomization {
|
||||
SetKustomizationReadiness(&k, corev1.ConditionFalse, reason, message, revision)
|
||||
if revision != "" {
|
||||
kustomization.Status.LastAttemptedRevision = revision
|
||||
k.Status.LastAttemptedRevision = revision
|
||||
}
|
||||
return kustomization
|
||||
return k
|
||||
}
|
||||
|
||||
func KustomizationNotReadySnapshot(kustomization Kustomization, snapshot *Snapshot, revision, reason, message string) Kustomization {
|
||||
kustomization.Status.Conditions = []Condition{
|
||||
{
|
||||
Type: ReadyCondition,
|
||||
Status: corev1.ConditionFalse,
|
||||
LastTransitionTime: metav1.Now(),
|
||||
Reason: reason,
|
||||
Message: message,
|
||||
},
|
||||
}
|
||||
kustomization.Status.Snapshot = snapshot
|
||||
kustomization.Status.LastAttemptedRevision = revision
|
||||
// KustomizationNotReady registers a failed apply attempt of the given Kustomization,
|
||||
// including a Snapshot.
|
||||
func KustomizationNotReadySnapshot(k Kustomization, snapshot *Snapshot, revision, reason, message string) Kustomization {
|
||||
SetKustomizationReadiness(&k, corev1.ConditionFalse, reason, message, revision)
|
||||
k.Status.Snapshot = snapshot
|
||||
k.Status.LastAttemptedRevision = revision
|
||||
return k
|
||||
}
|
||||
|
||||
return kustomization
|
||||
// KustomizationReady registers a successful apply attempt of the given Kustomization.
|
||||
func KustomizationReady(k Kustomization, snapshot *Snapshot, revision, reason, message string) Kustomization {
|
||||
SetKustomizationReadiness(&k, corev1.ConditionTrue, reason, message, revision)
|
||||
k.Status.Snapshot = snapshot
|
||||
k.Status.LastAppliedRevision = revision
|
||||
return k
|
||||
}
|
||||
|
||||
// GetTimeout returns the timeout with default
|
||||
|
|
@ -239,3 +239,16 @@ type KustomizationList struct {
|
|||
func init() {
|
||||
SchemeBuilder.Register(&Kustomization{}, &KustomizationList{})
|
||||
}
|
||||
|
||||
// filterOutCondition returns a new slice of conditions without the
|
||||
// condition of the given type.
|
||||
func filterOutCondition(conditions []Condition, condition string) []Condition {
|
||||
var newConditions []Condition
|
||||
for _, c := range conditions {
|
||||
if c.Type == condition {
|
||||
continue
|
||||
}
|
||||
newConditions = append(newConditions, c)
|
||||
}
|
||||
return newConditions
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue