I am trying to run a simple distributed jmeter test with the jmeter-maven-plugin but I cannot get the remote nodes to be started by the plugin. If I manually start jmeter-server on each node, it will work as expected, but I don't want to do have to do that.
Below is the plugin configuration and output from the plugin running:
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<configuration>
<downloadExtensionDependencies>false</downloadExtensionDependencies>
<remoteConfig>
<serverList>192.168.40.5</serverList>
<startServersBeforeTests>true</startServersBeforeTests>
<stopServersAfterTests>true</stopServersAfterTests>
</remoteConfig>
<jmeterExtensions>
<artifact>com.abc:performance-tests:${project.version}</artifact>
</jmeterExtensions>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
14:10:38 [INFO] Executing test: Test Plan.jmx
14:10:38 [INFO] Arguments for forked JMeter JVM: [java, -Xms512M, -Xmx512M, -Djava.awt.headless=true, -jar, ApacheJMeter-5.1.1.jar, -d, /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter, -j, /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter/logs/Test Plan.jmx.log, -l, /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter/results/20190617-Test Plan.csv, -n, -r, -t, /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter/testFiles/Test Plan.jmx, -R, 192.168.40.5, -X, -Dsun.net.http.allowRestrictedHeaders, true]
14:10:38 [INFO]
14:10:38 [INFO] Picked up JAVA_TOOL_OPTIONS: -Dmaven.ext.class.path="/home/jenkins/jenkins/workspace/performance-tests_IB-33953@tmp/withMaven289a3daf/pipeline-maven-spy.jar" -Dorg.jenkinsci.plugins.pipeline.maven.reportsFolder="/home/jenkins/jenkins/workspace/performance-tests_IB-33953@tmp/withMaven289a3daf"
14:10:40 [INFO] Jun 17, 2019 2:10:40 PM java.util.prefs.FileSystemPreferences$1 run
14:10:40 [INFO] INFO: Created user preferences directory.
14:10:41 [INFO] Created the tree successfully using /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter/testFiles/Test Plan.jmx
14:10:41 [INFO] Configuring remote engine: 192.168.40.5
14:10:41 [INFO] Connection refused to host: 192.168.40.5; nested exception is:
14:10:41 [INFO] java.net.ConnectException: Connection refused (Connection refused)
14:10:41 [INFO] Failed to configure 192.168.40.5
14:10:41 [INFO] Stopping remote engines
14:10:41 [INFO] Remote engines have been stopped
14:10:41 [INFO] Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:[192.168.40.5]
14:10:42 [INFO] Completed Test: /home/jenkins/jenkins/workspace/performance-tests_IB-33953/target/jmeter/testFiles/Test Plan.jmx
My jmeter.properties is simply: remote_hosts=192.168.40.5
Does anyone know what could be wrong here? I know I'm using both the start all and start specific remote hosts option but I tried them both separately and neither seem to work.
The remote nodes themselves are secured via SSH that uses a keystore (not the same as the rmi_keystore). Is the problem perhaps that the plugin is trying to use the rmi_keystore to log on to the box itself?