// Verify the generation observed by the deployment controller matches the spec generation
ifdep.Status.ObservedGeneration!=dep.Generation{
slog.Debug("Deployment is not ready, observedGeneration does not match spec generation","namespace",dep.GetNamespace(),"name",dep.GetName(),"actualGeneration",dep.Status.ObservedGeneration,"expectedGeneration",dep.Generation)
slog.Info("Deployment is not ready, observedGeneration does not match spec generation","namespace",dep.GetNamespace(),"name",dep.GetName(),"actualGeneration",dep.Status.ObservedGeneration,"expectedGeneration",dep.Generation)
slog.Debug("Deployment does not have enough pods ready","namespace",dep.GetNamespace(),"name",dep.GetName(),"readyPods",rs.Status.ReadyReplicas,"totalPods",expectedReady)
slog.Info("Deployment does not have enough pods ready","namespace",dep.GetNamespace(),"name",dep.GetName(),"readyPods",rs.Status.ReadyReplicas,"totalPods",expectedReady)
returnfalse
}
slog.Debug("Deployment is ready","namespace",dep.GetNamespace(),"name",dep.GetName(),"readyPods",rs.Status.ReadyReplicas,"totalPods",expectedReady)
slog.Info("Deployment is ready","namespace",dep.GetNamespace(),"name",dep.GetName(),"readyPods",rs.Status.ReadyReplicas,"totalPods",expectedReady)
// Verify the generation observed by the daemonSet controller matches the spec generation
ifds.Status.ObservedGeneration!=ds.Generation{
slog.Debug("DaemonSet is not ready, observedGeneration does not match spec generation","namespace",ds.GetNamespace(),"name",ds.GetName(),"observedGeneration",ds.Status.ObservedGeneration,"expectedGeneration",ds.Generation)
slog.Info("DaemonSet is not ready, observedGeneration does not match spec generation","namespace",ds.GetNamespace(),"name",ds.GetName(),"observedGeneration",ds.Status.ObservedGeneration,"expectedGeneration",ds.Generation)
slog.Debug("DaemonSet does not have enough Pods scheduled","namespace",ds.GetNamespace(),"name",ds.GetName(),"scheduledPods",ds.Status.UpdatedNumberScheduled,"totalPods",ds.Status.DesiredNumberScheduled)
slog.Info("DaemonSet does not have enough Pods scheduled","namespace",ds.GetNamespace(),"name",ds.GetName(),"scheduledPods",ds.Status.UpdatedNumberScheduled,"totalPods",ds.Status.DesiredNumberScheduled)
slog.Debug("DaemonSet does not have enough Pods ready","namespace",ds.GetNamespace(),"name",ds.GetName(),"readyPods",ds.Status.NumberReady,"totalPods",expectedReady)
slog.Info("DaemonSet does not have enough Pods ready","namespace",ds.GetNamespace(),"name",ds.GetName(),"readyPods",ds.Status.NumberReady,"totalPods",expectedReady)
returnfalse
}
slog.Debug("DaemonSet is ready","namespace",ds.GetNamespace(),"name",ds.GetName(),"readyPods",ds.Status.NumberReady,"totalPods",expectedReady)
slog.Info("DaemonSet is ready","namespace",ds.GetNamespace(),"name",ds.GetName(),"readyPods",ds.Status.NumberReady,"totalPods",expectedReady)
// Verify the generation observed by the statefulSet controller matches the spec generation
ifsts.Status.ObservedGeneration!=sts.Generation{
slog.Debug("StatefulSet is not ready, observedGeneration doest not match spec generation","namespace",sts.GetNamespace(),"name",sts.GetName(),"actualGeneration",sts.Status.ObservedGeneration,"expectedGeneration",sts.Generation)
slog.Info("StatefulSet is not ready, observedGeneration doest not match spec generation","namespace",sts.GetNamespace(),"name",sts.GetName(),"actualGeneration",sts.Status.ObservedGeneration,"expectedGeneration",sts.Generation)
returnfalse
}
// If the update strategy is not a rolling update, there will be nothing to wait for
slog.Debug("StatefulSet does not have enough Pods scheduled","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.UpdatedReplicas,"totalPods",expectedReplicas)
slog.Info("StatefulSet does not have enough Pods scheduled","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.UpdatedReplicas,"totalPods",expectedReplicas)
returnfalse
}
ifint(sts.Status.ReadyReplicas)!=replicas{
slog.Debug("StatefulSet does not have enough Pods ready","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.ReadyReplicas,"totalPods",replicas)
slog.Info("StatefulSet does not have enough Pods ready","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.ReadyReplicas,"totalPods",replicas)
returnfalse
}
// This check only makes sense when all partitions are being upgraded otherwise during a
// partitioned rolling upgrade, this condition will never evaluate to true, leading to
slog.Debug("StatefulSet is not ready, currentRevision does not match updateRevision","namespace",sts.GetNamespace(),"name",sts.GetName(),"currentRevision",sts.Status.CurrentRevision,"updateRevision",sts.Status.UpdateRevision)
slog.Info("StatefulSet is not ready, currentRevision does not match updateRevision","namespace",sts.GetNamespace(),"name",sts.GetName(),"currentRevision",sts.Status.CurrentRevision,"updateRevision",sts.Status.UpdateRevision)
returnfalse
}
slog.Debug("StatefulSet is ready","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.ReadyReplicas,"totalPods",replicas)
slog.Info("StatefulSet is ready","namespace",sts.GetNamespace(),"name",sts.GetName(),"readyPods",sts.Status.ReadyReplicas,"totalPods",replicas)
// Verify the generation observed by the replicationController controller matches the spec generation
ifrc.Status.ObservedGeneration!=rc.Generation{
slog.Debug("ReplicationController is not ready, observedGeneration doest not match spec generation","namespace",rc.GetNamespace(),"name",rc.GetName(),"actualGeneration",rc.Status.ObservedGeneration,"expectedGeneration",rc.Generation)
slog.Info("ReplicationController is not ready, observedGeneration doest not match spec generation","namespace",rc.GetNamespace(),"name",rc.GetName(),"actualGeneration",rc.Status.ObservedGeneration,"expectedGeneration",rc.Generation)
// Verify the generation observed by the replicaSet controller matches the spec generation
ifrs.Status.ObservedGeneration!=rs.Generation{
slog.Debug("ReplicaSet is not ready, observedGeneration doest not match spec generation","namespace",rs.GetNamespace(),"name",rs.GetName(),"actualGeneration",rs.Status.ObservedGeneration,"expectedGeneration",rs.Generation)
slog.Info("ReplicaSet is not ready, observedGeneration doest not match spec generation","namespace",rs.GetNamespace(),"name",rs.GetName(),"actualGeneration",rs.Status.ObservedGeneration,"expectedGeneration",rs.Generation)