Feature 11071: Modular OSM installation. Remove charms, juju and lxd

Change-Id: Icb380fa26a7e50dc59cd6d06b6099bfe16dcda08
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index f0723ea..522d228 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -21,7 +21,7 @@
     echo -e "     -h / --help:    print this help"
     echo -e "     -y:             do not prompt for confirmation, assumes yes"
     echo -e "     -r <repo>:      use specified repository name for osm packages"
-    echo -e "     -R <release>:   use specified release for osm binaries (deb packages, lxd images, ...)"
+    echo -e "     -R <release>:   use specified release for osm binaries (deb packages, ...)"
     echo -e "     -u <repo base>: use specified repository url for osm packages"
     echo -e "     -k <repo key>:  use specified repository public key url"
     echo -e "     -a <apt proxy url>: use this apt proxy url when downloading apt packages (air-gapped installation)"
@@ -33,92 +33,20 @@
     echo -e "     --no-aux-cluster: Do not provision an auxiliary cluster for cloud-native gitops operations in OSM (NEW in Release SIXTEEN) (by default, it is installed)"
     echo -e "     -D <devops path>:   use local devops installation path"
     echo -e "     -s <namespace>  namespace when installed using k8s, default is osm"
-    echo -e "     -H <VCA host>   use specific juju host controller IP"
-    echo -e "     -S <VCA secret> use VCA/juju secret key"
-    echo -e "     -P <VCA pubkey> use VCA/juju public key file"
-    echo -e "     -A <VCA apiproxy> use VCA/juju API proxy"
     echo -e "     -w <work dir>:   Location to store runtime installation"
-    echo -e "     -l:             LXD cloud yaml file"
-    echo -e "     -L:             LXD credentials yaml file"
     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 "     --debug:        debug mode"
-    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 "     --cachelxdimages:  cache local lxd images, create cronjob for that cache (will make installation longer)"
-    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"
-    echo -e "     --nohostports:  do not expose docker ports to host (useful for creating multiple instances of osm on the same host)"
     echo -e "     --nohostclient: do not install the osmclient"
     echo -e "     --uninstall:    uninstall OSM: remove the containers and delete NAT rules"
     echo -e "     --k8s_monitor:  install the OSM kubernetes monitoring with prometheus and grafana"
     echo -e "     --showopts:     print chosen options and exit (only for debugging)"
-    echo -e "     --charmed:                   Deploy and operate OSM with Charms on k8s"
-    echo -e "     [--bundle <bundle path>]:    Specify with which bundle to deploy OSM with charms (--charmed option)"
-    echo -e "     [--k8s <kubeconfig path>]:   Specify with which kubernetes to deploy OSM with charms (--charmed option)"
-    echo -e "     [--vca <name>]:              Specifies the name of the controller to use - The controller must be already bootstrapped (--charmed option)"
-    echo -e "     [--small-profile]:           Do not install and configure LXD which aims to use only K8s Clouds (--charmed option)"
-    echo -e "     [--lxd <yaml path>]:         Takes a YAML file as a parameter with the LXD Cloud information (--charmed option)"
-    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 "     [--overlay]:                 Add an overlay to override some defaults of the default bundle (--charmed option)"
-    echo -e "     [--ha]:                      Installs High Availability bundle. (--charmed option)"
-    echo -e "     [--tag]:                     Docker image tag. (--charmed option)"
-    echo -e "     [--registry]:                Docker registry with optional credentials as user:pass@hostname:port (--charmed option)"
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
 }
 
