@Override public OpenShiftRuntimeConfig asNewClone(final OpenShiftRuntimeConfig source) { return new OpenShiftRuntimeConfigImpl( source.getRuntimeName(), source.getProviderId(), source.getApplicationName(), source.getKieServerContainerDeployment(), source.getProjectName(), source.getResourceSecretsUri(), source.getResourceStreamsUri(), source.getResourceTemplateName(), source.getResourceTemplateParamDelimiter(), source.getResourceTemplateParamAssigner(), source.getResourceTemplateParamValues(), source.getResourceTemplateUri(), source.getServiceName()); }
default OpenShiftRuntimeId getRuntimeId() { return new OpenShiftRuntimeId(getProjectName(), getServiceName(), getApplicationName()); }
public static OpenShiftParameters fromRuntimeConfig(OpenShiftRuntimeConfig runtimeConfig) { String paramDelim = runtimeConfig.getResourceTemplateParamDelimiter(); if (paramDelim == null || paramDelim.isEmpty()) { paramDelim = DEFAULT_PARAM_DELIMITER; } String paramAssign = runtimeConfig.getResourceTemplateParamAssigner(); if (paramAssign == null || paramAssign.isEmpty()) { paramAssign = DEFAULT_PARAM_ASSIGNER; } String paramVals = runtimeConfig.getResourceTemplateParamValues(); if (paramVals != null) { return fromString(paramVals, paramDelim, paramAssign); } else { return new OpenShiftParameters(paramDelim, paramAssign); } }
public OpenShiftRuntimeState create(OpenShiftRuntimeConfig runtimeConfig) throws OpenShiftClientException { try { String prjName = runtimeConfig.getProjectName(); String svcName = runtimeConfig.getServiceName(); String appName = runtimeConfig.getApplicationName(); OpenShiftRuntimeId runtimeId = new OpenShiftRuntimeId(prjName, svcName, appName); OpenShiftRuntimeState runtimeState = getRuntimeState(runtimeId); if (OpenShiftRuntimeState.UNKNOWN.equals(runtimeState.getState())) { createProject(prjName); createFromUri(prjName, runtimeConfig.getResourceSecretsUri()); createFromUri(prjName, runtimeConfig.getResourceStreamsUri()); createFromTemplate(runtimeConfig); runtimeState = getRuntimeState(runtimeId); } if (postCreateListener != null) { postCreateListener.trigger(this, runtimeConfig); } return runtimeState; } catch (Throwable t) { if (t instanceof OpenShiftClientException) { throw (OpenShiftClientException)t; } else { throw new OpenShiftClientException(t.getMessage(), t); } } }
private void createFromTemplate(OpenShiftRuntimeConfig runtimeConfig) throws OpenShiftClientException { OpenShiftTemplate template = new OpenShiftTemplate(this, runtimeConfig); Map<String, String> parameters = new LinkedHashMap<String, String>(); parameters.putAll(OpenShiftParameters.fromRuntimeConfig(runtimeConfig)); String kieServerContainerDeployment = runtimeConfig.getKieServerContainerDeployment(); if (kieServerContainerDeployment != null && !kieServerContainerDeployment.trim().isEmpty()) { parameters.put(OpenShiftProperty.KIE_SERVER_CONTAINER_DEPLOYMENT.envKey(), kieServerContainerDeployment); } KubernetesList kubeList = template.process(parameters); if (kubeList != null && kubeList.getItems().size() > 0) { try { DeploymentConfig dc = getDeploymentConfig(kubeList, runtimeConfig.getServiceName()); if (dc != null) { dc.getSpec().setReplicas(0); } String prjName = runtimeConfig.getProjectName(); delegate.lists().inNamespace(prjName).create(kubeList); } catch (Throwable t) { throw new OpenShiftClientException(t.getMessage(), t); } } }
public OpenShiftTemplate(OpenShiftClient client, OpenShiftRuntimeConfig runtimeConfig) { Loadable<TemplateResource<Template, KubernetesList, DoneableTemplate>> loadable = null; String prjName = runtimeConfig.getProjectName(); String templateUri = runtimeConfig.getResourceTemplateUri(); String templateName = runtimeConfig.getResourceTemplateName(); if (prjName != null) { loadable = client.getDelegate().templates().inNamespace(prjName); } else { loadable = client.getDelegate().templates(); } TemplateResource<Template, KubernetesList, DoneableTemplate> res = null; if (templateUri != null) { URL templateUrl = client.toUrl(templateUri); if (templateUrl != null) { res = loadable.load(templateUrl); } } else if (templateName != null && !templateName.isEmpty()) { res = loadable.load(templateName); } resource = res; template = res != null ? res.get() : null; if (template == null) { throw new OpenShiftClientException(String.format("could not load template with project [%s] and uri [%s] or name [%s]", prjName, templateUri, templateName)); } }
@Override public void trigger(OpenShiftClient client, OpenShiftRuntimeConfig runtimeConfig) { String prjName = runtimeConfig.getProjectName(); RouteList routeList = client.getDelegate().routes().inNamespace(prjName).list(); String routerHost = System.getProperty(OpenShiftNameServiceClientListener.class.getName() + ".routerHost", "10.34.75.115"); OpenShiftNameService.setRoutes(routeList, routerHost); }
private Optional<OpenShiftRuntime> create(final OpenShiftRuntimeConfig runtimeConfig) throws ProvisioningException { final Optional<OpenShiftProvider> _openshiftProvider = runtimeRegistry.getProvider(runtimeConfig.getProviderId(), OpenShiftProvider.class); if (!_openshiftProvider.isPresent()) { return Optional.empty(); } OpenShiftProvider openshiftProvider = _openshiftProvider.get(); OpenShiftClient openshiftClient = openshift.getOpenShiftClient(openshiftProvider); LOG.info("Creating runtime..."); OpenShiftRuntimeState runtimeState; try { runtimeState = openshiftClient.create(runtimeConfig); } catch (OpenShiftClientException ex) { throw new ProvisioningException(ex.getMessage(), ex); } final String id = runtimeConfig.getRuntimeId().toString(); LOG.info("Created runtime: " + id); OpenShiftRuntimeEndpoint endpoint = openshiftClient.getRuntimeEndpoint(id); return Optional.of(new OpenShiftRuntime(id, buildRuntimeName(runtimeConfig, id), runtimeConfig, openshiftProvider, endpoint, new OpenShiftRuntimeInfo(runtimeConfig), runtimeState)); }
@Override public void trigger(OpenShiftClient client, OpenShiftRuntimeConfig runtimeConfig) { String prjName = runtimeConfig.getProjectName(); RouteList routeList = client.getDelegate().routes().inNamespace(prjName).list(); String routerHost = System.getProperty(OpenShiftNameServiceClientListener.class.getName() + ".routerHost", "10.34.75.115"); OpenShiftNameService.setRoutes(routeList, routerHost); }