mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
Add support for waiting on a StatefulSet. (#195)
Add support for waiting on a StatefulSet. SUMMARY This PR implements support for waiting on StatefulSet for readiness similar to how the other waiters currently work. ISSUE TYPE Feature Pull Request ADDITIONAL INFORMATION This was designed to (mostly) mimic the behaviour of the StatefulSetStatusViewer used by kubectl rollout status -w. Reviewed-by: Abhijeet Kasurde <None> Reviewed-by: Joshua K <None> Reviewed-by: None <None> Reviewed-by: Mike Graves <mgraves@redhat.com> Reviewed-by: None <None>
This commit is contained in:
@@ -401,6 +401,14 @@ class K8sAnsibleMixin(object):
|
||||
and daemonset.status.observedGeneration == daemonset.metadata.generation
|
||||
and not daemonset.status.unavailableReplicas)
|
||||
|
||||
def _statefulset_ready(statefulset):
|
||||
return (statefulset.status and statefulset.spec.updateStrategy.type == "RollingUpdate"
|
||||
and statefulset.status.observedGeneration == (statefulset.metadata.generation or 0)
|
||||
and statefulset.status.updateRevision == statefulset.status.currentRevision
|
||||
and statefulset.status.updatedReplicas == statefulset.spec.replicas
|
||||
and statefulset.status.readyReplicas == statefulset.spec.replicas
|
||||
and statefulset.status.replicas == statefulset.spec.replicas)
|
||||
|
||||
def _custom_condition(resource):
|
||||
if not resource.status or not resource.status.conditions:
|
||||
return False
|
||||
@@ -427,6 +435,7 @@ class K8sAnsibleMixin(object):
|
||||
return not resource or (resource.kind.endswith('List') and resource.items == [])
|
||||
|
||||
waiter = dict(
|
||||
StatefulSet=_statefulset_ready,
|
||||
Deployment=_deployment_ready,
|
||||
DaemonSet=_daemonset_ready,
|
||||
Pod=_pod_ready
|
||||
|
||||
Reference in New Issue
Block a user