diff --git a/docker/PLA/Dockerfile b/docker/PLA/Dockerfile
deleted file mode 100644
index e882de8..0000000
--- a/docker/PLA/Dockerfile
+++ /dev/null
@@ -1,123 +0,0 @@
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-
-FROM ubuntu:22.04 as INSTALL
-
-ARG APT_PROXY
-RUN if [ ! -z $APT_PROXY ] ; then \
-    echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
-    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
-    fi
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
-    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
-    gcc=4:11.* \
-    python3=3.10.* \
-    python3-dev=3.10.* \
-    python3-pip=22.0.* \
-    curl=7.81.* \
-    && rm -rf /var/lib/apt/lists/*
-
-#######################################################################################
-# End of common preparation
-
-ARG PYTHON3_OSM_COMMON_URL
-ARG PYTHON3_OSM_PLA_URL
-
-RUN curl $PYTHON3_OSM_COMMON_URL -o osm_common.deb
-RUN dpkg -i ./osm_common.deb
-
-RUN curl $PYTHON3_OSM_PLA_URL -o osm_pla.deb
-RUN dpkg -i ./osm_pla.deb
-
-RUN pip3 install \
-    -r /usr/lib/python3/dist-packages/osm_common/requirements.txt \
-    -r /usr/lib/python3/dist-packages/osm_pla/requirements.txt
-
-ADD https://github.com/MiniZinc/MiniZincIDE/releases/download/2.4.2/MiniZincIDE-2.4.2-bundle-linux-x86_64.tgz /minizinc.tgz
-
-RUN tar -zxf /minizinc.tgz && \
-    mv /MiniZincIDE-2.4.2-bundle-linux /minizinc
-
-#######################################################################################
-FROM ubuntu:22.04 as FINAL
-
-ARG APT_PROXY
-RUN if [ ! -z $APT_PROXY ] ; then \
-    echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
-    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
-    fi
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
-    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
-    python3-minimal=3.10.* \
-    && rm -rf /var/lib/apt/lists/*
-
-COPY --from=INSTALL /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
-COPY --from=INSTALL /usr/local/lib/python3.10/dist-packages  /usr/local/lib/python3.10/dist-packages
-
-#######################################################################################
-# End of common preparation
-
-RUN rm -f /etc/apt/apt.conf.d/proxy.conf
-
-LABEL authors="Lars-Göran Magnusson"
-
-COPY --from=INSTALL /usr/bin/osm* /usr/bin/
-COPY --from=INSTALL /minizinc /minizinc
-
-RUN mkdir /entry_data && \
-    mkdir /placement && \
-    mkdir /entry_data/mzn-lib && \
-    ln -s /entry_data/mzn-lib /minizinc/share/minizinc/exec
-
-COPY scripts/ /app/osm_pla/scripts/
-
-# Creating the user for the app
-RUN groupadd -g 1000 appuser && \
-    useradd -u 1000 -g 1000 -d /app appuser && \
-    mkdir -p /app/osm_pla && \
-    chown -R appuser:appuser /app && \
-    chown -R appuser:appuser /entry_data && \
-    chown -R appuser:appuser /minizinc && \
-    chown -R appuser:appuser /placement
-
-WORKDIR /app/osm_pla
-
-# Changing the security context
-USER appuser
-
-ENV OSMPLA_MESSAGE_DRIVER kafka
-ENV OSMPLA_MESSAGE_HOST kafka
-ENV OSMPLA_MESSAGE_PORT 9092
-
-ENV OSMPLA_DATABASE_DRIVER mongo
-ENV OSMPLA_DATABASE_URI mongodb://mongo:27017
-
-ENV OSMPLA_SQL_DATABASE_URI sqlite:///pla_sqlite.db
-
-ENV OSMPLA_GLOBAL_LOG_LEVEL INFO
-
-ENV FZNEXEC "/entry_data/fzn-exec"
-ENV PATH "/minizinc/bin:${PATH}"
-ENV LD_LIBRARY_PATH "/minizinc/lib:${LD_LIBRARY_PATH}"
-
-# No healtcheck yet...
-#HEALTHCHECK --start-period=120s --interval=10s --timeout=5s --retries=5 \
-#  CMD osm-pla-healthcheck || exit 1
-
-CMD [ "/bin/bash", "scripts/start.sh" ]
diff --git a/docker/PLA/scripts/start.sh b/docker/PLA/scripts/start.sh
deleted file mode 100644
index ae39b57..0000000
--- a/docker/PLA/scripts/start.sh
+++ /dev/null
@@ -1,71 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright 2020 Arctos Labs Scandinavia AB
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-DB_EXISTS=""
-
-max_attempts=120
-function wait_db(){
-    db_host=$1
-    db_port=$2
-    attempt=0
-    echo "Wait until $max_attempts seconds for MySQL mano Server ${db_host}:${db_port} "
-    while ! mysqladmin ping -h"$db_host" -P"$db_port" --silent; do
-        #wait 120 sec
-        if [ $attempt -ge $max_attempts ]; then
-            echo
-            echo "Can not connect to database ${db_host}:${db_port} during $max_attempts sec"
-            return 1
-        fi
-        attempt=$[$attempt+1]
-        echo -n "."
-        sleep 1
-    done
-    return 0
-}
-
-function is_db_created() {
-    db_host=$1
-    db_port=$2
-    db_user=$3
-    db_pswd=$4
-    db_name=$5
-
-    if mysqlshow -h"$db_host" -P"$db_port" -u"$db_user" -p"$db_pswd" | grep -v Wildcard | grep -q $db_name; then
-        echo "DB $db_name exists"
-        return 0
-    else
-        echo "DB $db_name does not exist"
-        return 1
-    fi
-}
-
-if [[ $OSMPLA_SQL_DATABASE_URI == *'mysql'* ]]; then
-    DB_HOST=$(echo $OSMPLA_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@(.+):.*$|\1|')
-    DB_PORT=$(echo $OSMPLA_SQL_DATABASE_URI | sed -r 's|^\w+://.*:([0-9]+).*$|\1|')
-    DB_USER=$(echo $OSMPLA_SQL_DATABASE_URI | sed -r 's|^\w+://(.+):.+@.+$|\1|')
-    DB_PASSWORD=$(echo $OSMPLA_SQL_DATABASE_URI | sed -r 's|^.+://.+:(.+)@.*$|\1|')
-    DB_NAME=$(echo $OSMPLA_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@.+:.*/(.+)$|\1|')
-
-    wait_db "$DB_HOST" "$DB_PORT" || exit 1
-
-    is_db_created "$DB_HOST" "$DB_PORT" "$DB_USER" "$DB_PASSWORD" "$DB_NAME" && DB_EXISTS="Y"
-
-    if [ -z $DB_EXISTS ]; then
-        mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASSWORD" --default_character_set utf8 -e "CREATE DATABASE $DB_NAME"
-    fi
-fi
-
-osm-pla-server
diff --git a/docker/POL/Dockerfile b/docker/POL/Dockerfile
deleted file mode 100644
index 2216338..0000000
--- a/docker/POL/Dockerfile
+++ /dev/null
@@ -1,118 +0,0 @@
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-
-FROM ubuntu:22.04 as INSTALL
-
-ARG APT_PROXY
-RUN if [ ! -z $APT_PROXY ] ; then \
-    echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
-    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
-    fi
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
-    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
-    gcc=4:11.* \
-    python3=3.10.* \
-    python3-dev=3.10.* \
-    python3-pip=22.0.* \
-    curl=7.81.* \
-    && rm -rf /var/lib/apt/lists/*
-
-#######################################################################################
-# End of common preparation
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
-    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
-    mysql-client-core-8.0=8.0.*
-
-ARG PYTHON3_OSM_COMMON_URL
-ARG PYTHON3_OSM_POLICY_MODULE_URL
-
-RUN curl $PYTHON3_OSM_COMMON_URL -o osm_common.deb
-RUN dpkg -i ./osm_common.deb
-
-RUN curl $PYTHON3_OSM_POLICY_MODULE_URL -o osm_policy_module.deb
-RUN dpkg -i ./osm_policy_module.deb
-
-RUN pip3 install \
-    -r /usr/lib/python3/dist-packages/osm_common/requirements.txt \
-    -r /usr/lib/python3/dist-packages/osm_policy_module/requirements.txt
-
-#######################################################################################
-FROM ubuntu:22.04 as FINAL
-
-ARG APT_PROXY
-RUN if [ ! -z $APT_PROXY ] ; then \
-    echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
-    echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
-    fi
-
-RUN DEBIAN_FRONTEND=noninteractive apt-get --yes update && \
-    DEBIAN_FRONTEND=noninteractive apt-get --yes install \
-    python3-minimal=3.10.* \
-    && rm -rf /var/lib/apt/lists/*
-
-COPY --from=INSTALL /usr/lib/python3/dist-packages /usr/lib/python3/dist-packages
-COPY --from=INSTALL /usr/local/lib/python3.10/dist-packages  /usr/local/lib/python3.10/dist-packages
-
-#######################################################################################
-# End of common preparation
-
-COPY --from=INSTALL /usr/bin/osm* /usr/bin/
-COPY --from=INSTALL /usr/bin/mysql /usr/bin/
-COPY --from=INSTALL /usr/bin/mysqladmin /usr/bin/
-COPY --from=INSTALL /usr/bin/mysqlshow /usr/bin/
-COPY --from=INSTALL /usr/lib/x86_64-linux-gnu/libedit.so.2 /usr/lib/x86_64-linux-gnu/
-COPY --from=INSTALL /usr/lib/x86_64-linux-gnu/libbsd.so.0 /usr/lib/x86_64-linux-gnu/
-COPY --from=INSTALL /usr/lib/x86_64-linux-gnu/libmd.so.0 /usr/lib/x86_64-linux-gnu/
-
-COPY scripts/ /app/osm_pol/scripts/
-
-# Creating the user for the app
-RUN groupadd -g 1000 appuser && \
-    useradd -u 1000 -g 1000 -d /app appuser && \
-    mkdir -p /app/osm_pol && \
-    mkdir -p /app/storage/kafka && \
-    mkdir /app/log && \
-    chown -R appuser:appuser /app
-
-WORKDIR /app/osm_pol
-
-# Changing the security context
-USER appuser
-
-########################################################################
-
-ENV OSMPOL_MESSAGE_DRIVER kafka
-ENV OSMPOL_MESSAGE_HOST kafka
-ENV OSMPOL_MESSAGE_PORT 9092
-
-ENV OSMPOL_DATABASE_DRIVER mongo
-ENV OSMPOL_DATABASE_URI mongodb://mongo:27017
-
-ENV OSMPOL_SQL_DATABASE_URI sqlite:///mon_sqlite.db
-
-ENV OSMPOL_GLOBAL_LOG_LEVEL INFO
-
-ENV OSMPOL_AUTOHEAL_ENABLED True
-
-ENV OSMPOL_AUTOSCALE_ENABLED True
-
-HEALTHCHECK --start-period=120s --interval=10s --timeout=5s --retries=5 \
-  CMD osm-pol-healthcheck || exit 1
-
-CMD /bin/bash scripts/start.sh
diff --git a/docker/POL/scripts/start.sh b/docker/POL/scripts/start.sh
deleted file mode 100644
index 04d0d34..0000000
--- a/docker/POL/scripts/start.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-DB_EXISTS=""
-
-max_attempts=120
-function wait_db(){
-    db_host=$1
-    db_port=$2
-    attempt=0
-    echo "Wait until $max_attempts seconds for MySQL mano Server ${db_host}:${db_port} "
-    while ! mysqladmin ping -h"$db_host" -P"$db_port" --silent; do
-        #wait 120 sec
-        if [ $attempt -ge $max_attempts ]; then
-            echo
-            echo "Can not connect to database ${db_host}:${db_port} during $max_attempts sec"
-            return 1
-        fi
-        attempt=$[$attempt+1]
-        echo -n "."
-        sleep 1
-    done
-    return 0
-}
-
-function is_db_created() {
-    db_host=$1
-    db_port=$2
-    db_user=$3
-    db_pswd=$4
-    db_name=$5
-
-    if mysqlshow -h"$db_host" -P"$db_port" -u"$db_user" -p"$db_pswd" | grep -v Wildcard | grep -q $db_name; then
-        echo "DB $db_name exists"
-        return 0
-    else
-        echo "DB $db_name does not exist"
-        return 1
-    fi
-}
-
-if [[ $OSMPOL_SQL_DATABASE_URI == *'mysql'* ]]; then
-    DB_HOST=$(echo $OSMPOL_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@(.+):.*$|\1|')
-    DB_PORT=$(echo $OSMPOL_SQL_DATABASE_URI | sed -r 's|^\w+://.*:([0-9]+).*$|\1|')
-    DB_USER=$(echo $OSMPOL_SQL_DATABASE_URI | sed -r 's|^\w+://(.+):.+@.+$|\1|')
-    DB_PASSWORD=$(echo $OSMPOL_SQL_DATABASE_URI | sed -r 's|^.+://.+:(.+)@.*$|\1|')
-    DB_NAME=$(echo $OSMPOL_SQL_DATABASE_URI | sed -r 's|^\w+://.+:.+@.+:.*/(.+)$|\1|')
-
-    wait_db "$DB_HOST" "$DB_PORT" || exit 1
-
-    is_db_created "$DB_HOST" "$DB_PORT" "$DB_USER" "$DB_PASSWORD" "$DB_NAME" && DB_EXISTS="Y"
-
-    if [ -z $DB_EXISTS ]; then
-        mysql -h"$DB_HOST" -P"$DB_PORT" -u"$DB_USER" -p"$DB_PASSWORD" --default_character_set utf8 -e "CREATE DATABASE $DB_NAME"
-    fi
-fi
-
-osm-policy-agent
\ No newline at end of file
diff --git a/installers/full_install_osm.sh b/installers/full_install_osm.sh
index 9c6ff88..a35396f 100755
--- a/installers/full_install_osm.sh
+++ b/installers/full_install_osm.sh
@@ -37,9 +37,6 @@
     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 "     --pla:          install the PLA module for placement support"
