use of io.fabric8.common.util.Filter in project vertx-openshift-it by cescoffier.
the class OpenShiftTestAssistant method deployApplication.
public String deployApplication() throws IOException {
applicationName = System.getProperty("app.name");
List<? extends HasMetadata> entities = deploy("application", new File("target/classes/META-INF/fabric8/openshift.yml"));
Optional<String> first = entities.stream().filter(hm -> hm instanceof DeploymentConfig).map(hm -> (DeploymentConfig) hm).map(dc -> dc.getMetadata().getName()).findFirst();
if (applicationName == null && first.isPresent()) {
applicationName = first.get();
}
Route route = client.adapt(OpenShiftClient.class).routes().inNamespace(project).withName(applicationName).get();
assertThat(route).isNotNull();
RestAssured.baseURI = "http://" + Objects.requireNonNull(route).getSpec().getHost();
System.out.println("Route url: " + RestAssured.baseURI);
return applicationName;
}
use of io.fabric8.common.util.Filter in project vertx-openshift-it by cescoffier.
the class ConfigurationIT method initializeDirectoryConfig.
private static void initializeDirectoryConfig() throws URISyntaxException {
String configPodName, pathToJar;
Optional<Pod> maybePod = client.pods().inNamespace(deploymentAssistant.project()).list().getItems().stream().filter(pod -> pod.getMetadata().getName().startsWith(configServiceApp) && !pod.getMetadata().getName().endsWith("build") && !pod.getMetadata().getName().endsWith("deploy")).findFirst();
if (maybePod.isPresent()) {
configPodName = maybePod.get().getMetadata().getName();
} else {
System.out.println("No pod for configuration service available at the moment");
return;
}
pathToJar = "/deployments/" + new File(ConfigurableHttpVerticle.class.getProtectionDomain().getCodeSource().getLocation().toURI()).getName();
OC.execute("exec", configPodName, "--", "unzip", pathToJar, "'configuration/*'", "-d", "/deployments");
}
use of io.fabric8.common.util.Filter in project zalenium by zalando.
the class KubernetesContainerClient method registerNode.
@Override
public ContainerClientRegistration registerNode(String zaleniumContainerName, URL remoteHost) {
String podIpAddress = remoteHost.getHost();
// The only way to lookup a pod name by IP address is by looking at all pods in the namespace it seems.
PodList list = client.pods().withLabels(createdByZaleniumMap).list();
String containerId = null;
Pod currentPod = null;
for (Pod pod : list.getItems()) {
if (podIpAddress.equals(pod.getStatus().getPodIP())) {
containerId = pod.getMetadata().getName();
currentPod = pod;
break;
}
}
if (containerId == null) {
throw new IllegalStateException("Unable to locate pod by ip address, registration will fail");
}
ContainerClientRegistration registration = new ContainerClientRegistration();
List<EnvVar> podEnvironmentVariables = currentPod.getSpec().getContainers().get(0).getEnv();
Optional<EnvVar> noVncPort = podEnvironmentVariables.stream().filter(env -> "NOVNC_PORT".equals(env.getName())).findFirst();
if (noVncPort.isPresent()) {
Integer noVncPortInt = Integer.decode(noVncPort.get().getValue());
registration.setNoVncPort(noVncPortInt);
} else {
logger.warn(String.format("%s Couldn't find NOVNC_PORT, live preview will not work.", containerId));
}
registration.setIpAddress(currentPod.getStatus().getPodIP());
registration.setContainerId(containerId);
return registration;
}
use of io.fabric8.common.util.Filter in project syndesis by syndesisio.
the class OpenShiftServiceImpl method scale.
@Override
public void scale(String name, Map<String, String> labels, int desiredReplicas, long amount, TimeUnit timeUnit) throws InterruptedException {
String sName = openshiftName(name);
getDeploymentsByLabel(labels).stream().filter(d -> d.getMetadata().getName().equals(sName)).map(d -> new DeploymentConfigBuilder(d).editSpec().withReplicas(desiredReplicas).endSpec().build()).findAny().ifPresent(d -> openShiftClient.deploymentConfigs().createOrReplace(d));
}
use of io.fabric8.common.util.Filter in project syndesis by syndesisio.
the class MetricsCollector method run.
@Override
public void run() {
LOGGER.debug("Collecting metrics for active integration pods.");
try {
List<Pod> integrationPodList = kubernetes.pods().withLabel("integration").list().getItems();
Set<String> livePods = new HashSet<>();
for (Pod pod : integrationPodList) {
livePods.add(pod.getMetadata().getName());
}
integrationPodList.stream().filter(p -> Readiness.isReady(p)).forEach(p -> executor.execute(new PodMetricsReader(kubernetes, p.getMetadata().getName(), p.getMetadata().getAnnotations().get("syndesis.io/integration-name"), p.getMetadata().getLabels().get("syndesis.io/integration-id"), p.getMetadata().getLabels().get("syndesis.io/deployment-version"), rmh)));
Set<String> activeIntegrationIds = dataManager.fetchIds(Integration.class);
for (String integrationId : activeIntegrationIds) {
LOGGER.debug("Computing metrics for IntegrationId: {}", integrationId);
Map<String, RawMetrics> rawMetrics = rmh.getRawMetrics(integrationId);
IntegrationMetricsSummary imSummary = imh.compute(integrationId, rawMetrics, livePods);
imh.persist(imSummary);
rmh.curate(integrationId, rawMetrics, livePods);
}
rmh.curate(activeIntegrationIds);
imh.curate(activeIntegrationIds);
} catch (@SuppressWarnings("PMD.AvoidCatchingGenericException") Exception ex) {
LOGGER.error("Error while iterating integration pods.", ex);
}
}
Aggregations