@Override public void destroy(final RuntimeId runtimeId) { final Optional<WildflyProvider> _wildflyProvider = runtimeRegistry.getProvider(runtimeId.getProviderId(), WildflyProvider.class); WildflyProvider wildflyProvider = _wildflyProvider.get(); int result = wildfly.getWildflyClient(wildflyProvider).undeploy(runtimeId.getId()); if (result != 200) { throw new ProvisioningException("UnDeployment to Wildfly Failed with error code: " + result); } runtimeRegistry.deregisterRuntime(runtimeId); } }
@Override public void destroy(final RuntimeId runtimeId) { final Optional<WildflyProvider> _wildflyProvider = runtimeRegistry.getProvider(runtimeId.getProviderId(), WildflyProvider.class); WildflyProvider wildflyProvider = _wildflyProvider.get(); int result = wildfly.getWildflyClient(wildflyProvider).undeploy(runtimeId.getId()); if (result != 200) { throw new ProvisioningException("UnDeployment to Wildfly Failed with error code: " + result); } runtimeRegistry.deregisterRuntime(runtimeId); } }
@Override public void destroy(final RuntimeId runtimeId) { final Optional<OpenShiftProvider> _openshiftProvider = runtimeRegistry.getProvider(runtimeId.getProviderId(), OpenShiftProvider.class); if (!_openshiftProvider.isPresent()) { return; } OpenShiftProvider openshiftProvider = _openshiftProvider.get(); try { LOG.info("Destroying runtime: " + runtimeId.getId()); openshift.getOpenShiftClient(openshiftProvider).destroy(runtimeId.getId()); LOG.info("Destroyed runtime: " + runtimeId.getId()); } catch (OpenShiftClientException ex) { throw new RuntimeOperationException("Error Destroying runtime: " + runtimeId.getId(), ex); } runtimeRegistry.deregisterRuntime(runtimeId); } }
@Override public void destroy(final RuntimeId runtimeId) { try { LOG.info("Killing Container: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).killContainer(runtimeId.getId()); LOG.info("Removing Container: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).removeContainer(runtimeId.getId()); runtimeRegistry.deregisterRuntime(runtimeId); } catch (DockerException | InterruptedException ex) { LOG.debug(ex.getMessage(), ex); try { // Trying to remove the container if it cannot be killed LOG.info("Attempting to Remove Container without Killing: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).removeContainer(runtimeId.getId()); runtimeRegistry.deregisterRuntime(runtimeId); } catch (DockerException | InterruptedException ex2) { LOG.error(ex.getMessage(), ex2); throw new ProvisioningException("Error destroying Docker Runtime: " + ex.getMessage(), ex2); } } } }
@Override public void destroy(final RuntimeId runtimeId) { try { LOG.info("Killing Container: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).killContainer(runtimeId.getId()); LOG.info("Removing Container: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).removeContainer(runtimeId.getId()); runtimeRegistry.deregisterRuntime(runtimeId); } catch (DockerException | InterruptedException ex) { LOG.debug(ex.getMessage(), ex); try { // Trying to remove the container if it cannot be killed LOG.info("Attempting to Remove Container without Killing: " + runtimeId.getId()); docker.getDockerClient(runtimeId.getProviderId()).removeContainer(runtimeId.getId()); runtimeRegistry.deregisterRuntime(runtimeId); } catch (DockerException | InterruptedException ex2) { LOG.error(ex.getMessage(), ex2); throw new ProvisioningException("Error destroying Docker Runtime: " + ex.getMessage(), ex2); } } } }
@Override public void destroyRuntime(String runtimeId, boolean forced) throws BusinessException { final Runtime runtimeById = runtimeRegistry.getRuntimeById(runtimeId); if (runtimeById == null) { throw new BusinessException("No runtime was found for runtimeId: " + runtimeId); } final PipelineExecutorTrace pipelineTrace = pipelineExecutorRegistry.getExecutorTrace(runtimeById); try { runtimeFactory.destroyRuntime(runtimeById); } catch (Exception e) { if (forced) { LOG.warn("Runtime destroy raised the following error for runtime: " + runtimeId + " but forced destroy will still remove the runtime from registry.", e); runtimeRegistry.deregisterRuntime(runtimeById); } else { throw e; } } if (pipelineTrace != null) { pipelineExecutorRegistry.deregister(pipelineTrace.getTaskId()); } }