-    echo -e "     --old-sa:       install old Service Assurance framework (MON, POL); do not install Airflow and Pushgateway"
-    echo -e "     --ng-sa:        install new Service Assurance framework (Airflow, AlertManager and Pushgateway) (enabled by default)"
     echo -e "     -o <COMPONENT>: ONLY installs the specified component (k8s_monitor, ng-sa, k8scluster, docker, deploy-osm)"
     echo -e "     -O <openrc file path/cloud name>: install OSM to an OpenStack infrastructure. <openrc file/cloud name> is required. If a <cloud name> is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/"
     echo -e "     -N <openstack public network name/ID>: public network name required to setup OSM to OpenStack"
@@ -245,13 +242,10 @@
     fi
     [ -n "$OSM_VCA_APIPROXY" ] && OSM_HELM_OPTS="${OSM_HELM_OPTS} --set lcm.config.OSMLCM_VCA_APIPROXY=${OSM_VCA_APIPROXY}"
 
-    if [ -n "${INSTALL_NGSA}" ]; then
-        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"
-    else
-        OSM_HELM_OPTS="${OSM_HELM_OPTS} --set global.oldServiceAssurance=true --set airflow.enabled=false"
-    fi
+    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}\""
@@ -277,15 +271,6 @@
     [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
 }
 