-# takes a juju/accounts.yaml file and returns the password specific
-# for a controller. I wrote this using only bash tools to minimize
-# additions of other packages
-function parse_juju_password {
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
-    password_file="${HOME}/.local/share/juju/accounts.yaml"
-    local controller_name=$1
-    local s='[[:space:]]*' w='[a-zA-Z0-9_-]*' fs=$(echo @|tr @ '\034')
-    sed -ne "s|^\($s\):|\1|" \
-         -e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \
-         -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $password_file |
-    awk -F$fs -v controller=$controller_name '{
-        indent = length($1)/2;
-        vname[indent] = $2;
-        for (i in vname) {if (i > indent) {delete vname[i]}}
-        if (length($3) > 0) {
-            vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])("_")}
-            if (match(vn,controller) && match($2,"password")) {
-                printf("%s",$3);
-            }
-        }
-    }'
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
-}
-
-function set_vca_variables() {
-    OSM_VCA_CLOUDNAME="lxd-cloud"
-    [ -n "$OSM_VCA_HOST" ] && OSM_VCA_CLOUDNAME="localhost"
-    if [ -z "$OSM_VCA_HOST" ]; then
-        [ -z "$CONTROLLER_NAME" ] && OSM_VCA_HOST=`sg lxd -c "juju show-controller $OSM_NAMESPACE"|grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'`
-        [ -n "$CONTROLLER_NAME" ] && OSM_VCA_HOST=`juju show-controller $CONTROLLER_NAME |grep api-endpoints|awk -F\' '{print $2}'|awk -F\: '{print $1}'`
-        [ -z "$OSM_VCA_HOST" ] && FATAL "Cannot obtain juju controller IP address"
-    fi
-    if [ -z "$OSM_VCA_SECRET" ]; then
-        [ -z "$CONTROLLER_NAME" ] && OSM_VCA_SECRET=$(parse_juju_password $OSM_NAMESPACE)
-        [ -n "$CONTROLLER_NAME" ] && OSM_VCA_SECRET=$(parse_juju_password $CONTROLLER_NAME)
-        [ -z "$OSM_VCA_SECRET" ] && FATAL "Cannot obtain juju secret"
-    fi
-    if [ -z "$OSM_VCA_PUBKEY" ]; then
-        OSM_VCA_PUBKEY=$(cat $HOME/.local/share/juju/ssh/juju_id_rsa.pub)
-        [ -z "$OSM_VCA_PUBKEY" ] && FATAL "Cannot obtain juju public key"
-    fi
-    if [ -z "$OSM_VCA_CACERT" ]; then
-        [ -z "$CONTROLLER_NAME" ] && OSM_VCA_CACERT=$(juju controllers --format json | jq -r --arg controller $OSM_NAMESPACE '.controllers[$controller]["ca-cert"]' | base64 | tr -d \\n)
-        [ -n "$CONTROLLER_NAME" ] && OSM_VCA_CACERT=$(juju controllers --format json | jq -r --arg controller $CONTROLLER_NAME '.controllers[$controller]["ca-cert"]' | base64 | tr -d \\n)
-        [ -z "$OSM_VCA_CACERT" ] && FATAL "Cannot obtain juju CA certificate"
-    fi
-}
-
 function generate_secret() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     head /dev/urandom | tr -dc A-Za-z0-9 | head -c 32
@@ -199,12 +127,6 @@
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     # Generate helm values to be passed with -f osm-values.yaml
     sudo mkdir -p ${OSM_HELM_WORK_DIR}
-    if [ -n "${INSTALL_JUJU}" ]; then
-        sudo bash -c "cat << EOF > ${OSM_HELM_WORK_DIR}/osm-values.yaml
-vca:
-  pubkey: \"${OSM_VCA_PUBKEY}\"
-EOF"
-    fi
 
     # Generate helm values to be passed with --set
     OSM_HELM_OPTS=""
@@ -228,18 +150,6 @@
         OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.gitops.pubkey=${AGE_MGMT_PUBKEY}"
     fi
 
