Simpler license scan
[osm/devops.git] / installers / full_install_osm.sh
index 9ae5da2..d2b08db 100755 (executable)
@@ -72,7 +72,8 @@ function usage(){
     echo -e "     [--lxd-cred <yaml path>]:    Takes a YAML file as a parameter with the LXD Credentials information (--charmed option)"
     echo -e "     [--microstack]:              Installs microstack as a vim. (--charmed option)"
     echo -e "     [--ha]:                      Installs High Availability bundle. (--charmed option)"
-    echo -e "     [--tag]:                     Docker image tag"
+    echo -e "     [--tag]:                     Docker image tag. (--charmed option)"
+    echo -e "     [--registry]:                Docker registry with optional credentials as user:pass@hostname:port (--charmed option)"
 
 }
 
@@ -646,6 +647,7 @@ function generate_docker_compose_files() {
 function generate_k8s_manifest_files() {
     #Kubernetes resources
     $WORKDIR_SUDO cp -bR ${OSM_DEVOPS}/installers/docker/osm_pods $OSM_DOCKER_WORK_DIR
+    $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/mongo.yaml
     if [ -n "$NGUI" ]; then
         $WORKDIR_SUDO rm -f $OSM_K8S_WORK_DIR/light-ui.yaml
     else
@@ -749,6 +751,9 @@ function generate_docker_env_files() {
     if [ ! -f $OSM_DOCKER_WORK_DIR/ro.env ]; then
         echo "RO_DB_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}" |$WORKDIR_SUDO tee $OSM_DOCKER_WORK_DIR/ro.env
     fi
+    if ! grep -Fq "OSMRO_DATABASE_COMMONKEY" $OSM_DOCKER_WORK_DIR/ro.env; then
+        echo "OSMRO_DATABASE_COMMONKEY=${OSM_DATABASE_COMMONKEY}" | $WORKDIR_SUDO tee -a $OSM_DOCKER_WORK_DIR/ro.env
+    fi
 
     # Keystone
     KEYSTONE_DB_PASSWORD=$(generate_secret)
@@ -912,6 +917,18 @@ function deploy_osm_services() {
     kubectl apply -n $OSM_STACK_NAME -f $OSM_K8S_WORK_DIR
 }
 
+#deploy charmed services
+function deploy_charmed_services() {
+    juju add-model $OSM_STACK_NAME $OSM_VCA_K8S_CLOUDNAME
+    # deploy mongodb charm
+    namespace=$OSM_STACK_NAME
+    juju deploy cs:~charmed-osm/mongodb-k8s \
+        --config enable-sidecar=true \
+        --config replica-set=rs0 \
+        --config namespace=$namespace \
+        -m $namespace
+}
+
 function deploy_osm_pla_service() {
     # corresponding to namespace_vol
     $WORKDIR_SUDO  sed -i "s#path: /var/lib/osm#path: $OSM_NAMESPACE_VOL#g" $OSM_DOCKER_WORK_DIR/osm_pla/pla.yaml
@@ -966,7 +983,7 @@ function parse_yaml() {
 }
 
 function namespace_vol() {
-    osm_services="nbi lcm ro pol mon kafka mongo mysql prometheus"
+    osm_services="nbi lcm ro pol mon kafka 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
@@ -1303,6 +1320,7 @@ EOF
     track env_files
 
     if [ -n "$KUBERNETES" ]; then
+        deploy_charmed_services
         kube_secrets
         [ ! $OSM_DOCKER_TAG == "8" ] && parse_yaml $OSM_DOCKER_TAG
         namespace_vol
@@ -1491,7 +1509,7 @@ function track(){
     wget -q -O /dev/null $url
 }
 
-JUJU_AGENT_VERSION=2.8.1
+JUJU_AGENT_VERSION=2.8.6
 UNINSTALL=""
 DEVELOP=""
 UPDATE=""
@@ -1520,7 +1538,7 @@ INSTALL_NOLXD=""
 INSTALL_NODOCKER=""
 INSTALL_NOJUJU=""
 KUBERNETES=""
-NGUI=""
+NGUI="y"
 INSTALL_K8S_MONITOR=""
 INSTALL_NOHOSTCLIENT=""
 SESSION_ID=`date +%s`
@@ -1574,8 +1592,8 @@ 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:-: hy" o; do
             usage && exit 1
             ;;
         n)
-            [ "${OPTARG}" == "lwui" ] && continue
-            [ "${OPTARG}" == "ngui" ] && NGUI="y" && continue
+            [ "${OPTARG}" == "lwui" ] && NGUI="" && continue
+            [ "${OPTARG}" == "ngui" ] && continue
             echo -e "Invalid argument for -n : ' $OPTARG'\n" >&2
             usage && exit 1
             ;;
@@ -1694,6 +1712,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:-: hy" o; do
             [ "${OPTARG}" == "vca" ] && continue
             [ "${OPTARG}" == "ha" ] && continue
             [ "${OPTARG}" == "tag" ] && continue
+            [ "${OPTARG}" == "registry" ] && continue
             [ "${OPTARG}" == "pla" ] && INSTALL_PLA="y" && continue
             [ "${OPTARG}" == "volume" ] && OPENSTACK_ATTACH_VOLUME="true" && continue
             echo -e "Invalid option: '--$OPTARG'\n" >&2