Use mongodb charm in k8s installer
[osm/devops.git] / installers / full_install_osm.sh
index 9ae5da2..f8c02ca 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
@@ -912,6 +914,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 +980,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 +1317,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 +1506,7 @@ function track(){
     wget -q -O /dev/null $url
 }
 
-JUJU_AGENT_VERSION=2.8.1
+JUJU_AGENT_VERSION=2.8.6
 UNINSTALL=""
 DEVELOP=""
 UPDATE=""
@@ -1694,6 +1709,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