diff --git a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicator.java b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicator.java index 70e132b106..7a2490b18a 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicator.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicator.java @@ -19,7 +19,10 @@ import java.util.Collections; import java.util.Map; +import io.kubernetes.client.openapi.models.V1ObjectMeta; import io.kubernetes.client.openapi.models.V1Pod; +import io.kubernetes.client.openapi.models.V1PodSpec; +import io.kubernetes.client.openapi.models.V1PodStatus; import org.springframework.cloud.kubernetes.commons.AbstractKubernetesHealthIndicator; import org.springframework.cloud.kubernetes.commons.PodUtils; @@ -42,13 +45,20 @@ protected Map getDetails() { if (current != null) { Map details = CollectionUtils.newHashMap(8); details.put(INSIDE, true); - details.put(NAMESPACE, current.getMetadata().getNamespace()); - details.put(POD_NAME, current.getMetadata().getName()); - details.put(LABELS, current.getMetadata().getLabels()); - details.put(POD_IP, current.getStatus().getPodIP()); - details.put(HOST_IP, current.getStatus().getHostIP()); - details.put(SERVICE_ACCOUNT, current.getSpec().getServiceAccountName()); - details.put(NODE_NAME, current.getSpec().getNodeName()); + + V1ObjectMeta meta = current.getMetadata(); + details.put(NAMESPACE, meta.getNamespace()); + details.put(POD_NAME, meta.getName()); + details.put(LABELS, meta.getLabels()); + + V1PodStatus status = current.getStatus(); + details.put(POD_IP, status.getPodIP()); + details.put(HOST_IP, status.getHostIP()); + + V1PodSpec spec = current.getSpec(); + details.put(SERVICE_ACCOUNT, spec.getServiceAccountName()); + details.put(NODE_NAME, spec.getNodeName()); + return details; } else { diff --git a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicatorTests.java b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicatorTests.java index 1b2301c486..b3e47d253a 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicatorTests.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientHealthIndicatorTests.java @@ -59,7 +59,7 @@ void getDetailsNotInsideTest() { KubernetesClientHealthIndicator healthIndicator = new KubernetesClientHealthIndicator(utils); Map details = healthIndicator.getDetails(); - assertThat(details.containsKey(INSIDE)).isTrue(); + assertThat(details.size()).isEqualTo(1); assertThat(details.get(INSIDE)).isEqualTo(false); } @@ -70,7 +70,7 @@ void getDetailsInsideTest() { KubernetesClientHealthIndicator healthIndicator = new KubernetesClientHealthIndicator(utils); Map details = healthIndicator.getDetails(); - assertThat(details.containsKey(INSIDE)).isTrue(); + assertThat(details.size()).isEqualTo(8); assertThat(details.get(INSIDE)).isEqualTo(true); assertThat(details.get(HOST_IP)).isEqualTo(STUB_HOST_IP);