:RETENTION_TIME: Number of minutes to wait for an idle slave to be used
again before it's removed. If set to -1, the slave will be kept
forever. (default: 0)
+ :CONNECTION_TYPE: The connection type for Jenkins to connect to the build
+ minion. Valid options: JNLP, SSH. (default: "SSH")
For a live example see the OpenDaylight project jenkins-config directory.
https://github.com/opendaylight/releng-builder/tree/master/jenkins-config
echo ")"
}
+get_launcher_factory() {
+ if [ -z $1 ]; then
+ >&2 echo "Usage: get_launcher_factory JNLP|SSH"
+ exit 1
+ fi
+
+ local connection_type="$1"
+
+ if [ "$connection_type" == "JNLP" ]; then
+ echo "new LauncherFactory.JNLP()"
+ elif [ "$connection_type" == "SSH" ]; then
+ echo "new LauncherFactory.SSH(\"$key_pair_name\", \"\")"
+ else
+ >&2 echo "Unknown connection type $connection_type"
+ exit 1
+ fi
+}
+
get_minion_options() {
if [ -z $1 ]; then
>&2 echo "Usage: get_minion_options CFG_FILE"
jvm_options=$(get_cfg "$cfg_file" JVM_OPTIONS "")
fs_root=$(get_cfg "$cfg_file" FS_ROOT "/w")
retention_time=$(get_cfg "$cfg_file" RETENTION_TIME "0")
+ connection_type=$(get_cfg "$cfg_file" CONNECTION_TYPE "SSH")
+ launcher_factory=$(get_launcher_factory "$connection_type")
OS_PLUGIN_VER="$(lftools jenkins plugins list \
| grep -i 'OpenStack Cloud Plugin' | awk -F':' '{print $2}')"
echo " $num_executors,"
echo " \"$jvm_options\","
echo " \"$fs_root\","
- echo " new LauncherFactory.SSH(\"$key_pair_name\", \"\"),"
+ echo " $launcher_factory,"
echo " $retention_time"
else # SlaveOptions() structure for versions <= 2.34
echo " $num_executors,"
echo " \"$jvm_options\","
echo " \"$fs_root\","
- echo " new LauncherFactory.SSH(\"$key_pair_name\", \"\"),"
+ echo " $launcher_factory,"
echo " $retention_time"
fi
}