-    if [ -n "${INSTALL_JUJU}" ]; then
-        OSM_HELM_OPTS="${OSM_HELM_OPTS} --set vca.enabled=true"
-        OSM_HELM_OPTS="${OSM_HELM_OPTS} --set vca.host=${OSM_VCA_HOST}"
-        OSM_HELM_OPTS="${OSM_HELM_OPTS} --set vca.secret=${OSM_VCA_SECRET}"
-        OSM_HELM_OPTS="${OSM_HELM_OPTS} --set vca.cacert=${OSM_VCA_CACERT}"
-    fi
-    [ -n "$OSM_VCA_APIPROXY" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set lcm.config.OSMLCM_VCA_APIPROXY=${OSM_VCA_APIPROXY}"
-
-    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set airflow.defaultAirflowRepository=${DOCKER_REGISTRY_URL}${DOCKER_USER}/airflow"
-    [ ! "$OSM_DOCKER_TAG" == "testing-daily" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set-string airflow.defaultAirflowTag=${OSM_DOCKER_TAG}"
-    OSM_HELM_OPTS="${OSM_HELM_OPTS} --set airflow.ingress.web.hosts[0].name=airflow.${OSM_K8S_EXTERNAL_IP}.nip.io"
-
     if [ -n "${OSM_BEHIND_PROXY}" ]; then
         OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.behindHttpProxy=true"
         [ -n "${HTTP_PROXY}" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.httpProxy.HTTP_PROXY=\"${HTTP_PROXY}\""
@@ -255,9 +165,6 @@
         fi
     fi
 
-    if [ -n "${INSTALL_JUJU}" ]; then
-        OSM_HELM_OPTS="-f ${OSM_HELM_WORK_DIR}/osm-values.yaml ${OSM_HELM_OPTS}"
-    fi
     echo "helm upgrade --install -n $OSM_NAMESPACE --create-namespace $OSM_NAMESPACE $OSM_DEVOPS/installers/helm/osm ${OSM_HELM_OPTS}"
     helm upgrade --install -n $OSM_NAMESPACE --create-namespace $OSM_NAMESPACE $OSM_DEVOPS/installers/helm/osm ${OSM_HELM_OPTS}
     # Override existing values.yaml with the final values.yaml used to install OSM
@@ -307,11 +214,10 @@
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
 
     [ -z "$ASSUME_YES" ] && ! ask_user "The installation will do the following
-    1. Install and configure LXD
-    2. Install juju
-    3. Install docker CE
-    4. Disable swap space
-    5. Install and initialize Kubernetes
+    1. Install required packages
+    2. Install docker CE
+    3. Disable swap space
+    4. Install and initialize Kubernetes
     as pre-requirements.
     Do you want to proceed (Y/n)? " y && echo "Cancelled!" && exit 1
 
@@ -339,19 +245,19 @@
 ${OSM_PROXY_ENV_VARIABLES}.
 
 This suggests that this machine is behind a proxy and a special configuration is required.
-The installer will install Docker CE, LXD and Juju to work behind a proxy using those
+The installer will install Docker CE and a Kubernetes to work behind a proxy using those
 env variables.
 
-Take into account that the installer uses apt, curl, wget, docker, lxd, juju and snap.
+Take into account that the installer uses apt, curl, wget and docker.
 Depending on the program, the env variables to work behind a proxy might be different
 (e.g. http_proxy vs HTTP_PROXY).
 
 For that reason, it is strongly recommended that at least http_proxy, https_proxy, HTTP_PROXY
 and HTTPS_PROXY are defined.
 
-Finally, some of the programs (apt, snap) those programs are run as sudoer, requiring that
-those env variables are also set for root user. If you are not sure whether those variables
-are configured for the root user, you can stop the installation now.
+Finally, some of the programs (apt) are run as sudoer, requiring that those env variables
+are also set for root user. If you are not sure whether those variables are configured for
+the root user, you can stop the installation now.
 
 Do you want to proceed with the installation (Y/n)? " y && echo "Cancelled!" && exit 1
     else
@@ -364,27 +270,14 @@
 function find_devops_folder() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     if [ -z "$OSM_DEVOPS" ]; then
-        if [ -n "$TEST_INSTALLER" ]; then
-            echo -e "\nUsing local devops repo for OSM installation"
-            OSM_DEVOPS="$(dirname $(realpath $(dirname $0)))"
-        else
-            echo -e "\nCreating temporary dir for OSM installation"
-            OSM_DEVOPS="$(mktemp -d -q --tmpdir "installosm.XXXXXX")"
-            trap 'rm -rf "$OSM_DEVOPS"' EXIT
-            git clone https://osm.etsi.org/gerrit/osm/devops.git $OSM_DEVOPS
-        fi
+        echo -e "\nCreating temporary dir for OSM installation"
+        OSM_DEVOPS="$(mktemp -d -q --tmpdir "installosm.XXXXXX")"
+        trap 'rm -rf "$OSM_DEVOPS"' EXIT
+        git clone https://osm.etsi.org/gerrit/osm/devops.git $OSM_DEVOPS
     fi
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
 }
 
-function install_lxd() {
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
-    LXD_INSTALL_OPTS="-D ${OSM_DEVOPS} -i ${OSM_DEFAULT_IF} ${DEBUG_INSTALL}"
-    [ -n "${OSM_BEHIND_PROXY}" ] && LXD_INSTALL_OPTS="${LXD_INSTALL_OPTS} -P"
-    $OSM_DEVOPS/installers/install_lxd.sh ${LXD_INSTALL_OPTS} || FATAL_TRACK lxd "install_lxd.sh failed"
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
-}
-
 function install_docker_ce() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     DOCKER_CE_OPTS="-D ${OSM_DEVOPS} ${DEBUG_INSTALL}"
@@ -451,10 +344,7 @@
     trap ctrl_c INT
 
     check_osm_behind_proxy
-    check_packages "git wget curl tar snapd"
-    if [ -n "${INSTALL_JUJU}" ]; then
-        sudo snap install jq || FATAL "Could not install jq (snap package). Make sure that snap works"
-    fi
+    check_packages "git wget curl tar"
     find_devops_folder
 
     track start release $RELEASE none none docker_tag $OSM_DOCKER_TAG none none installation_type $OSM_INSTALLATION_TYPE none none os_info $os_info none none
@@ -475,9 +365,6 @@
     # configure apt proxy
     [ -n "$APT_PROXY_URL" ] && configure_apt_proxy $APT_PROXY_URL
 
-    # if lxd is requested, we will install it
-    [ -n "$INSTALL_LXD" ] && install_lxd
-
     track prereq prereqok_ok
 
     if [ -n "$INSTALL_DOCKER" ] || [ "${K8S_CLUSTER_ENGINE}" == "kubeadm" ]; then
@@ -499,22 +386,6 @@
     kubectl create namespace ${OSM_NAMESPACE}
     track k8scluster k8scluster_ok
 
-    if [ -n "${INSTALL_JUJU}" ]; then
-        echo "Installing Juju ..."
-        JUJU_OPTS="-D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -i ${OSM_DEFAULT_IP} ${DEBUG_INSTALL} ${INSTALL_CACHELXDIMAGES}"
-        [ -n "${OSM_VCA_HOST}" ] && JUJU_OPTS="$JUJU_OPTS -H ${OSM_VCA_HOST}"
-        [ -n "${LXD_CLOUD_FILE}" ] && JUJU_OPTS="$JUJU_OPTS -l ${LXD_CLOUD_FILE}"
-        [ -n "${LXD_CRED_FILE}" ] && JUJU_OPTS="$JUJU_OPTS -L ${LXD_CRED_FILE}"
-        [ -n "${CONTROLLER_NAME}" ] && JUJU_OPTS="$JUJU_OPTS -K ${CONTROLLER_NAME}"
-        [ -n "${OSM_BEHIND_PROXY}" ] && JUJU_OPTS="${JUJU_OPTS} -P"
-        $OSM_DEVOPS/installers/install_juju.sh ${JUJU_OPTS} || FATAL_TRACK juju "install_juju.sh failed"
-        set_vca_variables
-    fi
-    track juju juju_ok
-
-    # This track is maintained for backwards compatibility
-    track docker_images docker_images_ok
-
     # Install mgmt cluster
     echo "Installing mgmt cluster ..."
     MGMTCLUSTER_INSTALL_OPTS="-D ${OSM_DEVOPS} ${DEBUG_INSTALL}"
@@ -557,11 +428,6 @@
     add_local_k8scluster
     track final_ops add_local_k8scluster_ok
 
-    # if lxd is requested, iptables firewall is updated to work with both docker and LXD
-    if [ -n "$INSTALL_LXD" ]; then
-        arrange_docker_default_network_policy
-    fi
-
     wget -q -O- https://osm-download.etsi.org/ftp/osm-16.0-sixteen/README2.txt &> /dev/null
     track end
     sudo find /etc/osm
@@ -569,13 +435,6 @@
     return 0
 }
 
-function arrange_docker_default_network_policy() {
-    echo -e "Fixing firewall so docker and LXD can share the same host without affecting each other."
-    sudo iptables -I DOCKER-USER -j ACCEPT
-    sudo iptables-save | sudo tee /etc/iptables/rules.v4
-    sudo ip6tables-save | sudo tee /etc/iptables/rules.v6
-}
-
 function install_k8s_monitoring() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     # install OSM monitoring
@@ -591,30 +450,21 @@
     echo "DOCKER_PROXY_URL=$DOCKER_PROXY_URL"
     echo "DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL"
     echo "DOCKER_USER=$DOCKER_USER"
-    echo "INSTALL_CACHELXDIMAGES=$INSTALL_CACHELXDIMAGES"
-    echo "INSTALL_JUJU=$INSTALL_JUJU"
     echo "INSTALL_K8S_MONITOR=$INSTALL_K8S_MONITOR"
-    echo "INSTALL_LXD=$INSTALL_LXD"
     echo "INSTALL_DOCKER=$INSTALL_DOCKER"
     echo "OSM_DEVOPS=$OSM_DEVOPS"
     echo "OSM_DOCKER_TAG=$OSM_DOCKER_TAG"
     echo "OSM_K8S_EXTERNAL_IP=$OSM_K8S_EXTERNAL_IP"
     echo "OSM_HELM_WORK_DIR=$OSM_HELM_WORK_DIR"
     echo "OSM_NAMESPACE=$OSM_NAMESPACE"
-    echo "OSM_VCA_HOST=$OSM_VCA_HOST"
-    echo "OSM_VCA_PUBKEY=$OSM_VCA_PUBKEY"
-    echo "OSM_VCA_SECRET=$OSM_VCA_SECRET"
     echo "OSM_WORK_DIR=$OSM_WORK_DIR"
     echo "PULL_IMAGES=$PULL_IMAGES"
-    echo "RECONFIGURE=$RECONFIGURE"
     echo "RELEASE=$RELEASE"
     echo "REPOSITORY=$REPOSITORY"
     echo "REPOSITORY_BASE=$REPOSITORY_BASE"
     echo "REPOSITORY_KEY=$REPOSITORY_KEY"
     echo "SHOWOPTS=$SHOWOPTS"
-    echo "TEST_INSTALLER=$TEST_INSTALLER"
     echo "UNINSTALL=$UNINSTALL"
-    echo "UPDATE=$UPDATE"
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
 }
 