-function install_osm_ngsa_service() {
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
-    NGSA_OPTS="-i ${OSM_K8S_EXTERNAL_IP} -d ${OSM_HELM_WORK_DIR} -D ${OSM_DEVOPS} -s ${OSM_NAMESPACE} -t ${OSM_DOCKER_TAG} -U ${DOCKER_USER} ${DEBUG_INSTALL}"
-    [ -n "${DOCKER_REGISTRY_URL}" ] && NGSA_OPTS="${NGSA_OPTS} -r ${DOCKER_REGISTRY_URL}"
-    $OSM_DEVOPS/installers/install_ngsa.sh ${NGSA_OPTS} || \
-    FATAL_TRACK install_osm_ngsa_service "install_ngsa.sh failed"
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
-}
-
 function add_local_k8scluster() {
     [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
     # OSM_HOSTNAME=$(kubectl get --namespace osm -o jsonpath="{.spec.rules[0].host}" ingress nbi-ingress)
@@ -554,7 +539,7 @@
     fi
     track mgmtcluster mgmt_and_aux_cluster_ok
 
-    # Deploy OSM (mongodb, OSM helm chart, NGSA)
+    # Deploy OSM (OSM helm chart)
     echo "Deploying OSM in the K8s cluster ..."
     deploy_osm
 
@@ -670,14 +655,11 @@
     echo "INSTALL_JUJU=$INSTALL_JUJU"
     echo "INSTALL_K8S_MONITOR=$INSTALL_K8S_MONITOR"
     echo "INSTALL_LXD=$INSTALL_LXD"
-    echo "INSTALL_NGSA=$INSTALL_NGSA"
     echo "INSTALL_DOCKER=$INSTALL_DOCKER"
     echo "INSTALL_ONLY=$INSTALL_ONLY"
     echo "INSTALL_ONLY_DEPLOY_OSM=$INSTALL_ONLY_DEPLOY_OSM"
     echo "INSTALL_ONLY_DOCKER_CE=$INSTALL_ONLY_DOCKER_CE"
     echo "INSTALL_ONLY_K8S_CLUSTER=$INSTALL_ONLY_K8S_CLUSTER"
-    echo "INSTALL_ONLY_NGSA=$INSTALL_ONLY_NGSA"
-    echo "INSTALL_PLA=$INSTALL_PLA"
     echo "INSTALL_TO_OPENSTACK=$INSTALL_TO_OPENSTACK"
     echo "INSTALL_VIMEMU=$INSTALL_VIMEMU"
     echo "OPENSTACK_PUBLIC_NET_NAME=$OPENSTACK_PUBLIC_NET_NAME"
@@ -736,8 +718,6 @@
 RELEASE="testing-daily"
 REPOSITORY="testing"
 INSTALL_K8S_MONITOR=""
-INSTALL_NGSA="y"
-INSTALL_PLA=""
 INSTALL_VIMEMU=""
 LXD_REPOSITORY_BASE="https://osm-download.etsi.org/repository/osm/lxd"
 LXD_REPOSITORY_PATH=""
@@ -753,7 +733,6 @@
 INSTALL_ONLY_DEPLOY_OSM=""
 INSTALL_ONLY_DOCKER_CE=""
 INSTALL_ONLY_K8S_CLUSTER=""
-INSTALL_ONLY_NGSA=""
 INSTALL_DOCKER=""
 INSTALL_JUJU=""
 INSTALL_NOHOSTCLIENT=""
@@ -831,7 +810,6 @@
         o)
             INSTALL_ONLY="y"
             [ "${OPTARG}" == "k8s_monitor" ] && INSTALL_K8S_MONITOR="y" && continue
-            [ "${OPTARG}" == "ng-sa" ] && INSTALL_ONLY_NGSA="y" && continue
             [ "${OPTARG}" == "docker" ] && INSTALL_ONLY_DOCKER_CE="y" && continue
             [ "${OPTARG}" == "k8scluster" ] && INSTALL_ONLY_K8S_CLUSTER="y" && continue
             [ "${OPTARG}" == "deploy-osm" ] && INSTALL_ONLY_DEPLOY_OSM="y" && continue
@@ -931,9 +909,6 @@
             [ "${OPTARG}" == "ha" ] && continue
             [ "${OPTARG}" == "tag" ] && continue
             [ "${OPTARG}" == "registry" ] && continue
-            [ "${OPTARG}" == "pla" ] && INSTALL_PLA="y" && continue
-            [ "${OPTARG}" == "old-sa" ] && INSTALL_NGSA="" && continue
-            [ "${OPTARG}" == "ng-sa" ] && INSTALL_NGSA="y" && continue
             [ "${OPTARG}" == "volume" ] && OPENSTACK_ATTACH_VOLUME="true" && continue
             [ "${OPTARG}" == "nocachelxdimages" ] && continue
             [ "${OPTARG}" == "cachelxdimages" ] && INSTALL_CACHELXDIMAGES="--cachelxdimages" && continue
@@ -1014,7 +989,6 @@
         [ -n "$INSTALL_ONLY_K8S_CLUSTER" ] && install_k8s_cluster
         [ -n "$INSTALL_K8S_MONITOR" ] && install_k8s_monitoring
         [ -n "$INSTALL_ONLY_DEPLOY_OSM" ] && deploy_osm
-        [ -n "$INSTALL_ONLY_NGSA" ] && install_osm_ngsa_service
         echo -e "\nDONE" && exit 0
     fi
     # This is where installation starts
diff --git a/installers/helm/osm/templates/airflow/airflow-secret.yaml b/installers/helm/osm/templates/airflow/airflow-secret.yaml
index 10c664b..d373eeb 100644
--- a/installers/helm/osm/templates/airflow/airflow-secret.yaml
+++ b/installers/helm/osm/templates/airflow/airflow-secret.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.airflow.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -25,5 +24,4 @@
     {{- include "osm.labels" . | nindent 4 }}
 data:
   webserver-secret-key: {{ randAlphaNum 32 | b64enc | quote }}
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml b/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
index d8028e8..9479d9c 100644
--- a/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
+++ b/installers/helm/osm/templates/alertmanager/alertmanager-ingress.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.alertmanager.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -39,5 +38,4 @@
             name: alertmanager
             port:
               number: 9093
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/mon/mon-deployment.yaml b/installers/helm/osm/templates/mon/mon-deployment.yaml
index 4473ffa..9ec3634 100644
--- a/installers/helm/osm/templates/mon/mon-deployment.yaml
+++ b/installers/helm/osm/templates/mon/mon-deployment.yaml
@@ -57,10 +57,8 @@
             {{- toYaml .Values.global.securityContext | nindent 12 }}
           image: {{ include "osm.mon.image" . }}
           imagePullPolicy: {{ .Values.global.image.pullPolicy }}
-          {{- if not .Values.global.oldServiceAssurance }}
           command: ["/bin/bash"]
           args: ["scripts/dashboarder-start.sh"]
-          {{- end }}
           ports:
             - containerPort: 8662
               protocol: TCP
diff --git a/installers/helm/osm/templates/pla/pla-configmap.yaml b/installers/helm/osm/templates/pla/pla-configmap.yaml
deleted file mode 100644
index be346a0..0000000
--- a/installers/helm/osm/templates/pla/pla-configmap.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{- if .Values.global.oldServiceAssurance -}}
-{{- if .Values.pla.enabled -}}
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "osm.fullname" . }}-pla-configmap
-  labels:
-    {{- include "osm.labels" . | nindent 4 }}
-data:
-  OSMPLA_DATABASE_HOST: "mongo"
-  OSMPLA_MESSAGE_HOST: "kafka"
-  OSMPLA_GLOBAL_LOG_LEVEL: {{ .Values.pla.logLevel | default .Values.global.logLevel | default "INFO" }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/pla/pla-deployment.yaml b/installers/helm/osm/templates/pla/pla-deployment.yaml
deleted file mode 100644
index cb8d85b..0000000
--- a/installers/helm/osm/templates/pla/pla-deployment.yaml
+++ /dev/null
@@ -1,88 +0,0 @@
-{{- if .Values.global.oldServiceAssurance -}}
-{{- if .Values.pla.enabled -}}
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: pla
-  labels:
-    {{- include "osm.labels" . | nindent 4 }}
-spec:
-  replicas: {{ .Values.pla.replicaCount | default .Values.global.replicaCount }}
-  selector:
-    matchLabels:
-      app.kubernetes.io/component: pla
-      {{- include "osm.selectorLabels" . | nindent 6 }}
-  template:
-    metadata:
-      {{- with .Values.global.podAnnotations }}
-      annotations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      labels:
-        app.kubernetes.io/component: pla
-        {{- include "osm.selectorLabels" . | nindent 8 }}
-    spec:
-      {{- with .Values.global.imagePullSecrets }}
-      imagePullSecrets:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      serviceAccountName: {{ include "osm.serviceAccountName" . }}
-      securityContext:
-        {{- toYaml .Values.global.podSecurityContext | nindent 8 }}
-      initContainers:
-        - name: kafka-mongo-test
-          image: alpine:latest
-          command: ["sh", "-c", "until (nc -zvw1 kafka 9092 && nc -zvw1 {{ .Values.global.db.mongo.mongoService }} 27017); do sleep 3; done; exit 0"]
-      containers:
-        - name: pla
-          securityContext:
-            readOnlyRootFilesystem: true
-            allowPrivilegeEscalation: false
-            runAsNonRoot: true
-            {{- toYaml .Values.global.securityContext | nindent 12 }}
-          image: {{ include "osm.pla.image" . }}
-          imagePullPolicy: {{ .Values.global.image.pullPolicy }}
-          resources:
-            limits:
-              memory: 1024Mi
-            requests:
-              memory: 128Mi
-          envFrom:
-            - configMapRef:
-                name: {{ include "osm.fullname" . }}-pla-configmap
-          env:
-          - name: OSMPLA_DATABASE_URI
-            valueFrom:
-              secretKeyRef:
-                name: {{ include "osm.fullname" . }}-secret
-                key: OSM_DATABASE_URI
-      {{- with .Values.global.nodeSelector }}
-      nodeSelector:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.global.affinity }}
-      affinity:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.global.tolerations }}
-      tolerations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/pol/pol-configmap.yaml b/installers/helm/osm/templates/pol/pol-configmap.yaml
deleted file mode 100644
index 8d899bc..0000000
--- a/installers/helm/osm/templates/pol/pol-configmap.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-{{- if .Values.global.oldServiceAssurance -}}
-{{- if .Values.pol.enabled -}}
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: {{ include "osm.fullname" . }}-pol-configmap
-  labels:
-    {{- include "osm.labels" . | nindent 4 }}
-data:
-  OSMPOL_MESSAGE_HOST: "kafka"
-  OSMPOL_MESSAGE_PORT: "9092"
-  OSMPOL_GLOBAL_LOG_LEVEL: {{ .Values.pol.logLevel | default .Values.global.logLevel | default "INFO" }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/pol/pol-deployment.yaml b/installers/helm/osm/templates/pol/pol-deployment.yaml
deleted file mode 100644
index 313b4a6..0000000
--- a/installers/helm/osm/templates/pol/pol-deployment.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-{{- if .Values.global.oldServiceAssurance -}}
-{{- if .Values.pol.enabled -}}
-#######################################################################################
-# Copyright ETSI Contributors and Others.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-# implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#######################################################################################
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: pol
-  labels:
-    {{- include "osm.labels" . | nindent 4 }}
-spec:
-  replicas: {{ .Values.pol.replicaCount | default .Values.global.replicaCount }}
-  selector:
-    matchLabels:
-      app.kubernetes.io/component: pol
-      {{- include "osm.selectorLabels" . | nindent 6 }}
-  template:
-    metadata:
-      {{- with .Values.global.podAnnotations }}
-      annotations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      labels:
-        app.kubernetes.io/component: pol
-        {{- include "osm.selectorLabels" . | nindent 8 }}
-    spec:
-      {{- with .Values.global.imagePullSecrets }}
-      imagePullSecrets:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      serviceAccountName: {{ include "osm.serviceAccountName" . }}
-      securityContext:
-        {{- toYaml .Values.global.podSecurityContext | nindent 8 }}
-      initContainers:
-        - name: kafka-mongo-test
-          image: alpine:latest
-          command: ["sh", "-c", "until (nc -zvw1 kafka 9092 && nc -zvw1 {{ .Values.global.db.mongo.mongoService }} 27017); do sleep 3; done; exit 0"]
-      containers:
-        - name: pol
-          securityContext:
-            # readOnlyRootFilesystem: true
-            allowPrivilegeEscalation: false
-            runAsNonRoot: true
-            {{- toYaml .Values.global.securityContext | nindent 12 }}
-          image: {{ include "osm.pol.image" . }}
-          imagePullPolicy: {{ .Values.global.image.pullPolicy }}
-          ports:
-            - containerPort: 8662
-              protocol: TCP
-          resources:
-            limits:
-              memory: 1024Mi
-            requests:
-              memory: 128Mi
-          envFrom:
-            - configMapRef:
-                name: {{ include "osm.fullname" . }}-pol-configmap
-          {{- if not .Values.pol.useOsmSecret }}
-            - secretRef:
-                name: {{ .Values.pol.secretName | default "pol-secret" }}
-          {{- else }}
-          env:
-            - name: OSMPOL_DATABASE_COMMONKEY
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "osm.fullname" . }}-secret
-                  key: OSM_DATABASE_COMMONKEY
-            - name: OSMPOL_DATABASE_URI
-              valueFrom:
-                secretKeyRef:
-                  name: {{ include "osm.fullname" . }}-secret
-                  key: OSM_DATABASE_URI
-          {{- end }}
-      {{- with .Values.global.nodeSelector }}
-      nodeSelector:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.global.affinity }}
-      affinity:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-      {{- with .Values.global.tolerations }}
-      tolerations:
-        {{- toYaml . | nindent 8 }}
-      {{- end }}
-{{- end }}
-{{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-configmap.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-configmap.yaml
index f446413..a266ea7 100644
--- a/installers/helm/osm/templates/webhook_translator/webhook-translator-configmap.yaml
+++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-configmap.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.webhookTranslator.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -25,5 +24,4 @@
 data:
   AIRFLOW_HOST: "airflow-webserver"
   AIRFLOW_PORT: "8080"
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-deployment.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-deployment.yaml
index 84a3dba..60b2ae8 100644
--- a/installers/helm/osm/templates/webhook_translator/webhook-translator-deployment.yaml
+++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-deployment.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.webhookTranslator.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -79,5 +78,4 @@
       tolerations:
         {{- toYaml . | nindent 8 }}
       {{- end }}
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml
index f4e8b64..d803574 100644
--- a/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml
+++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-ingress.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.webhookTranslator.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -39,5 +38,4 @@
             name: webhook-translator
             port:
               number: 9998
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-secret.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-secret.yaml
index e11022c..10f9c6e 100644
--- a/installers/helm/osm/templates/webhook_translator/webhook-translator-secret.yaml
+++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-secret.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.webhookTranslator.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -28,5 +27,4 @@
   AIRFLOW_USER: {{ "admin" | b64enc | quote }}
   # AIRFLOW_PASS: {{ randAlphaNum 32 | b64enc | quote }}
   AIRFLOW_PASS: {{ "admin" | b64enc | quote }}
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/templates/webhook_translator/webhook-translator-service.yaml b/installers/helm/osm/templates/webhook_translator/webhook-translator-service.yaml
index 11d2508..9db63ee 100644
--- a/installers/helm/osm/templates/webhook_translator/webhook-translator-service.yaml
+++ b/installers/helm/osm/templates/webhook_translator/webhook-translator-service.yaml
@@ -1,4 +1,3 @@
-{{- if not .Values.global.oldServiceAssurance -}}
 {{- if .Values.webhookTranslator.enabled -}}
 #######################################################################################
 # Copyright ETSI Contributors and Others.
@@ -34,5 +33,4 @@
   selector:
     app.kubernetes.io/component: webhook-translator
     {{- include "osm.selectorLabels" . | nindent 4 }}
-{{- end }}
 {{- end }}
\ No newline at end of file
diff --git a/installers/helm/osm/values.yaml b/installers/helm/osm/values.yaml
index b1b8b21..a046b9a 100644
--- a/installers/helm/osm/values.yaml
+++ b/installers/helm/osm/values.yaml
@@ -88,8 +88,6 @@
     # HTTPS_PROXY: <HTTPS_PROXY>
     # NO_PROXY: <NO_PROXY>
 
-  oldServiceAssurance: false
-
 airflow:
   enabled: true
   config:
@@ -403,26 +401,6 @@
     # tag: "testing-daily"
   # replicaCount: 1
 
-# pla module is disabled by default unless global.oldServiceAssurance and pla.enabled are set to true
-pla:
-  enabled: false
-  # logLevel: DEBUG
-  image: {}
-    # repository: opensourcemano/pla
-    # tag: "testing-daily"
-  # replicaCount: 1
-
-# pol module is disabled by default unless global.oldServiceAssurance and pol.enabled are set to true
-pol:
-  enabled: true
-  # logLevel: DEBUG
-  image: {}
-    # repository: opensourcemano/pol
-    # tag: "testing-daily"
-  # replicaCount: 1
-  useOsmSecret: true
-  # secretName: "pol-secret"
-
 prometheus:
   enabled: true
   configmapReload:
diff --git a/installers/helm/values/airflow-values.yaml b/installers/helm/values/airflow-values.yaml
deleted file mode 100644
index 798648c..0000000
--- a/installers/helm/values/airflow-values.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
----
-config:
-  core:
-    parallelism: 4
-    dag_concurrency: 2
-    max_active_tasks_per_dag: 2
-    worker_concurrency: 2
-    dags_folder: "/home/airflow/.local/lib/python3.10/site-packages/osm_ngsa"
-defaultAirflowRepository: opensourcemano/airflow
-defaultAirflowTag: "testing-daily"
-executor: LocalExecutor
-extraEnv: |
-  - name: AIRFLOW__API__AUTH_BACKENDS
-    value: 'airflow.api.auth.backend.basic_auth'
-  - name: AIRFLOW__LOGGING__LOGGING_LEVEL
-    value: 'INFO'
-  - name: OSMMON_DATABASE_COMMONKEY
-    valueFrom:
-      secretKeyRef:
-        name: osm-secret
-        key: OSM_DATABASE_COMMONKEY
-# extraEnvFrom: |
-#   - secretRef:
-#       name: ngsa-secret
-ingress:
-  web:
-    enabled: True
-    hosts:
-      - name: "localhost"
-    ingressClassName: nginx
-# scheduler:
-#   resources:
-#     requests:
-#       memory: 512Mi
-#       cpu: 250m
-#     limits:
-#       memory: 1Gi
-#       cpu: 500m
-webserverSecretKeySecretName: airflow-webserver-secret
-webserver:
-  resources:
-    requests:
-      memory: 256Mi
-      cpu: 250m
-    limits:
-      memory: 1Gi
-      cpu: 500m
-  service:
-    type: ClusterIP
-    ports:
-      - name: airflow-ui
-        port: "{{ .Values.ports.airflowUI }}"
-        targetPort: "{{ .Values.ports.airflowUI }}"
-workers:
-  persistence:
-    size: 2Gi
-  replicas: 1
-  resources:
-    requests:
-      memory: 512Mi
-      cpu: 250m
-    limits:
-      memory: 1Gi
-      cpu: 500m
-  logGroomerSidecar:
-    retentionDays: 7
-    resources:
-      limits:
-        cpu: 100m
-        memory: 128Mi
-      requests:
-        cpu: 100m
-        memory: 128Mi
diff --git a/installers/install_ngsa.sh b/installers/install_ngsa.sh
deleted file mode 100755
index 6931432..0000000
--- a/installers/install_ngsa.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/bash
-#
-#   Licensed under the Apache License, Version 2.0 (the "License");
-#   you may not use this file except in compliance with the License.
-#   You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#   Unless required by applicable law or agreed to in writing, software
-#   distributed under the License is distributed on an "AS IS" BASIS,
-#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#   See the License for the specific language governing permissions and
-#   limitations under the License.
-#
-
-set +eux
-
-# Helm chart 1.6.0 correspondes to Airflow 2.3.0
-AIRFLOW_HELM_VERSION=1.9.0
-
-# Install Airflow helm chart
-function install_airflow() {
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG beginning of function
-    # copy airflow-values.yaml to the destination folder
-    sudo mkdir -p ${OSM_HELM_WORK_DIR}
-    sudo cp ${OSM_DEVOPS}/installers/helm/values/airflow-values.yaml ${OSM_HELM_WORK_DIR}
-    # update airflow-values.yaml to use the right tag
-    echo "Updating Helm values file helm/values/airflow-values.yaml to use defaultAirflowTag: ${OSM_DOCKER_TAG}"
-    sudo sed -i "s#defaultAirflowTag:.*#defaultAirflowTag: \"${OSM_DOCKER_TAG}\"#g" ${OSM_HELM_WORK_DIR}/airflow-values.yaml
-    echo "Updating Helm values file helm/values/airflow-values.yaml to use defaultAirflowRepository: ${DOCKER_REGISTRY_URL}${DOCKER_USER}/airflow"
-    sudo sed -i "s#defaultAirflowRepository:.*#defaultAirflowRepository: ${DOCKER_REGISTRY_URL}${DOCKER_USER}/airflow#g" ${OSM_HELM_WORK_DIR}/airflow-values.yaml
-    echo "Updating Helm values file helm/values/airflow-values.yaml to set ingress.web.hosts with host \"airflow.${DEFAULT_IP}.nip.io\""
-    sudo sed -i "s#name: \"localhost\"#name: \"airflow.${DEFAULT_IP}.nip.io\"#g" ${OSM_HELM_WORK_DIR}/airflow-values.yaml
-
-    helm repo add apache-airflow https://airflow.apache.org
-    helm repo update
-    helm upgrade airflow apache-airflow/airflow -n ${OSM_NAMESPACE} --create-namespace --install -f ${OSM_HELM_WORK_DIR}/airflow-values.yaml --version ${AIRFLOW_HELM_VERSION} --timeout 10m || FATAL_TRACK ngsa "Failed installing airflow helm chart"
-    [ -z "${DEBUG_INSTALL}" ] || DEBUG end of function
-}
-
-# main
-while getopts ":D:d:i:s:t:r:U:-: " o; do
-    case "${o}" in
-        i)
-            DEFAULT_IP="${OPTARG}"
-            ;;
-        D)
-            OSM_DEVOPS="${OPTARG}"
-            ;;
-        d)
-            OSM_HELM_WORK_DIR="${OPTARG}"
-            ;;
-        s)
-            OSM_NAMESPACE="${OPTARG}"
-            ;;
-        t)
-            OSM_DOCKER_TAG="${OPTARG}"
-            ;;
-        r)
-            DOCKER_REGISTRY_URL="${OPTARG}"
-            ;;
-        U)
-            DOCKER_USER="${OPTARG}"
-            ;;
-        -)
-            [ "${OPTARG}" == "debug" ] && DEBUG_INSTALL="y" && continue
-            echo -e "Invalid option: '--$OPTARG'\n" >&2
-            exit 1
-            ;;
-        :)
-            echo "Option -$OPTARG requires an argument" >&2
-            exit 1
-            ;;
-        \?)
-            echo -e "Invalid option: '-$OPTARG'\n" >&2
-            exit 1
-            ;;
-        *)
-            exit 1
-            ;;
-    esac
-done
-
-DEBUG_INSTALL=${DEBUG_INSTALL:-}
-DEFAULT_IP=${DEFAULT_IP:-"127.0.0.1"}
-OSM_DEVOPS=${OSM_DEVOPS:-"/usr/share/osm-devops"}
-OSM_DOCKER_TAG=${OSM_DOCKER_TAG:-"testing-daily"}
-OSM_HELM_WORK_DIR=${OSM_HELM_WORK_DIR:-"/etc/osm/helm"}
-OSM_NAMESPACE=${OSM_NAMESPACE:-"osm"}
-DOCKER_REGISTRY_URL=${DOCKER_REGISTRY_URL:-}
-DOCKER_USER=${DOCKER_USER:-"opensourcemano"}
-echo "DEBUG_INSTALL=$DEBUG_INSTALL"
-echo "DEFAULT_IP=$DEFAULT_IP"
-echo "OSM_DEVOPS=$OSM_DEVOPS"
-echo "OSM_DOCKER_TAG=$OSM_DOCKER_TAG"
-echo "OSM_HELM_WORK_DIR=$OSM_HELM_WORK_DIR"
-echo "OSM_NAMESPACE=$OSM_NAMESPACE"
-echo "DOCKER_REGISTRY_URL=$DOCKER_REGISTRY_URL"
-echo "DOCKER_USER=$DOCKER_USER"
-
-source $OSM_DEVOPS/common/logging
-source $OSM_DEVOPS/common/track
-
-install_airflow
-track deploy_osm airflow_ok
diff --git a/installers/install_osm.sh b/installers/install_osm.sh
index 622ff36..fa200f0 100755
--- a/installers/install_osm.sh
+++ b/installers/install_osm.sh
@@ -41,9 +41,6 @@
     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 "     --pla:          install the PLA module for placement support"
