keycloak-aplcache

Details

diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/common/ant/configure.xml b/testsuite/integration-arquillian/servers/auth-server/jboss/common/ant/configure.xml
new file mode 100644
index 0000000..981b6d8
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/common/ant/configure.xml
@@ -0,0 +1,47 @@
+<project>
+
+    <target name="check-configuration-state">
+        <available property="modcluster-configured" file="${project.build.directory}/modcluster-configured"/>
+        <echo>modcluster-configured: ${modcluster-configured}</echo>
+        <available property="crossdc-configured" file="${project.build.directory}/crossdc-configured"/>
+        <echo>crossdc-configured: ${crossdc-configured}</echo>
+    </target>
+    
+    <macrodef name="bin-chmod">
+        <sequential>
+            <chmod perm="ug+x">
+                <fileset dir="${auth.server.home}/bin">
+                    <include name="*.sh"/>
+                </fileset>
+            </chmod>
+        </sequential>
+    </macrodef>
+    
+    <macrodef name="cleanup">
+        <sequential>
+            <delete dir="${auth.server.home}/standalone/configuration/standalone_xml_history"/>
+            <delete dir="${auth.server.home}/standalone/log"/>
+            <delete dir="${auth.server.home}/standalone/data"/>
+            <delete dir="${auth.server.home}/standalone/tmp"/>
+        </sequential>
+    </macrodef> 
+    
+    <target name="modcluster" unless="modcluster-configured" depends="check-configuration-state">
+        <bin-chmod/>
+        <exec dir="${auth.server.home}/bin" executable="./${jboss.cli.executable}" failonerror="true">
+            <arg value="--file=${common.resources}/jboss-cli/modcluster-simple-load-provider.cli"/>
+        </exec>
+        <cleanup/>
+        <touch file="${project.build.directory}/modcluster-configured"/>
+    </target>
+    
+    <target name="crossdc" unless="crossdc-configured" depends="check-configuration-state">
+        <bin-chmod/>
+        <exec dir="${auth.server.home}/bin" executable="./${jboss.cli.executable}" failonerror="true">
+            <arg value="--file=${common.resources}/jboss-cli/cross-dc-setup.cli"/>
+        </exec>
+        <cleanup/>
+        <touch file="${project.build.directory}/crossdc-configured"/>
+    </target>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/common/jboss-cli/modcluster-simple-load-provider.cli b/testsuite/integration-arquillian/servers/auth-server/jboss/common/jboss-cli/modcluster-simple-load-provider.cli
new file mode 100644
index 0000000..be7ac21
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/common/jboss-cli/modcluster-simple-load-provider.cli
@@ -0,0 +1,7 @@
+embed-server --server-config=standalone-ha.xml
+
+# remove dynamic-load-provider
+/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration:remove
+
+# add simple-load-provider with factor=1 to assure round-robin balancing
+/subsystem=modcluster/mod-cluster-config=configuration:write-attribute(name=simple-load-provider, value=1)
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/auth-server/jboss/pom.xml b/testsuite/integration-arquillian/servers/auth-server/jboss/pom.xml
index d1e7322..fcd4389 100644
--- a/testsuite/integration-arquillian/servers/auth-server/jboss/pom.xml
+++ b/testsuite/integration-arquillian/servers/auth-server/jboss/pom.xml
@@ -32,7 +32,7 @@
     <name>Auth Server - JBoss</name>
 
     <properties>
-        <common.resources>${project.parent.basedir}/common</common.resources>
+        <common.resources>${basedir}/../common</common.resources>
         <assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
 
         <!--server-dist-->
@@ -264,6 +264,10 @@
                         <artifactId>exec-maven-plugin</artifactId>
                     </plugin>
                     <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-antrun-plugin</artifactId>
+                    </plugin>
+                    <plugin>
                         <artifactId>maven-assembly-plugin</artifactId>
                         <executions>
                             <execution>
