Skip to content

Commit

Permalink
Merge pull request fabric8io#2407 from own-idea/pr/issue2404
Browse files Browse the repository at this point in the history
  • Loading branch information
fusesource-ci committed Aug 19, 2020
2 parents 653c79e + 235a6c2 commit 463c9d9
Showing 1 changed file with 22 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public class Readiness {

public static boolean isReadinessApplicable(Class<? extends HasMetadata> itemClass) {
return Deployment.class.isAssignableFrom(itemClass)
|| io.fabric8.kubernetes.api.model.extensions.Deployment.class.isAssignableFrom(itemClass)
|| ReplicaSet.class.isAssignableFrom(itemClass)
|| Pod.class.isAssignableFrom(itemClass)
|| DeploymentConfig.class.isAssignableFrom(itemClass)
Expand All @@ -61,6 +62,8 @@ public static boolean isReadinessApplicable(Class<? extends HasMetadata> itemCla
public static boolean isReady(HasMetadata item) {
if (item instanceof Deployment) {
return isDeploymentReady((Deployment) item);
} else if (item instanceof io.fabric8.kubernetes.api.model.extensions.Deployment) {
return isExtensionsDeploymentReady((io.fabric8.kubernetes.api.model.extensions.Deployment) item);
} else if (item instanceof ReplicaSet) {
return isReplicaSetReady((ReplicaSet) item);
} else if (item instanceof Pod) {
Expand Down Expand Up @@ -118,6 +121,25 @@ public static boolean isDeploymentReady(Deployment d) {
}


public static boolean isExtensionsDeploymentReady(io.fabric8.kubernetes.api.model.extensions.Deployment d) {
Utils.checkNotNull(d, "Deployment can't be null.");
io.fabric8.kubernetes.api.model.extensions.DeploymentSpec spec = d.getSpec();
io.fabric8.kubernetes.api.model.extensions.DeploymentStatus status = d.getStatus();

if (status == null || status.getReplicas() == null || status.getAvailableReplicas() == null) {
return false;
}

//Can be true in testing, so handle it to make test writing easier.
if (spec == null || spec.getReplicas() == null) {
return false;
}

return spec.getReplicas().intValue() == status.getReplicas() &&
spec.getReplicas() <= status.getAvailableReplicas();
}


public static boolean isReplicaSetReady(ReplicaSet r) {
Utils.checkNotNull(r, "ReplicationController can't be null.");
ReplicaSetSpec spec = r.getSpec();
Expand Down

0 comments on commit 463c9d9

Please sign in to comment.