@@ -634,10 +484,6 @@
 }
 
 UNINSTALL=""
-UPDATE=""
-RECONFIGURE=""
-TEST_INSTALLER=""
-INSTALL_LXD=""
 SHOWOPTS=""
 ASSUME_YES=""
 APT_PROXY_URL=""
@@ -646,20 +492,11 @@
 RELEASE="testing-daily"
 REPOSITORY="testing"
 INSTALL_K8S_MONITOR=""
-LXD_REPOSITORY_BASE="https://osm-download.etsi.org/repository/osm/lxd"
-LXD_REPOSITORY_PATH=""
 INSTALL_DOCKER=""
-INSTALL_JUJU=""
 INSTALL_NOHOSTCLIENT=""
-INSTALL_CACHELXDIMAGES=""
 INSTALL_AUX_CLUSTER="y"
 INSTALL_MGMT_CLUSTER="y"
 OSM_DEVOPS=
-OSM_VCA_HOST=
-OSM_VCA_SECRET=
-OSM_VCA_PUBKEY=
-OSM_VCA_CLOUDNAME="localhost"
-OSM_VCA_K8S_CLOUDNAME="k8scloud"
 OSM_NAMESPACE=osm
 REPOSITORY_KEY="OSM%20ETSI%20Release%20Key.gpg"
 REPOSITORY_BASE="https://osm-download.etsi.org/repository/osm/debian"
