@Override public void updateReplicationController(String id, ReplicationController entity) { writeEntity(zkPathForReplicationController(id, KubernetesHelper.getNamespace(entity)), entity); //memoryModel.updateReplicationController(id, entity); }
@Override public void updateReplicationController(String id, ReplicationController replicationController) { id = getOrCreateId(id, NodeHelper.KIND_REPLICATION_CONTROLLER); String namespace = defaultNamespace(KubernetesHelper.getNamespace(replicationController)); getInternalReplicationControllerMap(namespace).put(id, replicationController); }
private void addDeploymentVersion(Map<String, String> deploymentVersions, HasMetadata resource) { String name = KubernetesHelper.getName(resource); String version = KubernetesHelper.getLabels(resource).get("version"); // TODO if there is no version label could we find it from somewhere else? if (Strings.isNotBlank(version)) { deploymentVersions.put(name, version); } else { listener.getLogger().println("No version label for " + KubernetesHelper.getKind(resource) + " " + KubernetesHelper.getName(resource) + " in namespace " + KubernetesHelper.getNamespace(resource)); } }
@Override public void updateService(String id, Service entity) { String namespace = defaultNamespace(KubernetesHelper.getNamespace(entity)); id = getOrCreateId(id, NodeHelper.KIND_SERVICE); getInternalServiceMap(namespace).put(id, entity); }
private void addDeploymentVersion(Map<String, String> deploymentVersions, HasMetadata resource) { String name = KubernetesHelper.getName(resource); String version = KubernetesHelper.getLabels(resource).get("version"); // TODO if there is no version label could we find it from somewhere else? if (Strings.isNotBlank(version)) { deploymentVersions.put(name, version); } else { listener.getLogger().println("No version label for " + KubernetesHelper.getKind(resource) + " " + KubernetesHelper.getName(resource) + " in namespace " + KubernetesHelper.getNamespace(resource)); } }
public String updateReplicationController(@NotNull String controllerId, ReplicationController replicationController) throws Exception { // lets ensure there's a default namespace set String namespace = KubernetesHelper.getNamespace(replicationController); if (Strings.isBlank(namespace)) { getOrCreateMetadata(replicationController).setNamespace(DEFAULT_NAMESPACE); } model.updateReplicationController(controllerId, replicationController); return null; }
protected String tryDeletePod(HostNode hostNode, Pod pod) throws Exception { String id = getName(pod); LOG.info("Attempting to delete pod: " + id + " on host: " + hostNode.getWebUrl()); KubernetesExtensionsClient client = createClient(hostNode); return client.deleteLocalPod(id, KubernetesHelper.getNamespace(pod)); }
private String loadKubernetesExposeControllerCommandLine(KubernetesClient kubernetes, String commands) throws Exception { String namespace = System.getenv("KUBERNETES_NAMESPACE"); if (Strings.isNullOrBlank(namespace)) { namespace = KubernetesHelper.getNamespace(kubernetes); } ConfigMap configMap = kubernetes.configMaps().inNamespace(namespace).withName("exposecontroller").get(); if (configMap == null) { listener.getLogger().println("WARNING: no ConfigMap in namespace " + namespace + " called: exposecontroller so cannot run exposecontroller to expose Service URLs"); return null; } String configYaml = null; Map<String, String> data = configMap.getData(); if (data != null) { configYaml = data.get("config.yml"); } if (Strings.isNullOrBlank(configYaml)) { throw new Exception("ConfigMap " + namespace + "/exposecontroller does not have a `config.yml` data entry"); } Map map; try { map = KubernetesHelper.loadYaml(configYaml, Map.class); } catch (IOException e) { throw new Exception("Could not parse YAML in ConfigMap " + namespace + "/exposecontroller entry `config.yml`: " + e, e); } StringBuilder builder = new StringBuilder(commands); appendCliArgument(builder, "--http", map.get("http")); appendCliArgument(builder, "--exposer", map.get("exposer")); appendCliArgument(builder, "--domain", map.get("domain")); return builder.toString(); }
private String loadKubernetesExposeControllerCommandLine(KubernetesClient kubernetes, String commands) throws Exception { String namespace = System.getenv("KUBERNETES_NAMESPACE"); if (Strings.isNullOrBlank(namespace)) { namespace = KubernetesHelper.getNamespace(kubernetes); } ConfigMap configMap = kubernetes.configMaps().inNamespace(namespace).withName("exposecontroller").get(); if (configMap == null) { listener.getLogger().println("WARNING: no ConfigMap in namespace " + namespace + " called: exposecontroller so cannot run exposecontroller to expose Service URLs"); return null; } String configYaml = null; Map<String, String> data = configMap.getData(); if (data != null) { configYaml = data.get("config.yml"); } if (Strings.isNullOrBlank(configYaml)) { throw new Exception("ConfigMap " + namespace + "/exposecontroller does not have a `config.yml` data entry"); } Map map; try { map = KubernetesHelper.loadYaml(configYaml, Map.class); } catch (IOException e) { throw new Exception("Could not parse YAML in ConfigMap " + namespace + "/exposecontroller entry `config.yml`: " + e, e); } StringBuilder builder = new StringBuilder(commands); appendCliArgument(builder, "--http", map.get("http")); appendCliArgument(builder, "--exposer", map.get("exposer")); appendCliArgument(builder, "--domain", map.get("domain")); return builder.toString(); }
model.deletePod(getName(pod), KubernetesHelper.getNamespace(pod)); } catch (Exception e) {
@Override public void updatePod(String id, Pod pod) { String namespace = defaultNamespace(KubernetesHelper.getNamespace(pod)); id = getOrCreateId(id, NodeHelper.KIND_POD); // lets make sure that for each container we have a current container created List<Container> containers = KubernetesHelper.getContainers(pod); for (Container container : containers) { String name = getOrCreateId(container.getName(), NodeHelper.KIND_POD); ContainerState containerState = NodeHelper.getOrCreateContainerState(pod, name); } getInternalPodMap(namespace).put(id, pod); }
public String updateService(@NotNull String id, Service entity) throws Exception { // lets set the IP ServiceSpec spec = entity.getSpec(); if (spec == null) { spec = new ServiceSpec(); entity.setSpec(spec); } if (!HEADLESS_PORTAL_IP.equals(spec.getPortalIP())) { spec.setPortalIP(getHostName()); } // lets ensure there's a default namespace set String namespace = KubernetesHelper.getNamespace(entity); if (Strings.isBlank(namespace)) { getOrCreateMetadata(entity).setNamespace(DEFAULT_NAMESPACE); } model.updateService(id, entity); return null; }
String namespace = KubernetesHelper.getNamespace(pod); if (Strings.isBlank(namespace)) { getOrCreateMetadata(pod).setNamespace(DEFAULT_NAMESPACE);
/** * Returns the URL to the fabric8 console */ public static String getBuildConfigConsoleURL(KubernetesClient kubernetes, String consoleNamespace, BuildConfig buildConfig) { String name = getName(buildConfig); String namespace = getNamespace(buildConfig); if (Strings.isNullOrBlank(namespace)) { namespace = consoleNamespace; } String consoleURL = getFabric8ConsoleServiceUrl(kubernetes, namespace); if (Strings.isNotBlank(consoleURL)) { if (Strings.isNotBlank(name)) { return URLUtils.pathJoin(consoleURL, "workspaces", namespace, "projects",name); } return URLUtils.pathJoin(consoleURL, "workspaces", namespace); } return null; }
protected void serviceChanged(Service entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deleteService(id, KubernetesHelper.getNamespace(entity)); serviceListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_SERVICE); if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updateService(id, entity); serviceListeners.entityChanged(id, entity); } } }
protected void replicationControllerChanged(ReplicationController entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deleteReplicationController(id, KubernetesHelper.getNamespace(entity)); replicationControllerListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_REPLICATION_CONTROLLER); if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updateReplicationController(id, entity); replicationControllerListeners.entityChanged(id, entity); } }
protected void podChanged(Pod entity, boolean remove) { if (remove) { String id = getName(entity); if (Strings.isNotBlank(id)) { memoryModel.deletePod(id, KubernetesHelper.getNamespace(entity)); podListeners.entityDeleted(id, entity); } } else { String id = memoryModel.getOrCreateId(getName(entity), NodeHelper.KIND_POD); Pod old = memoryModel.getPod(id); // lets only replace the Pod if it really has changed to avoid overwriting // pods which are being installed if (NodeHelper.podHasChanged(entity, old)) { if (entity.getMetadata().getUid() == null) { entity.getMetadata().setUid(getNamespace() + '/' + id); } memoryModel.updatePod(id, entity); podListeners.entityChanged(id, entity); } } }
String namespace = KubernetesHelper.getNamespace(service); String serviceName = getName(service); String qualifiedServiceName = namespace + ":" + serviceName;