类io.fabric8.kubernetes.api.model.ContainerState源码实例Demo

下面列出了怎么用io.fabric8.kubernetes.api.model.ContainerState的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: data-highway   文件: PodWatcher.java
@Override
public void eventReceived(io.fabric8.kubernetes.client.Watcher.Action action, Pod pod) {
  log.info("Event received for pod: {}, action: {}", podName, action);
  PodStatus status = pod.getStatus();
  List<ContainerStatus> containerStatuses = status.getContainerStatuses();
  if (!containerStatuses.isEmpty()) {
    ContainerStatus containerStatus = containerStatuses.get(0);
    ContainerState state = containerStatus.getState();
    ContainerStateTerminated terminated = state.getTerminated();
    if (terminated != null) {
      Integer exitCode = terminated.getExitCode();
      log.info("Container exit code for pod {}: {}", podName, exitCode);
      if (exitCode == 0) {
        exitCodeFuture.complete(0);
      } else {
        exitCodeFuture.completeExceptionally(new RuntimeException("Completed with non zero exit code: " + exitCode));
      }
      resource.delete();
      watch.close();
    } else {
      log.warn("ContainerStateTerminated was null for pod: {}, action {}", podName, action);
    }
  } else {
    log.warn("ContainerStatus list was empty for pod: {}, action {}", podName, action);
  }
}
 
源代码2 项目: styx   文件: KubernetesPodEventTranslator.java
private static boolean isExited(Pod pod, Optional<ContainerStatus> mainContainerStatusOpt) {
  switch (pod.getStatus().getPhase()) {
    case "Running":
      // Check if the main container has exited
      if (mainContainerStatusOpt.map(ContainerStatus::getState)
          .map(ContainerState::getTerminated)
          .isPresent()) {
        return true;
      }

      break;

    case "Succeeded":
    case "Failed":
      return true;

    default:
      // do nothing
      break;
  }

  return false;
}
 
源代码3 项目: data-highway   文件: KubernetesLanderTest.java
private ContainerState terminatedStateWithExitCode(int exitCode) {
  ContainerStateTerminated terminated = new ContainerStateTerminated();
  terminated.setExitCode(exitCode);
  ContainerState state = new ContainerState();
  state.setTerminated(terminated);
  return state;
}
 
源代码4 项目: styx   文件: KubernetesPodEventTranslatorTest.java
private static ContainerState runningContainerState() {
  return new ContainerState(new ContainerStateRunning("2016-05-30T09:46:48Z"), null, null);
}
 
源代码5 项目: styx   文件: KubernetesPodEventTranslatorTest.java
static ContainerState terminatedContainerState(Integer exitCode, String message) {
  return new ContainerState(null, new ContainerStateTerminated("", exitCode, "", message, "", 0, ""), null);
}
 
源代码6 项目: styx   文件: KubernetesPodEventTranslatorTest.java
private static ContainerState waitingContainerState(String reason) {
  return waitingContainerState(reason, "");
}
 
源代码7 项目: styx   文件: KubernetesPodEventTranslatorTest.java
private static ContainerState waitingContainerState(String reason, String message) {
  return new ContainerState(null, null, new ContainerStateWaiting(message, reason));
}
 
 类方法
 同包方法