@@ -688,7 +525,7 @@
 MODULE_DOCKER_TAG=
 OSM_INSTALLATION_TYPE="Default"
 
-while getopts ":a:c:e:r:n:k:u:R:D:o:O:N:H:S:s:t:U:P:A:l:L:K:d:p:T:f:F:G:M:-: hy" o; do
+while getopts ":a:c:e:r:n:k:u:R:D:o:O:N:s:t:U:l:L:K:d:p:T:f:F:G:M:-: hy" o; do
     case "${o}" in
         a)
             APT_PROXY_URL=${OPTARG}
@@ -722,12 +559,6 @@
         D)
             OSM_DEVOPS="${OPTARG}"
             ;;
-        H)
-            OSM_VCA_HOST="${OPTARG}"
-            ;;
-        S)
-            OSM_VCA_SECRET="${OPTARG}"
-            ;;
         s)
             OSM_NAMESPACE="${OPTARG}" && [[ ! "${OPTARG}" =~ $RE_CHECK ]] && echo "Namespace $OPTARG is invalid. Regex used for validation is $RE_CHECK" && exit 0
             ;;
@@ -738,18 +569,6 @@
         U)
             DOCKER_USER="${OPTARG}"
             ;;
-        P)
-            OSM_VCA_PUBKEY=$(cat ${OPTARG})
-            ;;
-        A)
-            OSM_VCA_APIPROXY="${OPTARG}"
-            ;;
-        l)
-            LXD_CLOUD_FILE="${OPTARG}"
-            ;;
-        L)
-            LXD_CRED_FILE="${OPTARG}"
-            ;;
         K)
             CONTROLLER_NAME="${OPTARG}"
             ;;