-    echo -e "     --old-sa:       install old Service Assurance framework (MON, POL); do not install Airflow and Pushgateway"
-    echo -e "     --ng-sa:        install new Service Assurance framework (Airflow, AlertManager and Pushgateway) (enabled by default)"
     echo -e "     -o <COMPONENT>: ONLY installs the specified component (k8s_monitor, ng-sa, k8scluster, docker, deploy-osm)"
     echo -e "     -O <openrc file path/cloud name>: install OSM to an OpenStack infrastructure. <openrc file/cloud name> is required. If a <cloud name> is used, the clouds.yaml file should be under ~/.config/openstack/ or /etc/openstack/"
     echo -e "     -N <openstack public network name/ID>: public network name required to setup OSM to OpenStack"
diff --git a/installers/uninstall_osm.sh b/installers/uninstall_osm.sh
index 1df64b6..1aa9f36 100755
--- a/installers/uninstall_osm.sh
+++ b/installers/uninstall_osm.sh
@@ -60,7 +60,7 @@
     echo "Now osm docker images and volumes will be deleted"
     # TODO: clean-up of images should take into account if other tags were used for specific modules
     newgrp docker << EONG
-for module in ro lcm keystone nbi mon pol pla osmclient; do
+for module in ro lcm keystone nbi mon osmclient; do
     docker image rm ${DOCKER_REGISTRY_URL}${DOCKER_USER}/${module}:${OSM_DOCKER_TAG}
 done
 EONG
