fix in juju commands to run as part of lxd group
[osm/devops.git] / installers / full_install_osm.sh
index 7d4ae65..f0627c7 100755 (executable)
@@ -72,12 +72,12 @@ function uninstall(){
 #Uninstall lightweight OSM: remove dockers
 function uninstall_lightweight(){
     echo -e "\nUninstalling lightweight OSM"
-    docker stack rm osm
+    sg docker -c "docker stack rm osm"
     COUNTER=0
     result=1
     while [ ${COUNTER} -lt 30 ]; do
         sleep 1
-        result=$(docker stack ps osm | wc -l)
+        result=$(sg docker -c "docker stack ps osm" | wc -l)
         #echo "Dockers running: $result"
         if [ "${result}" == "0" ]; then
             break
@@ -90,12 +90,19 @@ function uninstall_lightweight(){
         FATAL "Some dockers of the stack osm could not be removed. Could not uninstall OSM in single shot. Try to uninstall again"
     fi
     sleep 5
+    echo "Now osm docker images and volumes will be deleted"
+    newgrp docker << EONG
     docker image rm osm/ro
     docker image rm osm/lcm
     docker image rm osm/light-ui
     docker image rm osm/nbi
     docker image rm osm/mon
     docker image rm osm/pm
+    docker volume rm osm_mon_db
+    docker volume rm osm_mongo_db
+    docker volume rm osm_osm_packages
+    docker volume rm osm_ro_db
+EONG
     return 0
 }
 
@@ -541,7 +548,7 @@ function install_juju() {
     sudo snap install juju --classic
     sudo dpkg-reconfigure -p medium lxd
     sg lxd -c "juju bootstrap --bootstrap-series=xenial localhost osm"
-    [ $(juju status |grep "osm" |wc -l) -eq 1 ] || FATAL "Juju installation failed"
+    [ $(sg lxd -c "juju status" |grep "osm" |wc -l) -eq 1 ] || FATAL "Juju installation failed"
     echo "Finished installation of juju"
 }
 
@@ -564,19 +571,26 @@ EONG
     git -C ${LWTEMPDIR} clone https://osm.etsi.org/gerrit/osm/LW-UI
     git -C ${LWTEMPDIR}/LW-UI checkout ${COMMIT_ID}
     newgrp docker << EONG
-    docker build ${LWTEMPDIR}/MON -f ${LWTEMPDIR}/MON/docker/Dockerfile -t osm/mon || ! echo "cannot build MON docker image" >&2
-    docker build ${LWTEMPDIR}/MON/policy_module -f ${LWTEMPDIR}/MON/policy_module/Dockerfile -t osm/pm || ! echo "cannot build PM docker image" >&2
-    docker build ${LWTEMPDIR}/NBI -f ${LWTEMPDIR}/NBI/Dockerfile.local -t osm/nbi || ! echo "cannot build NBI docker image" >&2
-    docker build ${LWTEMPDIR}/RO -f ${LWTEMPDIR}/RO/docker/Dockerfile-local -t osm/ro || ! echo "cannot build RO docker image" >&2
-    docker build ${LWTEMPDIR}/LCM -f ${LWTEMPDIR}/LCM/Dockerfile.local -t osm/lcm || ! echo "cannot build LCM docker image" >&2
-    docker build ${LWTEMPDIR}/LW-UI -t osm/light-ui -f ${LWTEMPDIR}/LW-UI/Dockerfile
+    docker build ${LWTEMPDIR}/MON -f ${LWTEMPDIR}/MON/docker/Dockerfile -t osm/mon --no-cache || ! echo "cannot build MON docker image" >&2
+    docker build ${LWTEMPDIR}/MON/policy_module -f ${LWTEMPDIR}/MON/policy_module/Dockerfile -t osm/pm --no-cache || ! echo "cannot build PM docker image" >&2
+    docker build ${LWTEMPDIR}/NBI -f ${LWTEMPDIR}/NBI/Dockerfile.local -t osm/nbi --no-cache || ! echo "cannot build NBI docker image" >&2
+    docker build ${LWTEMPDIR}/RO -f ${LWTEMPDIR}/RO/docker/Dockerfile-local -t osm/ro --no-cache || ! echo "cannot build RO docker image" >&2
+    docker build ${LWTEMPDIR}/LCM -f ${LWTEMPDIR}/LCM/Dockerfile.local -t osm/lcm --no-cache || ! echo "cannot build LCM docker image" >&2
+    docker build ${LWTEMPDIR}/LW-UI -t osm/light-ui -f ${LWTEMPDIR}/LW-UI/Dockerfile --no-cache || ! echo "cannot build LW-UI docker image" >&2
 EONG
     echo "Finished generation of docker images"
 }
 
+function generate_config_log_folders() {
+    echo "Generating config and log folders"
+    sudo mkdir -p /etc/osm
+    sudo mkdir -p /var/log/osm
+    echo "Finished generation of config and log folders"
+}
+
 function generate_docker_env_files() {
     echo "Generating docker env files"
-    OSMLCM_VCA_HOST=`juju show-controller|grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'`
+    OSMLCM_VCA_HOST=`sg lxd -c "juju show-controller"|grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'`
     OSMLCM_VCA_SECRET=`grep password ${HOME}/.local/share/juju/accounts.yaml |awk '{print $2}'`
     MYSQL_ROOT_PASSWORD=`date +%s | sha256sum | base64 | head -c 32`
     echo "OSMLCM_VCA_HOST=${OSMLCM_VCA_HOST}" |sudo tee ${OSM_DEVOPS}/installers/docker/lcm.env
@@ -645,7 +659,7 @@ function deploy_elk() {
 
 function deploy_perfmon() {
     echo "Generating osm/kafka-exporter docker image"
-    sg docker -c "docker build ${OSM_DEVOPS}/installers/docker/osm_metrics/kafka-exporter -f ${OSM_DEVOPS}/installers/docker/osm_metrics/kafka-exporter/Dockerfile -t osm/kafka-exporter || ! echo 'cannot build kafka-exporter docker image' >&2"
+    sg docker -c "docker build ${OSM_DEVOPS}/installers/docker/osm_metrics/kafka-exporter -f ${OSM_DEVOPS}/installers/docker/osm_metrics/kafka-exporter/Dockerfile -t osm/kafka-exporter --no-cache || ! echo 'cannot build kafka-exporter docker image' >&2"
     echo "Finished generation of osm/kafka-exporter docker image"
     echo "Deploying PM stack (Kafka exporter + Prometheus + Grafana)"
     sg docker -c "docker stack deploy -c ${OSM_DEVOPS}/installers/docker/osm_metrics/docker-compose.yml osm_metrics"
@@ -700,7 +714,7 @@ function install_vimemu() {
     git clone https://osm.etsi.org/gerrit/osm/vim-emu.git $EMUTEMPDIR
     # build vim-emu docker
     echo "Building vim-emu Docker container..."
-    sudo docker build -t vim-emu-img -f $EMUTEMPDIR/Dockerfile $EMUTEMPDIR/
+    sudo docker build -t vim-emu-img -f $EMUTEMPDIR/Dockerfile --no-cache $EMUTEMPDIR/
     # start vim-emu container as daemon
     echo "Starting vim-emu Docker container 'vim-emu' ..."
     if [ -n "$INSTALL_LIGHTWEIGHT" ]; then