in src/main/java/com/epam/aidial/kubernetes/KubernetesClient.java [146:173]
private Mono<V1PodList> getPods(String namespace, String label) {
return Mono.create(sink -> {
CoreV1Api coreV1Api = new CoreV1Api(apiClient);
log.info("Querying pods with label {}", label);
try {
coreV1Api.listNamespacedPod(namespace)
.labelSelector(label)
.executeAsync(new NoProgressApiCallback<>() {
@Override
public void onFailure(ApiException e, int i, Map<String, List<String>> map) {
sink.error(e);
}
@Override
public void onSuccess(V1PodList state, int i, Map<String, List<String>> map) {
if (state.getItems().isEmpty()) {
log.info("No pods with label {}", label);
} else {
log.info("Received a pod list for label {}", label);
}
sink.success(state);
}
});
} catch (ApiException e) {
sink.error(e);
}
});
}