@@ -659,37 +663,19 @@
                             </executions>
                         </plugin>
                         <plugin>
-                            <groupId>org.codehaus.mojo</groupId>
-                            <artifactId>exec-maven-plugin</artifactId>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-antrun-plugin</artifactId>
                             <executions>
                                 <execution>
-                                    <id>crossdc-setup</id>
-                                    <phase>process-resources</phase>
-                                    <goals>
-                                        <goal>exec</goal>
-                                    </goals>
-                                    <configuration>
-                                        <executable>${auth.server.home}/bin/jboss-cli.sh</executable>
-                                        <arguments>
-                                            <argument>--file=${common.resources}/crossdc/cross-dc-setup.cli</argument>
-                                        </arguments>
-                                    </configuration>
-                                </execution>
-                                <execution>
-                                    <id>remove-temp-data-crossdc-setup</id>
+                                    <id>configure-crossdc</id>
                                     <phase>process-resources</phase>
                                     <goals>
-                                        <goal>exec</goal>
+                                        <goal>run</goal>
                                     </goals>
                                     <configuration>
-                                        <workingDirectory>${auth.server.home}/standalone/</workingDirectory>
-                                        <executable>rm</executable>
-                                        <arguments>
-                                            <argument>-rf</argument>
-                                            <argument>data</argument>
-                                            <argument>log</argument>
-                                            <argument>tmp</argument>
-                                        </arguments>
+                                        <target>
+                                            <ant antfile="${common.resources}/ant/configure.xml" target="crossdc" />
+                                        </target>
                                     </configuration>
                                 </execution>
                             </executions>
@@ -782,33 +768,28 @@
                                         </transformationSets>
                                     </configuration>
                                 </execution>
+                            </executions>
+                        </plugin>
+                        
+                        <plugin>
+                            <groupId>org.apache.maven.plugins</groupId>
+                            <artifactId>maven-antrun-plugin</artifactId>
+                            <executions>
                                 <execution>
-                                    <id>mod-cluster-configuration</id>
+                                    <id>configure-modcluster</id>
                                     <phase>process-resources</phase>
                                     <goals>
-                                        <goal>transform</goal>
+                                        <goal>run</goal>
                                     </goals>
                                     <configuration>
-                                        <transformationSets>
-                                            <transformationSet>
-                                                <dir>${auth.server.home}/standalone/configuration</dir>
-                                                <includes>
-                                                    <include>standalone-ha.xml</include>
-                                                </includes>
-                                                <stylesheet>${common.resources}/mod_cluster.xsl</stylesheet>
-                                                <outputDir>${auth.server.home}/standalone/configuration</outputDir>
-                                                <parameters>
-                                                    <parameter>
-                                                        <name>load.metric</name>
-                                                        <value>${load.metric}</value>
-                                                    </parameter>
-                                                </parameters>
-                                            </transformationSet>
-                                        </transformationSets>
+                                        <target>
+                                            <ant antfile="${common.resources}/ant/configure.xml" target="modcluster" />
+                                        </target>
                                     </configuration>
                                 </execution>
                             </executions>
                         </plugin>
+                        
                     </plugins>
                 </pluginManagement>
             </build>
diff --git a/testsuite/integration-arquillian/servers/pom.xml b/testsuite/integration-arquillian/servers/pom.xml
index 3b7bf11..d4812c4 100644
--- a/testsuite/integration-arquillian/servers/pom.xml
+++ b/testsuite/integration-arquillian/servers/pom.xml
@@ -52,9 +52,12 @@
         
         <jboss.default.worker.io-threads>16</jboss.default.worker.io-threads>
         <jboss.default.worker.task-max-threads>128</jboss.default.worker.task-max-threads>
+        <jboss.default.http.max-connections>500</jboss.default.http.max-connections>
 
         <cache.default.worker.io-threads>2</cache.default.worker.io-threads>
         <cache.default.worker.task-max-threads>4</cache.default.worker.task-max-threads>
