static List<String> kubectlConnectPodCommand(KubernetesAccount account, String namespace, String name, int port) { List<String> command = kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("port-forward"); command.add(name); command.add(port + ""); return command; }
static List<String> kubectlConnectPodCommand(KubernetesAccount account, String namespace, String name, int port) { List<String> command = kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("port-forward"); command.add(name); command.add(port + ""); return command; }
static List<String> kubectlPodServiceCommand(KubernetesAccount account, String namespace, String service) { List<String> command = kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("get"); command.add("po"); command.add("-l=cluster=" + service); command.add("-o=jsonpath='{.items[0].metadata.name}'"); return command; }
static List<String> kubectlPodServiceCommand(KubernetesAccount account, String namespace, String service) { List<String> command = kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("get"); command.add("po"); command.add("-l=cluster=" + service); command.add("-o=jsonpath='{.items[0].metadata.name}'"); return command; }
public void apply(String manifest) { manifest = KubernetesV2Utils.prettify(manifest); List<String> command = KubernetesV2Utils.kubectlPrefix(account); command.add("apply"); command.add("-f");
static public void apply(KubernetesAccount account, String manifest) { manifest = prettify(manifest); List<String> command = kubectlPrefix(account); command.add("apply"); command.add("-f");
public boolean isReady(String namespace, String service) { log.info("Checking readiness for " + service); List<String> command = KubernetesV2Utils.kubectlPrefix(account);
private boolean exists(String namespace, String kind, String name) { log.info("Checking for " + kind + "/" + name); List<String> command = KubernetesV2Utils.kubectlPrefix(account);
public void deleteSpinnaker(String namespace) { List<String> command = KubernetesV2Utils.kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("delete"); command.add("deploy,svc,secret"); command.add("-l=app=spin"); JobRequest request = new JobRequest().setTokenizedCommand(command); String jobId = executor.startJob(request); JobStatus status; try { status = executor.backoffWait(jobId); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } if (status.getState() != JobStatus.State.COMPLETED) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting spinnaker never completed in " + namespace, status.getStdErr(), status.getStdOut())); } if (status.getResult() != JobStatus.Result.SUCCESS) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting spinnaker failed in " + namespace, status.getStdErr(), status.getStdOut())); } }
static private boolean exists(KubernetesAccount account, String namespace, String kind, String name) { log.info("Checking for " + kind + "/" + name); List<String> command = kubectlPrefix(account);
public void delete(String namespace, String service) { List<String> command = KubernetesV2Utils.kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("delete"); command.add("deploy,svc,secret"); command.add("-l=cluster=" + service); JobRequest request = new JobRequest().setTokenizedCommand(command); String jobId = executor.startJob(request); JobStatus status; try { status = executor.backoffWait(jobId); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } if (status.getState() != JobStatus.State.COMPLETED) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting service " + service + " never completed", status.getStdErr(), status.getStdOut())); } if (status.getResult() != JobStatus.Result.SUCCESS) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting service " + service + " failed", status.getStdErr(), status.getStdOut())); } }
static public void deleteSpinnaker(KubernetesAccount account, String namespace) { List<String> command = kubectlPrefix(account); if (StringUtils.isNotEmpty(namespace)) { command.add("-n=" + namespace); } command.add("delete"); command.add("deploy,svc,secret"); command.add("-l=app=spin"); JobRequest request = new JobRequest().setTokenizedCommand(command); String jobId = DaemonTaskHandler.getJobExecutor().startJob(request); JobStatus status; try { status = DaemonTaskHandler.getJobExecutor().backoffWait(jobId); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } if (status.getState() != JobStatus.State.COMPLETED) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting spinnaker never completed in " + namespace, status.getStdErr(), status.getStdOut())); } if (status.getResult() != JobStatus.Result.SUCCESS) { throw new HalException(Problem.Severity.FATAL, String.join("\n", "Deleting spinnaker failed in " + namespace, status.getStdErr(), status.getStdOut())); } }