From 9a51086452eaf7ee39c485246c7bcc4a4481efae Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Wed, 21 Apr 2021 14:15:56 +0200 Subject: [PATCH] Add option to OSM installer to skip caching juju lxd images A new option '--nocachelxdimages' has been added to 'installers/full_install_osm.sh'. If specified, the installer will skip caching juju lxd images. The option will also skip crontab configuration to guarantee that the images are not cached daily. The change also modifies 'ci_stage_3.groovy' to use that option in OSM pipeline, which will save installation time. Change-Id: I7bfc4432d9a1c99e39440daaf559db897944bd22 Signed-off-by: garciadeblas --- installers/full_install_osm.sh | 6 +++++- installers/install_osm.sh | 2 ++ jenkins/ci-pipelines/ci_stage_3.groovy | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh index eb92ba2d..ef3ee9cf 100755 --- a/installers/full_install_osm.sh +++ b/installers/full_install_osm.sh @@ -54,6 +54,7 @@ function usage(){ echo -e " -d use docker registry URL instead of dockerhub" echo -e " -p set docker proxy URL as part of docker CE configuration" echo -e " -T specify docker tag for the modules specified with option -m" + echo -e " --nocachelxdimages: do not cache local lxd images, do not create cronjob for that cache (will save installation time, might affect instantiation time)" echo -e " --nolxd: do not install and configure LXD, allowing unattended installations (assumes LXD is already installed and confifured)" echo -e " --nodocker: do not install docker, do not initialize a swarm (assumes docker is already installed and a swarm has been initialized)" echo -e " --nojuju: do not juju, assumes already installed" @@ -451,7 +452,7 @@ function install_juju() { echo "Installing juju" sudo snap install juju --classic --channel=2.8/stable [[ ":$PATH": != *":/snap/bin:"* ]] && PATH="/snap/bin:${PATH}" - update_juju_images + [ -n "$INSTALL_NOCACHELXDIMAGES" ] && update_juju_images echo "Finished installation of juju" return 0 } @@ -1539,6 +1540,7 @@ function dump_vars(){ echo "INSTALL_LIGHTWEIGHT=$INSTALL_LIGHTWEIGHT" echo "INSTALL_ONLY=$INSTALL_ONLY" echo "INSTALL_ELK=$INSTALL_ELK" + echo "INSTALL_NOCACHELXDIMAGES=$INSTALL_NOCACHELXDIMAGES" #echo "INSTALL_PERFMON=$INSTALL_PERFMON" echo "INSTALL_TO_OPENSTACK=$INSTALL_TO_OPENSTACK" echo "OPENSTACK_PUBLIC_NET_NAME=$OPENSTACK_PUBLIC_NET_NAME" @@ -1632,6 +1634,7 @@ KUBERNETES="y" NGUI="y" INSTALL_K8S_MONITOR="" INSTALL_NOHOSTCLIENT="" +INSTALL_NOCACHELXDIMAGES="" SESSION_ID=`date +%s` OSM_DEVOPS= OSM_VCA_HOST= @@ -1826,6 +1829,7 @@ while getopts ":b:r:c:n:k:u:R:D:o:O:m:N:H:S:s:w:t:U:P:A:l:L:K:d:p:T:f:F:-: hy" o [ "${OPTARG}" == "registry" ] && continue [ "${OPTARG}" == "pla" ] && INSTALL_PLA="y" && continue [ "${OPTARG}" == "volume" ] && OPENSTACK_ATTACH_VOLUME="true" && continue + [ "${OPTARG}" == "nocachelxdimages" ] && INSTALL_NOCACHELXDIMAGES="y" && continue echo -e "Invalid option: '--$OPTARG'\n" >&2 usage && exit 1 ;; diff --git a/installers/install_osm.sh b/installers/install_osm.sh index 5a4e228c..f3798e4c 100755 --- a/installers/install_osm.sh +++ b/installers/install_osm.sh @@ -55,6 +55,8 @@ function usage(){ echo -e " -K: Specifies the name of the controller to use - The controller must be already bootstrapped" echo -e " -d use docker registry URL instead of dockerhub" echo -e " -p set docker proxy URL as part of docker CE configuration" + echo -e " -T specify docker tag for the modules specified with option -m" + echo -e " --nocachelxdimages: do not cache local lxd images, do not create cronjob for that cache (will save installation time, might affect instantiation time)" echo -e " --nolxd: do not install and configure LXD, allowing unattended installations (assumes LXD is already installed and confifured)" echo -e " --nodocker: do not install docker, do not initialize a swarm (assumes docker is already installed and a swarm has been initialized)" echo -e " --nojuju: do not juju, assumes already installed" diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy index 87f1c83e..5ebae21c 100644 --- a/jenkins/ci-pipelines/ci_stage_3.groovy +++ b/jenkins/ci-pipelines/ci_stage_3.groovy @@ -469,7 +469,8 @@ node("${params.NODE}") { ${release} -r unstable \ -d ${USERNAME}:${PASSWORD}@${INTERNAL_DOCKER_REGISTRY} \ -p ${INTERNAL_DOCKER_PROXY} \ - -t ${container_name} + -t ${container_name} \ + --nocachelxdimages """ } prometheusHostname = IP_ADDRESS -- 2.17.1