@@ -119,7 +119,6 @@
 RELEASE="ReleaseTEN"
 REPOSITORY="stable"
 INSTALL_VIMEMU=""
-INSTALL_PLA=""
 LXD_REPOSITORY_BASE="https://osm-download.etsi.org/repository/osm/lxd"
 LXD_REPOSITORY_PATH=""
 INSTALL_LIGHTWEIGHT="y"
@@ -228,8 +227,6 @@
             [ "${OPTARG}" == "LCM" ] && TO_REBUILD="$TO_REBUILD LCM" && continue
             [ "${OPTARG}" == "RO" ] && TO_REBUILD="$TO_REBUILD RO" && continue
             [ "${OPTARG}" == "MON" ] && TO_REBUILD="$TO_REBUILD MON" && continue
-            [ "${OPTARG}" == "POL" ] && TO_REBUILD="$TO_REBUILD POL" && continue
-            [ "${OPTARG}" == "PLA" ] && TO_REBUILD="$TO_REBUILD PLA" && continue
             [ "${OPTARG}" == "osmclient" ] && TO_REBUILD="$TO_REBUILD osmclient" && continue
             [ "${OPTARG}" == "KAFKA" ] && TO_REBUILD="$TO_REBUILD KAFKA" && continue
             [ "${OPTARG}" == "MONGO" ] && TO_REBUILD="$TO_REBUILD MONGO" && continue