+        
+        <jboss.cli.executable>jboss-cli.sh</jboss.cli.executable>
     </properties>
 
     <modules>
@@ -87,6 +90,7 @@
             </activation>
             <properties>        
                 <script.suffix>bat</script.suffix>
+                <jboss.cli.executable>jboss-cli.ps1</jboss.cli.executable>
             </properties>
         </profile>
 
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml b/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
index 518e647..ac0b1eb 100644
--- a/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/pom.xml
@@ -33,9 +33,13 @@
         <wildfly.balancer.home>${project.build.directory}/unpacked/wildfly-${wildfly.version}</wildfly.balancer.home>
         <wildfly.balancer.worker.io-threads>${jboss.default.worker.io-threads}</wildfly.balancer.worker.io-threads>
         <wildfly.balancer.worker.task-max-threads>${jboss.default.worker.task-max-threads}</wildfly.balancer.worker.task-max-threads>
+        <wildfly.balancer.http.max-connections>${jboss.default.http.max-connections}</wildfly.balancer.http.max-connections>
+
+        <script.sources.dir>${project.build.scriptSourceDirectory}</script.sources.dir>
     </properties>
     
     <build>
+
         <plugins>
             <plugin>
                 <artifactId>maven-dependency-plugin</artifactId>
@@ -60,62 +64,47 @@
                     </execution>
                 </executions>
             </plugin>
-            
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>xml-maven-plugin</artifactId>
+                <artifactId>maven-resources-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>io-worker-threads</id>
-                        <phase>process-resources</phase>
+                        <id>copy-resources</id>
+                        <phase>generate-resources</phase>
                         <goals>
-                            <goal>transform</goal>
+                            <goal>copy-resources</goal>
                         </goals>
                         <configuration>
-                            <transformationSets>
-                                <transformationSet>
-                                    <dir>${wildfly.balancer.home}/standalone/configuration</dir>
-                                    <includes>
-                                        <include>standalone.xml</include>
-                                    </includes>
-                                    <stylesheet>src/main/xslt/io.xsl</stylesheet>
-                                    <outputDir>${wildfly.balancer.home}/standalone/configuration</outputDir>
-                                    <parameters>
-                                        <parameter>
-                                            <name>worker.io-threads</name>
-                                            <value>${wildfly.balancer.worker.io-threads}</value>
-                                        </parameter>
-                                        <parameter>
-                                            <name>worker.task-max-threads</name>
-                                            <value>${wildfly.balancer.worker.task-max-threads}</value>
-                                        </parameter>
-                                    </parameters>
-                                </transformationSet>
-                            </transformationSets>
-                        </configuration>
+                            <outputDirectory>${wildfly.balancer.home}/bin</outputDirectory>
+                            <resources>          
+                                <resource>
+                                    <directory>${script.sources.dir}/jboss-cli</directory>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>              
+                        </configuration>            
                     </execution>
+                </executions>
+            </plugin>
+            
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
                     <execution>
-                        <id>configure-mod-cluster</id>
+                        <id>configure-wildfly-modcluster</id>
                         <phase>process-resources</phase>
                         <goals>
-                            <goal>transform</goal>
+                            <goal>run</goal>
                         </goals>
                         <configuration>