@@ -774,33 +593,11 @@
             [ "${OPTARG}" == "uninstall" ] && UNINSTALL="y" && continue
             [ "${OPTARG}" == "no-mgmt-cluster" ] && INSTALL_MGMT_CLUSTER="" && continue
             [ "${OPTARG}" == "no-aux-cluster" ] && INSTALL_AUX_CLUSTER="" && continue
-            [ "${OPTARG}" == "update" ] && UPDATE="y" && continue
-            [ "${OPTARG}" == "reconfigure" ] && RECONFIGURE="y" && continue
-            [ "${OPTARG}" == "test" ] && TEST_INSTALLER="y" && continue
-            [ "${OPTARG}" == "lxdinstall" ] && INSTALL_LXD="y" && continue
-            [ "${OPTARG}" == "lxd" ] && INSTALL_LXD="y" && continue
-            [ "${OPTARG}" == "nolxd" ] && INSTALL_LXD="" && continue
             [ "${OPTARG}" == "docker" ] && INSTALL_DOCKER="y" && continue
             [ "${OPTARG}" == "nodocker" ] && INSTALL_DOCKER="" && continue
             [ "${OPTARG}" == "showopts" ] && SHOWOPTS="y" && continue
-            [ "${OPTARG}" == "juju" ] && INSTALL_JUJU="y" && continue
-            [ "${OPTARG}" == "nojuju" ] && INSTALL_JUJU="" && continue
             [ "${OPTARG}" == "nohostclient" ] && INSTALL_NOHOSTCLIENT="y" && continue
             [ "${OPTARG}" == "k8s_monitor" ] && INSTALL_K8S_MONITOR="y" && continue
-            [ "${OPTARG}" == "charmed" ] && CHARMED="y" && OSM_INSTALLATION_TYPE="Charmed" && continue
-            [ "${OPTARG}" == "bundle" ] && continue
-            [ "${OPTARG}" == "k8s" ] && continue
-            [ "${OPTARG}" == "lxd-cred" ] && continue
-            [ "${OPTARG}" == "microstack" ] && continue
-            [ "${OPTARG}" == "overlay" ] && continue
-            [ "${OPTARG}" == "only-vca" ] && continue
-            [ "${OPTARG}" == "small-profile" ] && continue
-            [ "${OPTARG}" == "vca" ] && continue
-            [ "${OPTARG}" == "ha" ] && continue
-            [ "${OPTARG}" == "tag" ] && continue
-            [ "${OPTARG}" == "registry" ] && continue
-            [ "${OPTARG}" == "nocachelxdimages" ] && continue
-            [ "${OPTARG}" == "cachelxdimages" ] && INSTALL_CACHELXDIMAGES="--cachelxdimages" && continue
             echo -e "Invalid option: '--$OPTARG'\n" >&2
             usage && exit 1
             ;;
@@ -831,13 +628,8 @@
 
 # Uninstall if "--uninstall"
 if [ -n "$UNINSTALL" ]; then
-    if [ -n "$CHARMED" ]; then
-        ${OSM_DEVOPS}/installers/charmed_uninstall.sh -R $RELEASE -r $REPOSITORY -u $REPOSITORY_BASE -D $OSM_DEVOPS -t $DOCKER_TAG "$@" || \
-        FATAL_TRACK charmed_uninstall "charmed_uninstall.sh failed"
-    else
-        ${OSM_DEVOPS}/installers/uninstall_osm.sh "$@" || \
-        FATAL_TRACK community_uninstall "uninstall_osm.sh failed"
-    fi
+    ${OSM_DEVOPS}/installers/uninstall_osm.sh "$@" || \
+    FATAL_TRACK community_uninstall "uninstall_osm.sh failed"
     echo -e "\nDONE"
     exit 0
 fi