@@ -310,7 +307,6 @@
             [ "${OPTARG}" == "ha" ] && continue
             [ "${OPTARG}" == "tag" ] && continue
             [ "${OPTARG}" == "registry" ] && continue
-            [ "${OPTARG}" == "pla" ] && INSTALL_PLA="y" && continue
             [ "${OPTARG}" == "volume" ] && OPENSTACK_ATTACH_VOLUME="true" && continue
             [ "${OPTARG}" == "nocachelxdimages" ] && continue
             [ "${OPTARG}" == "cachelxdimages" ] && INSTALL_CACHELXDIMAGES="--cachelxdimages" && continue
diff --git a/jenkins/ci-pipelines/ci_stage_3.groovy b/jenkins/ci-pipelines/ci_stage_3.groovy
index dbdcf9a..2f2d216 100644
--- a/jenkins/ci-pipelines/ci_stage_3.groovy
+++ b/jenkins/ci-pipelines/ci_stage_3.groovy
@@ -282,7 +282,7 @@
 
                     parallelSteps = [:]
                     list = ['RO', 'osmclient', 'IM', 'devops', 'MON', 'N2VC', 'NBI',
-                            'common', 'LCM', 'POL', 'NG-UI', 'NG-SA', 'PLA', 'tests']
+                            'common', 'LCM', 'NG-UI', 'NG-SA', 'tests']
                     if (upstreamComponent.length() > 0) {
                         println("Skipping upstream fetch of ${upstreamComponent}")
                         list.remove(upstreamComponent)
diff --git a/tools/check_changes.sh b/tools/check_changes.sh
index 09bd65b..e240cd4 100755
--- a/tools/check_changes.sh
+++ b/tools/check_changes.sh
@@ -36,7 +36,7 @@
 
 echo "-----------------------------------------" > "${OSM_CHANGES_FOLDER}/osm_changes-${BRANCH}-from${FROM_REF}-to${TO_REF}.log"
 
-modules="common devops IM LCM MON N2VC NBI NG-SA NG-UI osmclient RO PLA POL SOL003 SOL005 tests"
+modules="common devops IM LCM MON N2VC NBI NG-SA NG-UI osmclient RO SOL003 SOL005 tests"
 for repo in $modules; do
     echo ${repo}
     git -C ${OSM_CHANGES_FOLDER} clone "https://osm.etsi.org/gerrit/osm/${repo}"
diff --git a/tools/deletetag.sh b/tools/deletetag.sh
index 4581462..1ffd939 100755
--- a/tools/deletetag.sh
+++ b/tools/deletetag.sh
@@ -25,7 +25,7 @@
 tag_header="OSM Release TWO:"
 tag_message="$tag_header version $TAG"
 
-modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO PLA POL SOL003 SOL005 tests"
+modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO SOL003 SOL005 tests"
 list=""
 for i in $modules; do
     if [ "$1" == "$i" -o "$1" == "all" ]; then
diff --git a/tools/gen-repo.sh b/tools/gen-repo.sh
index f5f586e..337472c 100755
--- a/tools/gen-repo.sh
+++ b/tools/gen-repo.sh
@@ -52,7 +52,7 @@
     echo "BUILD_NUMBER:   $BUILD_NUMBER"
 }
 
