silos="${jenkins_silos:-jenkins}"
-set +x # Disable `set -x` to prevent printing passwords
-echo "Configuring $silo"
-JENKINS_URL=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" url)
-JENKINS_USER=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" user)
-JENKINS_PASSWORD=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" password)
-export JENKINS_URL
-export JENKINS_USER
-export JENKINS_PASSWORD
-OS_PLUGIN_VER="$(lftools jenkins plugins list \
- | grep 'Openstack Cloud Plugin' | awk -F':' '{print $2}')"
-
set -eu -o pipefail
version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; }
fs_root=$(get_cfg "$cfg_file" FS_ROOT "/w")
retention_time=$(get_cfg "$cfg_file" RETENTION_TIME "0")
+ OS_PLUGIN_VER="$(lftools jenkins plugins list \
+ | grep -i 'OpenStack Cloud Plugin' | awk -F':' '{print $2}')"
if version_ge "$OS_PLUGIN_VER" "2.35"; then
if [ ! -z "$volume_size" ]; then
echo " new BootSource.VolumeFromImage(\"$image_name\", $volume_size),"
}
get_template_cfg() {
- if [ -z $1 ]; then
- >&2 echo "Usage: get_template_cfg CFG_FILE"
+ if [ -z $2 ]; then
+ >&2 echo "Usage: get_template_cfg CFG_FILE SILO [MINION_PREFIX]"
exit 1
fi
local cfg_file="$1"
- local minion_prefix="${2:-}"
+ local silo="${2}"
+ local minion_prefix="${3:-}"
+
template_name=$(basename $cfg_file .cfg)
labels=$(get_cfg "$cfg_file" LABELS "")
echo "minion_options = new SlaveOptions("
- get_minion_options "$cfg_file"
+ get_minion_options "$cfg_file" "$silo"
echo ")"
echo "template = new JCloudsSlaveTemplate("
node_prefix="${silo}-"
fi
+ set +x # Disable `set -x` to prevent printing passwords
+ echo "Configuring $silo"
+ JENKINS_URL=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" url)
+ JENKINS_USER=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" user)
+ JENKINS_PASSWORD=$(crudini --get "$HOME"/.config/jenkins_jobs/jenkins_jobs.ini "$silo" password)
+ export JENKINS_URL
+ export JENKINS_USER
+ export JENKINS_PASSWORD
+
echo "-----> Groovy script $script_file"
for cloud in "${clouds[@]}"; do
cfg_dir="${cloud}"
echo "templates = []" >> $insert_file
mapfile -t templates < <(find $cfg_dir -maxdepth 1 -not -type d -not -name "cloud.cfg")
for template in "${templates[@]}"; do
- get_template_cfg "$template" "$node_prefix" >> "$insert_file"
+ get_template_cfg "$template" "$silo" "$node_prefix" >> "$insert_file"
echo "templates.add(template)" >> "$insert_file"
done