Update juju images
[osm/devops.git] / installers / full_install_osm.sh
index e9a2e0d..0688068 100755 (executable)
@@ -183,6 +183,10 @@ function remove_helm() {
     fi
 }
 
+function remove_crontab_job() {
+    crontab -l | grep -v '${OSM_DEVOPS}/installers/update-juju-lxc-images'  | crontab -
+}
+
 #Uninstall osmclient
 function uninstall_osmclient() {
     sudo apt-get remove --purge -y python-osmclient
@@ -245,6 +249,7 @@ EONG
         $WORKDIR_SUDO rm -rf $OSM_DOCKER_WORK_DIR
         [ -z "$CONTROLLER_NAME" ] && sg lxd -c "juju destroy-controller --destroy-all-models --yes $OSM_STACK_NAME"
     fi
+    remove_crontab_job
     uninstall_osmclient
     echo "Some docker images will be kept in case they are used by other docker stacks"
     echo "To remove them, just run 'docker image prune' in a terminal"
@@ -276,9 +281,14 @@ function FATAL(){
     exit 1
 }
 
+function update_juju_images(){
+    crontab -l | grep update-juju-lxc-images || (crontab -l 2>/dev/null; echo "0 4 * * 6 $USER ${OSM_DEVOPS}/installers/update-juju-lxc-images --xenial --bionic") | crontab -
+    ${OSM_DEVOPS}/installers/update-juju-lxc-images --xenial --bionic
+}
+
 function install_lxd() {
     # Apply sysctl production values for optimal performance
-    sudo cp /usr/share/osm-devops/installers/60-lxd-production.conf /etc/sysctl.d/60-lxd-production.conf
+    sudo cp ${OSM_DEVOPS}/installers/60-lxd-production.conf /etc/sysctl.d/60-lxd-production.conf
     sudo sysctl --system
 
     # Install LXD snap
@@ -288,7 +298,7 @@ function install_lxd() {
 
     # Configure LXD
     sudo usermod -a -G lxd `whoami`
-    cat /usr/share/osm-devops/installers/lxd-preseed.conf | sed 's/^config: {}/config:\n  core.https_address: '$DEFAULT_IP':8443/' | sg lxd -c "lxd init --preseed"
+    cat ${OSM_DEVOPS}/installers/lxd-preseed.conf | sed 's/^config: {}/config:\n  core.https_address: '$DEFAULT_IP':8443/' | sg lxd -c "lxd init --preseed"
     sg lxd -c "lxd waitready"
     DEFAULT_INTERFACE=$(ip route list|awk '$1=="default" {print $5; exit}')
     [ -z "$DEFAULT_INTERFACE" ] && DEFAULT_INTERFACE=$(route -n |awk '$1~/^0.0.0.0/ {print $8; exit}')
@@ -414,6 +424,7 @@ function install_juju() {
     echo "Installing juju"
     sudo snap install juju --classic --channel=2.7/stable
     [[ ":$PATH": != *":/snap/bin:"* ]] && PATH="/snap/bin:${PATH}"
+    update_juju_images
     echo "Finished installation of juju"
     return 0
 }
@@ -846,7 +857,7 @@ function parse_yaml() {
 }
 
 function namespace_vol() {
-    osm_services="nbi lcm ro pol mon kafka mongo mysql"
+    osm_services="nbi lcm ro pol mon kafka mongo mysql prometheus"
     for osm in $osm_services; do
         $WORKDIR_SUDO  sed -i "s#path: /var/lib/osm#path: $OSM_NAMESPACE_VOL#g" $OSM_K8S_WORK_DIR/$osm.yaml
     done
@@ -977,6 +988,23 @@ function deploy_elk() {
     return 0
 }
 
+function add_local_k8scluster() {
+    /usr/bin/osm --all-projects vim-create \
+      --name _system-osm-vim \
+      --account_type dummy \
+      --auth_url http://dummy \
+      --user osm --password osm --tenant osm \
+      --description "dummy" \
+      --config '{management_network_name: mgmt}'
+    /usr/bin/osm --all-projects k8scluster-add \
+      --creds ${HOME}/.kube/config \
+      --vim _system-osm-vim \
+      --k8s-nets '{"net1": null}' \
+      --version '1.15' \
+      --description "OSM Internal Cluster" \
+      _system-osm-k8s
+}
+
 function install_lightweight() {
     [ "${OSM_STACK_NAME}" == "osm" ] || OSM_DOCKER_WORK_DIR="$OSM_WORK_DIR/stack/$OSM_STACK_NAME"
     [ -n "$KUBERNETES" ] && OSM_K8S_WORK_DIR="$OSM_DOCKER_WORK_DIR/osm_pods" && OSM_NAMESPACE_VOL="${OSM_HOST_VOL}/${OSM_STACK_NAME}"
@@ -1186,6 +1214,10 @@ EOF
     fi
     track after_healthcheck
 
+    [ -n "$KUBERNETES" ] && add_local_k8scluster
+    track add_local_k8scluster
+
+
     wget -q -O- https://osm-download.etsi.org/ftp/osm-8.0-eight/README2.txt &> /dev/null
     track end
     return 0
@@ -1559,9 +1591,9 @@ fi
 
 if [ -n "$CHARMED" ]; then
      if [ -n "$UNINSTALL" ]; then
-        /usr/share/osm-devops/installers/charmed_uninstall.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@"
+        ${OSM_DEVOPS}/installers/charmed_uninstall.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@"
      else
-        /usr/share/osm-devops/installers/charmed_install.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@"
+        ${OSM_DEVOPS}/installers/charmed_install.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D /usr/share/osm-devops -t $DOCKER_TAG "$@"
 
         echo "Your installation is now complete, follow these steps for configuring the osmclient:"
         echo