-MDG_REPOS="RO osmclient openvim SO UI IM devops MON N2VC NBI common POL PLA LW-UI NG-UI NG-SA"
+MDG_REPOS="RO osmclient openvim SO UI IM devops MON N2VC NBI common LW-UI NG-UI NG-SA"
 IN_REPO="unstable"
 OUT_REPO="stable"
 GPGKEY=71C0472C
diff --git a/tools/local-build.sh b/tools/local-build.sh
index 829649d..c7abc72 100755
--- a/tools/local-build.sh
+++ b/tools/local-build.sh
@@ -191,7 +191,7 @@
 
 function stage_2() {
     print_section "Performing Stage 2"
-    MODULES="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient PLA POL RO tests"
+    MODULES="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO tests"
     if [ ! -z ${1} ] ; then
         POSSIBLE_MODULES=$(echo ${1} | sed "s/,/ /g")
         for MODULE in ${POSSIBLE_MODULES}; do
diff --git a/tools/newbranch.sh b/tools/newbranch.sh
index ccefd99..411e508 100755
--- a/tools/newbranch.sh
+++ b/tools/newbranch.sh
@@ -26,7 +26,7 @@
 USER="$3"
 tag_message="Start of $BRANCH"
 
-modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO PLA POL SOL003 SOL005 tests"
+modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO SOL003 SOL005 tests"
 list=""
 for i in $modules; do
     if [ "$1" == "$i" -o "$1" == "all" ]; then
diff --git a/tools/newtag.sh b/tools/newtag.sh
index 249c277..5d412b5 100755
--- a/tools/newtag.sh
+++ b/tools/newtag.sh
@@ -29,7 +29,7 @@
 tag_header="OSM Release $RELEASE_NAME:"
 tag_message="$tag_header version $TAG"
 
-modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO PLA POL SOL003 SOL005 tests"
+modules="common devops IM LCM MON N2VC NBI NG-UI NG-SA osmclient RO SOL003 SOL005 tests"
 list=""
 for i in $modules; do
     if [ "$1" == "$i" -o "$1" == "all" ]; then
diff --git a/tools/osm-report b/tools/osm-report
index e18c4b0..3a43c78 100755
--- a/tools/osm-report
+++ b/tools/osm-report
@@ -42,7 +42,7 @@
 which osm
 #dockers deb packages
 echo "dockers deb packages"
-for i in kafka keystone lcm mon mongo nbi pol prometheus ro mysql zookeeper; do
+for i in kafka keystone lcm mon mongo nbi prometheus ro mysql zookeeper; do
     echo "docker osm_$i"
     docker exec $(docker ps -q -f name=osm_$i -l) dpkg -l |grep osm
 done
@@ -50,8 +50,6 @@
 echo "dockers deb packages"
 echo "MON"
 docker exec -it $(docker ps -aqf "name=osm_mon" -n 1) dpkg -l |egrep -i "osm|n2vc"
-echo "POL"
-docker exec -it $(docker ps -aqf "name=osm_pol" -n 1) dpkg -l |egrep -i "osm|n2vc"
 echo "LCM"
 docker exec -it $(docker ps -aqf "name=osm_lcm" -n 1) dpkg -l |egrep -i "osm|n2vc"
 echo "NBI"
@@ -77,9 +75,6 @@
 echo "docker osm_mon"
 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon rev-parse HEAD
 docker exec $(docker ps -q -f name=osm_mon -l) git -C /mon describe --tags --long --dirty
-echo "docker osm_pol"
-docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module rev-parse HEAD
-docker exec $(docker ps -q -f name=osm_pol -l) git -C /policy_module describe --tags --long --dirty
 
 #Get configuration files
 echo "-------------------------------"
