From 3d26ab88172ac193b1a6dcbd7df078a59b64f398 Mon Sep 17 00:00:00 2001 From: mposolda Date: Mon, 4 May 2015 23:16:42 +0200 Subject: [PATCH] KEYCLOAK-1265 Fix import realm in admin console on EAP 6.4, Update docker-cluster --- .../WEB-INF/jboss-deployment-structure.xml | 1 + testsuite/docker-cluster/README.md | 12 ++++++------ testsuite/docker-cluster/assembly.xml | 7 +++++++ .../{eap63-image => eap6-image}/Dockerfile | 18 +++++++++--------- testsuite/docker-cluster/eap6/Dockerfile | 18 ++++++++++++++++++ .../keycloak-eap6-trigger.sh} | 0 testsuite/docker-cluster/eap63/Dockerfile | 13 ------------- .../{fig-eap63.yml => fig-eap6.yml} | 4 ++-- testsuite/docker-cluster/pom.xml | 8 ++++++-- .../shared-files/keycloak-base-prepare.sh | 12 +++++++++++- .../shared-files/keycloak-run-node.sh | 13 ------------- testsuite/docker-cluster/wildfly/Dockerfile | 4 ++-- 12 files changed, 62 insertions(+), 48 deletions(-) rename testsuite/docker-cluster/{eap63-image => eap6-image}/Dockerfile (67%) create mode 100644 testsuite/docker-cluster/eap6/Dockerfile rename testsuite/docker-cluster/{eap63/keycloak-eap63-trigger.sh => eap6/keycloak-eap6-trigger.sh} (100%) delete mode 100644 testsuite/docker-cluster/eap63/Dockerfile rename testsuite/docker-cluster/{fig-eap63.yml => fig-eap6.yml} (90%) diff --git a/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml b/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml index 44ecae0c2f..eed0b00efd 100755 --- a/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml +++ b/distribution/subsystem-war/src/main/webapp/WEB-INF/jboss-deployment-structure.xml @@ -55,6 +55,7 @@ + diff --git a/testsuite/docker-cluster/README.md b/testsuite/docker-cluster/README.md index c51cd803cf..2dc10fd391 100644 --- a/testsuite/docker-cluster/README.md +++ b/testsuite/docker-cluster/README.md @@ -3,7 +3,7 @@ How to test Keycloak cluster with Docker Docker+Fig allows to easily setup and test the whole environment with: * Apache HTTPD 2.4 + modcluster 1.3 as Load Balancer * MySQL 5.6.1 as database -* Various number of Keycloak cluster nodes running on WildFly with "demo" examples deployed. (See below for EAP 6.3 and AS7) +* Various number of Keycloak cluster nodes running on WildFly with "demo" examples deployed. (See below for EAP 6.4 and AS7) You don't need to setup Apache with modcluster + MySQL on your laptop as Docker will do it for you and all will run in Docker containers. @@ -133,16 +133,16 @@ changed jars, then rebuild distribution and testsuite/docker-cluster (or just copy changed JAR into $KEYCLOAK_HOME/testsuite/docker-cluster/target/keycloak-docker-cluster/deployments/auth-server.war/WEB-INF/lib if it's not adapter stuff. But 'fig rm' is safer to call anyway) -Test with Keycloak and examples on EAP 6.3 +Test with Keycloak and examples on EAP 6.4 ------------------------------------------ -Steps are quite similar like for WildFly but we need to pass different file "fig-eap63.yml" instead of default "fig.yml" which is used for WildFly. +Steps are quite similar like for WildFly but we need to pass different file "fig-eap6.yml" instead of default "fig.yml" which is used for WildFly. Also name of the node is "eapnode" instead of "wfnode". So your commands will look like ```shell -$ fig -f fig-eap63.yml build -$ fig -f fig-eap63.yml up -$ fig -f fig-eap63.yml scale eapnode=2 +$ fig -f fig-eap6.yml build +$ fig -f fig-eap6.yml up +$ fig -f fig-eap6.yml scale eapnode=2 ```` and viceversa. diff --git a/testsuite/docker-cluster/assembly.xml b/testsuite/docker-cluster/assembly.xml index da0580d2ce..ee31467d51 100644 --- a/testsuite/docker-cluster/assembly.xml +++ b/testsuite/docker-cluster/assembly.xml @@ -34,6 +34,13 @@ target/eap63-adapter eap63-adapter + + target/server-overlay + server-overlay + + **/standalone-keycloak.xml + + shared-files shared-files diff --git a/testsuite/docker-cluster/eap63-image/Dockerfile b/testsuite/docker-cluster/eap6-image/Dockerfile similarity index 67% rename from testsuite/docker-cluster/eap63-image/Dockerfile rename to testsuite/docker-cluster/eap6-image/Dockerfile index fa8a62692b..e655baf543 100644 --- a/testsuite/docker-cluster/eap63-image/Dockerfile +++ b/testsuite/docker-cluster/eap6-image/Dockerfile @@ -6,24 +6,24 @@ USER root RUN yum install -y unzip && yum install -y wget && yum install -y mc && yum -y install nc RUN yum clean all +# Drop wildfly +RUN rm -rf /opt/jboss/wildfly* + # Download mysql driver RUN cd /tmp RUN wget http://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar -RUN mv *.jar mysql-connector-java-5.1.32.jar +RUN mv *.jar /mysql-connector-java-5.1.32.jar -# Drop wildfly -RUN rm -rf /opt/wildfly* - -# Download and unpack EAP63 distribution TODO: Check if it's an issue for EAP 6.3 +# Download and unpack EAP64 distribution TODO: Check if it's an issue for EAP 6.4 RUN cd / -RUN wget https://dl.dropboxusercontent.com/u/5525920/jboss-eap-6.3.0.zip +RUN wget https://dl.dropboxusercontent.com/u/5525920/jboss-eap-6.4.0.zip RUN sleep 3 -RUN unzip -q jboss-eap-6.3.0.zip +RUN unzip -q jboss-eap-6.4.0.zip # Make sure the distribution is available from a well-known place -RUN mv jboss-eap-6.3 /opt/eap63 +RUN mv jboss-eap-6.4 /opt/eap6 -RUN rm -rf jboss-eap-6.3.0.zip +RUN rm -rf jboss-eap-6.4.0.zip EXPOSE 8787 diff --git a/testsuite/docker-cluster/eap6/Dockerfile b/testsuite/docker-cluster/eap6/Dockerfile new file mode 100644 index 0000000000..9d7ad62675 --- /dev/null +++ b/testsuite/docker-cluster/eap6/Dockerfile @@ -0,0 +1,18 @@ +FROM mposolda/eap64 + +ADD keycloak-eap6-trigger.sh /keycloak-eap6-trigger.sh +RUN chmod u+x /keycloak-eap6-trigger.sh + +# TODO: REmove as it's in base EAP64 image already +RUN cd /tmp +RUN wget http://search.maven.org/remotecontent?filepath=mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar +RUN mv mysql-connector-*.jar / + +ENV JBOSS_HOME /opt/eap6 +ENV JBOSS_MODULES_HOME $JBOSS_HOME/modules/system/layers/base +ENV JBOSS_TYPE eap6 +ENV NODE_PREFIX eap + +EXPOSE 8787 + +CMD [ "/keycloak-eap6-trigger.sh" ] \ No newline at end of file diff --git a/testsuite/docker-cluster/eap63/keycloak-eap63-trigger.sh b/testsuite/docker-cluster/eap6/keycloak-eap6-trigger.sh similarity index 100% rename from testsuite/docker-cluster/eap63/keycloak-eap63-trigger.sh rename to testsuite/docker-cluster/eap6/keycloak-eap6-trigger.sh diff --git a/testsuite/docker-cluster/eap63/Dockerfile b/testsuite/docker-cluster/eap63/Dockerfile deleted file mode 100644 index 136bc385b8..0000000000 --- a/testsuite/docker-cluster/eap63/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM mposolda/eap63 - -ADD keycloak-eap63-trigger.sh /keycloak-eap63-trigger.sh -RUN chmod u+x /keycloak-eap63-trigger.sh - -ENV JBOSS_HOME /opt/eap63 -ENV JBOSS_MODULES_HOME $JBOSS_HOME/modules/system/layers/base -ENV JBOSS_TYPE eap63 -ENV NODE_PREFIX eap - -EXPOSE 8787 - -CMD [ "/keycloak-eap63-trigger.sh" ] \ No newline at end of file diff --git a/testsuite/docker-cluster/fig-eap63.yml b/testsuite/docker-cluster/fig-eap6.yml similarity index 90% rename from testsuite/docker-cluster/fig-eap63.yml rename to testsuite/docker-cluster/fig-eap6.yml index b7ed7fef67..b15cbb6310 100644 --- a/testsuite/docker-cluster/fig-eap63.yml +++ b/testsuite/docker-cluster/fig-eap6.yml @@ -16,8 +16,8 @@ mysql: ports: - "33306:3306" eapnode: - build: eap63 - command: /keycloak-eap63-trigger.sh + build: eap6 + command: /keycloak-eap6-trigger.sh volumes: - target/keycloak-docker-cluster:/keycloak-docker-cluster volumes_from: diff --git a/testsuite/docker-cluster/pom.xml b/testsuite/docker-cluster/pom.xml index 3c9be322ed..c3f98be4ec 100755 --- a/testsuite/docker-cluster/pom.xml +++ b/testsuite/docker-cluster/pom.xml @@ -41,26 +41,30 @@ org.keycloak - keycloak-war-deployment + keycloak-server-overlay zip - ${project.build.directory} + ${project.version} + ${project.build.directory}/server-overlay org.keycloak keycloak-wildfly-adapter-dist zip + ${project.version} ${project.build.directory}/wildfly-adapter org.keycloak keycloak-as7-adapter-dist zip + ${project.version} ${project.build.directory}/as7-adapter org.keycloak keycloak-eap6-adapter-dist zip + ${project.version} ${project.build.directory}/eap63-adapter diff --git a/testsuite/docker-cluster/shared-files/keycloak-base-prepare.sh b/testsuite/docker-cluster/shared-files/keycloak-base-prepare.sh index ac312c5003..965da9b7f3 100644 --- a/testsuite/docker-cluster/shared-files/keycloak-base-prepare.sh +++ b/testsuite/docker-cluster/shared-files/keycloak-base-prepare.sh @@ -1,5 +1,11 @@ #!/bin/bash +# Copy Overlay +cp -r /keycloak-docker-cluster/server-overlay/* $JBOSS_HOME/ + +# Deploy and configure examples +/keycloak-docker-cluster/shared-files/deploy-examples.sh + # Copy MySQL driver cd /tmp mkdir -p mysql/main && mv /mysql-connector-java-5.1.32.jar mysql/main/ @@ -7,7 +13,7 @@ cp /keycloak-docker-cluster/shared-files/mysql-module.xml mysql/main/module.xml mv mysql $JBOSS_MODULES_HOME/com/ sed -i -e "s//&\n /" $JBOSS_HOME/standalone/configuration/standalone-ha.xml -sed -i -e 's//&\n /' $JBOSS_HOME/standalone/configuration/standalone-ha.xml && \ +sed -i -e 's//&\n \n \n true<\/enabled>\n auth<\/web-context>\n <\/auth-server> \n <\/subsystem>/' $JBOSS_HOME/standalone/configuration/standalone-ha.xml && \ sed -i -e 's//&\n \n \n \n <\/authentication>\n <\/security-domain>/' $JBOSS_HOME/standalone/configuration/standalone-ha.xml && \ sed -i -e 's//&\n \n com.mysql.jdbc.Driver<\/xa-datasource-class>\n com.mysql.jdbc.Driver<\/driver-class>\n <\/driver>/' $JBOSS_HOME/standalone/configuration/standalone-ha.xml && \ sed -i -e 's/<\/periodic-rotating-file-handler>/&\n \n \n <\/logger>\n \n \n <\/logger>/' $JBOSS_HOME/standalone/configuration/standalone-ha.xml @@ -23,3 +29,7 @@ sed -i "s||