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 <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index eb92ba2..ef3ee9c 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -54,6 +54,7 @@
echo -e " -d <docker registry URL> use docker registry URL instead of dockerhub"
echo -e " -p <docker proxy URL> set docker proxy URL as part of docker CE configuration"
echo -e " -T <docker tag> 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 @@
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 @@
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 @@
NGUI="y"
INSTALL_K8S_MONITOR=""
INSTALL_NOHOSTCLIENT=""
+INSTALL_NOCACHELXDIMAGES=""
SESSION_ID=`date +%s`
OSM_DEVOPS=
OSM_VCA_HOST=
@@ -1826,6 +1829,7 @@
[ "${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 5a4e228..f3798e4 100755
--- a/installers/install_osm.sh
+++ b/installers/install_osm.sh
@@ -55,6 +55,8 @@
echo -e " -K: Specifies the name of the controller to use - The controller must be already bootstrapped"
echo -e " -d <docker registry URL> use docker registry URL instead of dockerhub"
echo -e " -p <docker proxy URL> set docker proxy URL as part of docker CE configuration"
+ echo -e " -T <docker tag> 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 87f1c83..5ebae21 100644
--- a/jenkins/ci-pipelines/ci_stage_3.groovy
+++ b/jenkins/ci-pipelines/ci_stage_3.groovy
@@ -469,7 +469,8 @@
${release} -r unstable \
-d ${USERNAME}:${PASSWORD}@${INTERNAL_DOCKER_REGISTRY} \
-p ${INTERNAL_DOCKER_PROXY} \
- -t ${container_name}
+ -t ${container_name} \
+ --nocachelxdimages
"""
}
prometheusHostname = IP_ADDRESS