Search in sources :

Example 1 with KubernetesList

use of io.fabric8.kubernetes.api.model.KubernetesList in project syndesis-qe by syndesisio.

the class AmqTemplate method deploy.

public static void deploy() {
    Template template = null;
    try (InputStream is = ClassLoader.getSystemResourceAsStream("templates/syndesis-amq.yml")) {
        template = OpenShiftUtils.client().templates().load(is).get();
    } catch (IOException ex) {
        throw new IllegalArgumentException("Unable to read template ", ex);
    }
    Map<String, String> templateParams = new HashMap<>();
    templateParams.put("MQ_USERNAME", "amq");
    templateParams.put("MQ_PASSWORD", "topSecret");
    // try to clean previous broker
    cleanUp();
    OpenShiftUtils.client().templates().withName("syndesis-amq").delete();
    KubernetesList processedTemplate = OpenShiftUtils.getInstance().recreateAndProcessTemplate(template, templateParams);
    OpenShiftUtils.getInstance().createResources(processedTemplate);
    try {
        OpenShiftWaitUtils.waitFor(OpenShiftWaitUtils.isAPodReady("application", "broker"));
    } catch (InterruptedException | TimeoutException e) {
        log.error("Wait for syndesis-server failed ", e);
    }
    // this is not part of deployment, but let's have it the same method:
    AmqTemplate.addAccounts();
}
Also used : HashMap(java.util.HashMap) InputStream(java.io.InputStream) IOException(java.io.IOException) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) Template(io.fabric8.openshift.api.model.Template) TimeoutException(java.util.concurrent.TimeoutException)

Example 2 with KubernetesList

use of io.fabric8.kubernetes.api.model.KubernetesList in project syndesis-qe by syndesisio.

the class SyndesisTemplate method deploy.

public static void deploy() {
    OpenShiftUtils.getInstance().cleanAndAssert();
    // get & create restricted SA
    OpenShiftUtils.getInstance().createServiceAccount(getSupportSA());
    // get token from SA `oc secrets get-token` && wait until created to prevent 404
    TestUtils.waitForEvent(Optional::isPresent, () -> OpenShiftUtils.getInstance().getSecrets().stream().filter(s -> s.getMetadata().getName().startsWith("syndesis-oauth-client-token")).findFirst(), TimeUnit.MINUTES, 2, TimeUnit.SECONDS, 5);
    Secret secret = OpenShiftUtils.getInstance().getSecrets().stream().filter(s -> s.getMetadata().getName().startsWith("syndesis-oauth-client-token")).findFirst().get();
    // token is Base64 encoded by default
    String oauthTokenEncoded = secret.getData().get("token");
    byte[] oauthTokenBytes = Base64.decodeBase64(oauthTokenEncoded);
    String oauthToken = new String(oauthTokenBytes);
    // get the template
    Template template = getTemplate();
    // set params
    Map<String, String> templateParams = new HashMap<>();
    templateParams.put("ROUTE_HOSTNAME", TestConfiguration.openShiftNamespace() + "." + TestConfiguration.syndesisUrlSuffix());
    templateParams.put("OPENSHIFT_MASTER", TestConfiguration.openShiftUrl());
    templateParams.put("OPENSHIFT_PROJECT", TestConfiguration.openShiftNamespace());
    templateParams.put("OPENSHIFT_OAUTH_CLIENT_SECRET", oauthToken);
    templateParams.put("TEST_SUPPORT_ENABLED", "true");
    // process & create
    KubernetesList processedTemplate = OpenShiftUtils.getInstance().recreateAndProcessTemplate(template, templateParams);
    OpenShiftUtils.getInstance().createResources(processedTemplate);
    OpenShiftUtils.createRestRoute(TestConfiguration.openShiftNamespace(), TestConfiguration.syndesisUrlSuffix());
    // TODO: there's a bug in openshift-client, we need to initialize manually
    OpenShiftUtils.client().roleBindings().createOrReplaceWithNew().withNewMetadata().withName("syndesis:editors").endMetadata().withNewRoleRef().withName("edit").endRoleRef().addNewSubject().withKind("ServiceAccount").withName(Component.SERVER.getName()).withNamespace(TestConfiguration.openShiftNamespace()).endSubject().addToUserNames(String.format("system:serviceaccount:%s:%s", TestConfiguration.openShiftNamespace(), Component.SERVER.getName())).done();
}
Also used : Secret(io.fabric8.kubernetes.api.model.Secret) Optional(java.util.Optional) HashMap(java.util.HashMap) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) DoneableTemplate(io.fabric8.openshift.api.model.DoneableTemplate) Template(io.fabric8.openshift.api.model.Template)

Aggregations

KubernetesList (io.fabric8.kubernetes.api.model.KubernetesList)2 Template (io.fabric8.openshift.api.model.Template)2 HashMap (java.util.HashMap)2 Secret (io.fabric8.kubernetes.api.model.Secret)1 DoneableTemplate (io.fabric8.openshift.api.model.DoneableTemplate)1 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 Optional (java.util.Optional)1 TimeoutException (java.util.concurrent.TimeoutException)1