diff --git a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributor.java b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributor.java index cb43039366..4d9d5e687f 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributor.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/main/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributor.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.AbstractKubernetesInfoContributor; import org.springframework.cloud.kubernetes.commons.PodUtils; @@ -42,12 +45,19 @@ public Map getDetails() { if (current != null) { Map details = CollectionUtils.newHashMap(7); details.put(INSIDE, true); - details.put(NAMESPACE, current.getMetadata().getNamespace()); - details.put(POD_NAME, current.getMetadata().getName()); - details.put(SERVICE_ACCOUNT, current.getSpec().getServiceAccountName()); - details.put(NODE_NAME, current.getSpec().getNodeName()); - details.put(POD_IP, current.getStatus().getPodIP()); - details.put(HOST_IP, current.getStatus().getHostIP()); + + V1ObjectMeta meta = current.getMetadata(); + details.put(NAMESPACE, meta.getNamespace()); + details.put(POD_NAME, meta.getName()); + + V1PodSpec spec = current.getSpec(); + details.put(SERVICE_ACCOUNT, spec.getServiceAccountName()); + details.put(NODE_NAME, spec.getNodeName()); + + V1PodStatus status = current.getStatus(); + details.put(POD_IP, status.getPodIP()); + details.put(HOST_IP, status.getHostIP()); + return details; } return Collections.singletonMap(INSIDE, false); diff --git a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributorTests.java b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributorTests.java index c711a05619..ce40a543fb 100644 --- a/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributorTests.java +++ b/spring-cloud-kubernetes-client-autoconfig/src/test/java/org/springframework/cloud/kubernetes/client/KubernetesClientInfoContributorTests.java @@ -57,7 +57,7 @@ void getDetailsIsNotInside() { KubernetesClientInfoContributor infoContributor = new KubernetesClientInfoContributor(utils); Map details = infoContributor.getDetails(); - assertThat(details.containsKey(INSIDE)).isTrue(); + assertThat(details.size()).isEqualTo(1); assertThat(details.get(INSIDE)).isEqualTo(false); } @@ -68,7 +68,7 @@ void getDetailsInside() { KubernetesClientInfoContributor infoContributor = new KubernetesClientInfoContributor(utils); Map details = infoContributor.getDetails(); - assertThat(details.containsKey(INSIDE)).isTrue(); + assertThat(details.size()).isEqualTo(7); assertThat(details.get(INSIDE)).isEqualTo(true); assertThat(details.get(HOST_IP)).isEqualTo(STUB_HOST_IP);