Add option to OSM installer to skip caching juju lxd images 80/10680/1 ng-ro-refactor branch-ng-ro-refactor-start branch-sol006v331-start
authorgarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 21 Apr 2021 12:15:56 +0000 (14:15 +0200)
committergarciadeblas <gerardo.garciadeblas@telefonica.com>
Wed, 21 Apr 2021 12:15:56 +0000 (14:15 +0200)
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>
installers/full_install_osm.sh
installers/install_osm.sh
jenkins/ci-pipelines/ci_stage_3.groovy

index eb92ba2..ef3ee9c 100755 (executable)
@@ -54,6 +54,7 @@ function usage(){
     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 @@ 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
             ;;
index 5a4e228..f3798e4 100755 (executable)
@@ -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 <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"
index 87f1c83..5ebae21 100644 (file)
@@ -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