static List<String> kubectlPortForwardCommand(AccountDeploymentDetails<KubernetesAccount> details, String namespace, String instance, int targetPort, int localPort) { List<String> command = kubectlAccountCommand(details); command.add("--namespace"); command.add(namespace); command.add("port-forward"); command.add(instance); command.add(localPort + ":" + targetPort); return command; }
static List<String> kubectlPortForwardCommand(AccountDeploymentDetails<KubernetesAccount> details, String namespace, String instance, int targetPort, int localPort) { List<String> command = kubectlAccountCommand(details); command.add("--namespace"); command.add(namespace); command.add("port-forward"); command.add(instance); command.add(localPort + ":" + targetPort); return command; }
static void kubectlDeleteNamespaceCommand(JobExecutor jobExecutor, AccountDeploymentDetails<KubernetesAccount> details, String namespace) { List<String> command = kubectlAccountCommand(details); command.add("delete"); command.add("namespace"); command.add(namespace); JobRequest request = new JobRequest().setTokenizedCommand(command); try { jobExecutor.backoffWait(jobExecutor.startJob(request)); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } }
static void kubectlDeleteNamespaceCommand(JobExecutor jobExecutor, AccountDeploymentDetails<KubernetesAccount> details, String namespace) { List<String> command = kubectlAccountCommand(details); command.add("delete"); command.add("namespace"); command.add(namespace); JobRequest request = new JobRequest().setTokenizedCommand(command); try { jobExecutor.backoffWait(jobExecutor.startJob(request)); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } }
static void storeInstanceLogs(JobExecutor jobExecutor, AccountDeploymentDetails<KubernetesAccount> details, String namespace, String instanceName, String containerName, File outputFile) { List<String> command = kubectlAccountCommand(details); command.add("--namespace"); command.add(namespace); command.add("logs"); command.add(instanceName); command.add(containerName); JobRequest request = new JobRequest().setTokenizedCommand(command); JobStatus status; try { status = jobExecutor.backoffWait(jobExecutor.startJob(request)); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } try { IOUtils.write(status.getStdOut().getBytes(), new FileOutputStream(new File(outputFile, containerName))); } catch (IOException e) { throw new HalException(Severity.FATAL, "Unable to store logs: " + e.getMessage(), e); } }
static void storeInstanceLogs(JobExecutor jobExecutor, AccountDeploymentDetails<KubernetesAccount> details, String namespace, String instanceName, String containerName, File outputFile) { List<String> command = kubectlAccountCommand(details); command.add("--namespace"); command.add(namespace); command.add("logs"); command.add(instanceName); command.add(containerName); JobRequest request = new JobRequest().setTokenizedCommand(command); JobStatus status; try { status = jobExecutor.backoffWait(jobExecutor.startJob(request)); } catch (InterruptedException e) { throw new DaemonTaskInterrupted(e); } try { IOUtils.write(status.getStdOut().getBytes(), new FileOutputStream(new File(outputFile, containerName))); } catch (IOException e) { throw new HalException(Severity.FATAL, "Unable to store logs: " + e.getMessage(), e); } }
if (StringUtils.isEmpty(jobId) || !jobExecutor.jobExists(jobId)) { DaemonTaskHandler.newStage("Connecting to the Kubernetes cluster in account \"" + account.getName() + "\""); List<String> command = kubectlAccountCommand(details); command.add("proxy"); command.add("--port=0"); // select a random port
if (StringUtils.isEmpty(jobId) || !jobExecutor.jobExists(jobId)) { DaemonTaskHandler.newStage("Connecting to the Kubernetes cluster in account \"" + account.getName() + "\""); List<String> command = kubectlAccountCommand(details); command.add("proxy"); command.add("--port=0"); // select a random port