-                            <transformationSets>
-                                <transformationSet>
-                                    <dir>${wildfly.balancer.home}/standalone/configuration</dir>
-                                    <includes>
-                                        <include>standalone.xml</include>
-                                    </includes>
-                                    <stylesheet>src/main/xslt/mod_cluster.xsl</stylesheet>
-                                    <outputDir>${wildfly.balancer.home}/standalone/configuration</outputDir>
-                                </transformationSet>
-                            </transformationSets>
+                            <target>
+                                <ant antfile="${script.sources.dir}/ant/configure.xml" target="wildfly-modcluster" />
+                            </target>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
-           
+
             <plugin>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <executions>
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/ant/configure.xml b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/ant/configure.xml
new file mode 100644
index 0000000..2c6ab24
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/ant/configure.xml
@@ -0,0 +1,31 @@
+<project>
+
+    <target name="check-configuration-state">
+        <available property="wildfly-modcluster-configured" file="${project.build.directory}/wildfly-modcluster-configured"/>
+        <echo>wildfly-modcluster-configured: ${wildfly-modcluster-configured}</echo>
+    </target>       
+    
+    <target name="wildfly-modcluster" unless="wildfly-modcluster-configured" depends="check-configuration-state">
+        <chmod perm="ug+x">
+            <fileset dir="${wildfly.balancer.home}/bin">
+                <include name="*.sh"/>
+            </fileset>
+        </chmod>
+        <exec executable="./${jboss.cli.executable}" dir="${wildfly.balancer.home}/bin" failonerror="true">
+            <arg value="--file=mod-cluster-balancer.cli"/>
+        </exec>
+        <exec executable="./${jboss.cli.executable}" dir="${wildfly.balancer.home}/bin" failonerror="true">
+            <arg value="--file=undertow.cli"/>
+        </exec>
+        <exec executable="./${jboss.cli.executable}" dir="${wildfly.balancer.home}/bin" failonerror="true">
+            <arg value="--file=io-worker-threads.cli"/>
+        </exec>
+        <delete dir="${wildfly.balancer.home}/standalone/configuration/standalone_xml_history"/>
+        <delete dir="${wildfly.balancer.home}/standalone/log"/>
+        <delete dir="${wildfly.balancer.home}/standalone/data"/>
+        <delete dir="${wildfly.balancer.home}/standalone/tmp"/>
+        
+        <touch file="${project.build.directory}/wildfly-modcluster-configured"/>
+    </target>
+
+</project>
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/io-worker-threads.cli b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/io-worker-threads.cli
new file mode 100644
index 0000000..d81d541
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/io-worker-threads.cli
@@ -0,0 +1,7 @@
+embed-server --server-config=standalone.xml
+
+# default is cpuCount * 2
+/subsystem=io/worker=default:write-attribute(name=io-threads,value=${wildfly.balancer.worker.io-threads})
+
+# default is cpuCount * 16
+/subsystem=io/worker=default:write-attribute(name=task-max-threads,value=${jboss.default.worker.task-max-threads})
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/mod-cluster-balancer.cli b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/mod-cluster-balancer.cli
new file mode 100644
index 0000000..5f89a47
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/mod-cluster-balancer.cli
@@ -0,0 +1,12 @@
+embed-server --server-config=standalone.xml
+
+/interface=private:add(inet-address=${jboss.bind.address.private:127.0.0.1})
+
+/socket-binding-group=standard-sockets/socket-binding=modcluster-advertise:add(interface=private, multicast-port=23364, multicast-address=${jboss.default.multicast.address:224.0.1.105})
+/socket-binding-group=standard-sockets/socket-binding=modcluster-management:add(interface=private, port=6666)
+
+/extension=org.jboss.as.modcluster/:add
+/subsystem=undertow/configuration=filter/mod-cluster=modcluster:add(advertise-socket-binding=modcluster-advertise, advertise-frequency=${modcluster.advertise-frequency:2000}, management-socket-binding=modcluster-management, enable-http2=true)
+/subsystem=undertow/server=default-server/host=default-host/filter-ref=modcluster:add
+/subsystem=undertow/server=default-server/http-listener=modcluster:add(socket-binding=modcluster-management, enable-http2=true)
+
diff --git a/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/undertow.cli b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/undertow.cli
new file mode 100644
index 0000000..9a557ef
--- /dev/null
+++ b/testsuite/integration-arquillian/servers/wildfly-balancer/src/main/scripts/jboss-cli/undertow.cli
@@ -0,0 +1,2 @@
+embed-server --server-config=standalone.xml
+/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-connections,value=${wildfly.balancer.http.max-connections})