Variable expansion order of precedence seems to be:
-1. project section definition
-2. job-template variable definition
-3. defaults.yaml variable definition
+1. job-group section definition
+2. project section definition
+3. job-template variable definition
+4. defaults.yaml variable definition
.. note:: Defaults set variables in job-templates and are NOT used in Macros.
+global-jjb should not provide job-group definitions and leave it up to users of
+global-jjb to create their own as a job-group as a variable defined in a job
+group the highest precendence. Global JJB should strive to be purely a
+job-template and macro library for downstream consumers.
+
Final thoughts
--------------
* 2.30
* 2.31
+* 2.32
Cloud configuration are managed via a directory structure in ci-management as
follows:
virtualenv --quiet "/tmp/v/git-review"
# shellcheck source=/tmp/v/git-review/bin/activate disable=SC1091
source "/tmp/v/git-review/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
pip install --quiet --upgrade git-review
set -u
# End git-review workaround
flavors["v2-highcpu-32"]="21dfb8a3-c472-4a2c-a8e1-4da8de415ff8"
image_name=$(get_cfg "$cfg_file" IMAGE_NAME "")
+ volume_size=$(get_cfg "$cfg_file" VOLUME_SIZE "")
hardware_id=$(get_cfg "$cfg_file" HARDWARE_ID "")
network_id=$(get_cfg "$cfg_file" NETWORK_ID "")
user_data_id=$(get_cfg "$cfg_file" USER_DATA_ID "jenkins-init-script")
fs_root=$(get_cfg "$cfg_file" FS_ROOT "/w")
retention_time=$(get_cfg "$cfg_file" RETENTION_TIME "0")
- echo " new BootSource.Image(\"$image_name\"),"
+ if [ ! -z "$volume_size" ]; then
+ echo " new BootSource.VolumeFromImage(\"$image_name\", $volume_size),"
+ else
+ echo " new BootSource.Image(\"$image_name\"),"
+ fi
echo " \"${flavors[${hardware_id}]}\","
echo " \"$network_id\","
echo " \"$user_data_id\","
virtualenv "/tmp/v/jjb"
# shellcheck source=/tmp/v/jjb/bin/activate disable=SC1091
source "/tmp/v/jjb/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
pip install --quiet --upgrade pipdeptree
pip install --quiet --upgrade "jenkins-job-builder==$JJB_VERSION"
virtualenv --quiet "/tmp/v/lftools"
# shellcheck source=/tmp/v/lftools/bin/activate disable=SC1091
source "/tmp/v/lftools/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
case $LFTOOLS_MODE in
gerrit)
virtualenv --quiet "/tmp/v/python"
# shellcheck source=/tmp/v/node/bin/activate disable=SC1091
source "/tmp/v/python/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
pip install --quiet --upgrade pipdeptree
pip install --quiet --upgrade nodeenv
virtualenv "/tmp/v/${PIP_PACKAGES%% *}"
# shellcheck source=/tmp/v/venv/bin/activate disable=SC1091
source "/tmp/v/${PIP_PACKAGES%% *}/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
pip install --quiet --upgrade pipdeptree
# PIP_PACKAGES needs to be passed through as a space separated list of packages
virtualenv --quiet -p "$PYTHON_VERSION" "/tmp/v/tox"
# shellcheck source=/tmp/v/tox/bin/activate disable=SC1091
source "/tmp/v/tox/bin/activate"
-pip install --quiet --upgrade pip
+pip install --quiet --upgrade pip setuptools
pip install --quiet --upgrade pipdeptree
pip install --quiet --upgrade argparse detox tox tox-pyenv