diff --git a/aether-apps/google-phylo/Chart.yaml b/aether-apps/google-phylo/Chart.yaml
deleted file mode 100644
index 7fd0cf2..0000000
--- a/aether-apps/google-phylo/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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
-description: Google Video Analytics Application for Aether
-name: google-phylo
-
-version: 0.1.1
diff --git a/aether-apps/google-phylo/templates/_helpers.tpl b/aether-apps/google-phylo/templates/_helpers.tpl
deleted file mode 100644
index bf90988..0000000
--- a/aether-apps/google-phylo/templates/_helpers.tpl
+++ /dev/null
@@ -1,94 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "phylo.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "phylo.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "phylo.service_account" -}}
-{{- $context := index . 1 -}}
-{{- $saName := index . 0 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "phylo.metadata_labels" | indent 4 }}
-rules:
-  - apiGroups:
-      - ""
-      - extensions
-      - batch
-      - apps
-    verbs:
-      - get
-      - list
-    resources:
-      - statefulsets
-      - daemonsets
-      - jobs
-      - pods
-      - services
-      - endpoints
-      - configmaps
-{{- end -}}
diff --git a/aether-apps/google-phylo/templates/bin/_run-video-analytics-server.sh.tpl b/aether-apps/google-phylo/templates/bin/_run-video-analytics-server.sh.tpl
deleted file mode 100644
index 4bd7729..0000000
--- a/aether-apps/google-phylo/templates/bin/_run-video-analytics-server.sh.tpl
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-
-/google/video_analytics_server_main \
-        --mediapipe_graph_path=/google/demo_graph.pbtxt \
-        --person_detection_tf_saved_model_dir=/google/saved_model/ \
-        --camera_scene_geometry_path=/google/camera_scene_geometry.pbtxt \
-        --grpc_port=50051 \
-        --mq_address=localhost:5672 \
-        --mediapipe_detection_topic_name=phylo.mediapipe_detection \
-        --person_detection_topic_name=phylo.person_detection \
-        --bbox_decoded_video_frame_topic_name=phylo.bbox_decoded_video_frame \
-        --publish_to_mq=true \
-        --publish_to_log=true
diff --git a/aether-apps/google-phylo/templates/configmap-phylo.yaml b/aether-apps/google-phylo/templates/configmap-phylo.yaml
deleted file mode 100644
index c10b501..0000000
--- a/aether-apps/google-phylo/templates/configmap-phylo.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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: phylo
-  labels:
-{{ tuple "phylo" . | include "phylo.metadata_labels" | indent 4 }}
-data:
-  run-video-analytics-server.sh: |
-{{ tuple "bin/_run-video-analytics-server.sh.tpl" . | include "phylo.template" | indent 4 }}
diff --git a/aether-apps/google-phylo/templates/deployment-phylo.yaml b/aether-apps/google-phylo/templates/deployment-phylo.yaml
deleted file mode 100644
index bea130b..0000000
--- a/aether-apps/google-phylo/templates/deployment-phylo.yaml
+++ /dev/null
@@ -1,143 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{ tuple "phylo" . | include "phylo.service_account" }}
-
-{{ $context := . }}
-{{ range .Values.config.phylo.sources }}
-{{- $name := printf "%s-%s" "phylo" .key -}}
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: {{ $name }}
-  labels:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 8 }}
-    spec:
-    {{- if $context.Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ $context.Values.nodeSelectors.phylo.label }}: {{ $context.Values.nodeSelectors.phylo.value }}
-    {{- end }}
-      serviceAccountName: phylo
-      initContainers:
-      - name: phylo-dep-check
-        image: {{ $context.Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: POD_NAME
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.name
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_POD_JSON
-            value: '[{"labels": {"app": "wowza"}, "requireSameNode": false}]'
-          # add dependency job for make_certs.sh
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-      containers:
-      - name: rabbitmq
-        image: {{ $context.Values.images.tags.phyloRabbitmq }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-      {{- if $context.Values.resources.enabled }}
-        resources:
-{{ toYaml $context.Values.resources.phyloRabbitmq | indent 10 }}
-      {{- end }}
-      - name: video-analytics-server
-        image: {{ $context.Values.images.tags.videoAnalyticsServer | quote }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-        env:
-        - name: GLOG_logtostderr
-          value: "1"
-        command: ["/bin/bash","-xc","sleep 60 && /bin/run-video-analytics-server.sh"]
-        resources:
-      {{- if $context.Values.resources.enabled }}
-{{ toYaml $context.Values.resources.videoAnalyticsServer | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: script
-          mountPath: /bin/run-video-analytics-server.sh
-          readOnly: true
-          subPath: run-video-analytics-server.sh
-      - name: camera-ingestion
-        image: {{ $context.Values.images.tags.cameraIngestion | quote }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-        env:
-        - name: GLOG_logtostderr
-          value: "1"
-        - name: SOURCE_URI
-          value: {{ .uri }}
-        command: ["/bin/bash","-xc","sleep 90 && /google/run.sh"]
-      {{- if $context.Values.resources.enabled }}
-        resources:
-{{ toYaml $context.Values.resources.cameraIngestion | indent 10 }}
-      {{- end }}
-      - name: phylo-rabbitmq-pubsub
-        image: {{ $context.Values.images.tags.phyloRabbitmqPubsub }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-      {{- if $context.Values.resources.enabled }}
-        resources:
-{{ toYaml $context.Values.resources.phyloRabbitmqPubsub | indent 10 }}
-      {{- end }}
-        env:
-        - name: SOURCE_URI
-          value: {{ .uri }}
-        - name: RMQ_HOST_NAME
-          value: "0.0.0.0"
-        command: ["/bin/bash","-xc","sleep 120 && /google/run.sh"]
-      - name: phylo-rtsp-server
-        image: {{ $context.Values.images.tags.rtspServer }}
-        imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-      {{- if $context.Values.resources.enabled }}
-        resources:
-{{ toYaml $context.Values.resources.rtspServer | indent 10 }}
-      {{- end }}
-        command: ["/bin/bash","-xc","sleep 150 && \
-            /google/rmq_rtsp_server_main \
-            --rmq_broker_address=localhost:5672 \
-            --rmq_exchange_name=phylo.bbox_decoded_video_frame \
-            --resize_width=640 \
-            --resize_height=480 \
-            --rtsp_port=8554 \
-            --rtsp_url_suffix=/live"]
-      volumes:
-      - name: script
-        configMap:
-          defaultMode: 0700
-          name: phylo
-{{ end }}
diff --git a/aether-apps/google-phylo/templates/deployment-wowza-server.yaml b/aether-apps/google-phylo/templates/deployment-wowza-server.yaml
deleted file mode 100644
index f982142..0000000
--- a/aether-apps/google-phylo/templates/deployment-wowza-server.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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: wowza
-  labels:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.config.wowza.replica }}
-  selector:
-    matchLabels:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.wowza.label }}: {{ .Values.nodeSelectors.wowza.value }}
-    {{- end }}
-      containers:
-      - name: wowza
-        image: {{ .Values.images.tags.wowza }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.wowza | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - mountPath: /usr/local/WowzaStreamingEngine/data
-          name: wowza
-      volumes:
-        - name: wowza
-          emptyDir: {}
diff --git a/aether-apps/google-phylo/templates/service-phylo-rabbitmq.yaml b/aether-apps/google-phylo/templates/service-phylo-rabbitmq.yaml
deleted file mode 100644
index a52fde9..0000000
--- a/aether-apps/google-phylo/templates/service-phylo-rabbitmq.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{- $context := . -}}
-{{ range .Values.config.phylo.sources }}
-{{- $name := printf "%s-%s" "phylo" .key -}}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: rabbitmq-{{ .key }}-external
-  labels:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 4 }}
-  ports:
-    - port: 15672
-      targetPort: 15672
-      protocol: TCP
-      name: tcp-15672
-    - port: 5672
-      targetPort: 5672
-      protocol: TCP
-      name: tcp-5672
-  type: NodePort
-{{ end }}
diff --git a/aether-apps/google-phylo/templates/service-phylo-rtsp-server.yaml b/aether-apps/google-phylo/templates/service-phylo-rtsp-server.yaml
deleted file mode 100644
index a9cdd2d..0000000
--- a/aether-apps/google-phylo/templates/service-phylo-rtsp-server.yaml
+++ /dev/null
@@ -1,36 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{- $context := . -}}
-{{ range .Values.config.phylo.sources }}
-{{- $name := printf "%s-%s" "phylo" .key -}}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: rtsp-server-{{ .key }}-external
-  labels:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple $name $context | include "phylo.metadata_labels" | indent 4 }}
-  ports:
-    - port: 8554
-      targetPort: 8554
-      protocol: TCP
-      name: tcp-8554
-  type: NodePort
-{{ end }}
diff --git a/aether-apps/google-phylo/templates/service-wowza.yaml b/aether-apps/google-phylo/templates/service-wowza.yaml
deleted file mode 100644
index 88e2647..0000000
--- a/aether-apps/google-phylo/templates/service-wowza.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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: Service
-metadata:
-  name: wowza
-  labels:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 4 }}
-  ports:
-    - port: 554 #
-      targetPort: 554
-      protocol: TCP
-      name: tcp-554
-    - port: 1935 # RTMP/RTMPT/RTMPE/RTSP(interleaved)
-      targetPort: 1935
-      protocol: TCP
-      name: tcp-1935
-    - port: 8084 #
-      targetPort: 8084
-      protocol: TCP
-      name: tcp-8084
-    - port: 8085 #
-      targetPort: 8085
-      protocol: TCP
-      name: tcp-8085
-    - port: 8086 #
-      targetPort: 8086
-      protocol: TCP
-      name: tcp-8086
-    - port: 8087 #
-      targetPort: 8087
-      protocol: TCP
-      name: tcp-8087
-    - port: 8088 #
-      targetPort: 8088
-      protocol: TCP
-      name: tcp-8088
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: wowza-external
-  labels:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "wowza" . | include "phylo.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-    - name: management
-      port: 8088
-      protocol: TCP
-      nodePort: 30088
-    - name: rtmp
-      port: 1935 # RTMP/RTMPT/RTMPE/RTSP(interleaved)
-      targetPort: 1935
-      protocol: TCP
-      nodePort: 31935
diff --git a/aether-apps/google-phylo/values.yaml b/aether-apps/google-phylo/values.yaml
deleted file mode 100644
index 8caeb28..0000000
--- a/aether-apps/google-phylo/values.yaml
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    cameraIngestion: registry.central.aetherproject.net/google/phylo-camera-ingestion-client:latest
-    videoAnalyticsServer: registry.central.aetherproject.net/google/phylo-video-analytics-server:latest
-    phyloRabbitmq: registry.central.aetherproject.net/google/phylo-rabbitmq:latest
-    phyloRabbitmqPubsub: registry.central.aetherproject.net/google/phylo-rmq-pubsub:latest
-    rtspServer: registry.central.aetherproject.net/google/phylo_rmq-rtsp-server:0.2.0
-    rmqRestream: registry.central.aetherproject.net/google/phylo-rmq-restream:latest
-    wowza: registry.central.aetherproject.net/google/wowza:latest
-    depCheck: registry.central.aetherproject.net/kubernetes-entrypoint:v0.3.1
-  pullPolicy: "Always"
-
-nodeSelectors:
-  enabled: true
-  phylo:
-    label: google-phylo
-    value: enabled
-  wowza:
-    label: google-phylo
-    value: enabled
-
-resources:
-  enabled: false
-  rtspServer:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-  phyloRabbitmq:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-  phyloRabbitmqPubsub:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-  videoAnalyticsServer:
-    requests:
-      cpu: 5
-      memory: 2048Mi
-    limits:
-      cpu: 5
-      memory: 2048Mi
-  cameraIngestion:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-  wowza:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-
-config:
-  phylo:
-    sources:
-      - key: mystream
-        uri: rtmp://10.93.1.30:31935/live/myStream
-  wowza:
-    replica: 1
diff --git a/aether-apps/infosys-deepstream/Chart.yaml b/aether-apps/infosys-deepstream/Chart.yaml
deleted file mode 100644
index 3e7b7c6..0000000
--- a/aether-apps/infosys-deepstream/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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
-description: Infosys deepstream application for Aether
-name: infosys-deepstream
-
-version: 0.1.0
diff --git a/aether-apps/infosys-deepstream/files/infer_config.txt b/aether-apps/infosys-deepstream/files/infer_config.txt
deleted file mode 100755
index d3b9602..0000000
--- a/aether-apps/infosys-deepstream/files/infer_config.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-[property]
-gpu-id=0
-net-scale-factor=0.0039215697906911373
-model-engine-file=/models/Primary_Detector/resnet10.caffemodel_b1_fp16.engine
-labelfile-path=/models/Primary_Detector/labels.txt
-
-batch-size=1
-process-mode=1
-model-color-format=0
-network-mode=2
-num-detected-classes=4
-interval=2
-gie-unique-id=1
-
-[class-attrs-all]
-threshold=0.2
-group-threshold=1
-eps=0.2
-roi-top-offset=0
-roi-bottom-offset=0
-detected-min-w=0
-detected-min-h=0
-detected-max-w=0
-detected-max-h=0
-
-# Per class configuration
-#Car
-[class-attrs-0]
-threshold=1.0
-group-threshold=1
-eps=0.2
-roi-top-offset=0
-roi-bottom-offset=0
-detected-min-w=0
-detected-min-h=0
-detected-max-w=0
-detected-max-h=0
-
-#Bicycle
-[class-attrs-1]
-threshold=1.0
-group-threshold=1
-eps=0.2
-roi-top-offset=0
-roi-bottom-offset=0
-detected-min-w=0
-detected-min-h=0
-detected-max-w=0
-detected-max-h=0
-
-# Roadsign
-[class-attrs-3]
-threshold=1.0
-group-threshold=1
-eps=0.2
-roi-top-offset=0
-roi-bottom-offset=0
-detected-min-w=0
-detected-min-h=0
-detected-max-w=0
-detected-max-h=0
diff --git a/aether-apps/infosys-deepstream/files/msg_config.txt b/aether-apps/infosys-deepstream/files/msg_config.txt
deleted file mode 100755
index 8c9bcb6..0000000
--- a/aether-apps/infosys-deepstream/files/msg_config.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-## Group 0
-
-[sensor0]
-enable=1
-type=Camera
-id=CSI
-location=45.293701447;-75.8303914499;48.1557479338
-description=CSI Camera
-coordinate=5.2;10.1;11.2
-
-[place0]
-enable=1
-id=0
-type=intersection/road
-name=HWY_20_AND_LOCUST__EBA
-location=30.32;-40.55;100.0
-coordinate=1.0;2.0;3.0
-place-sub-field1=C_127_158
-place-sub-field2=Lane 1
-place-sub-field3=P1
-
-## Group 1
-
-[sensor1]
-enable=1
-type=Camera
-id=RTSP_1
-location=45.293701447;-75.8303914499;48.1557479338
-description=RTSP feed from Mobile Camera
-coordinate=5.2;10.1;11.2
-
-[place1]
-enable=1
-id=0
-type=intersection/road
-name=INT2_HWY_20_AND_LOCUST__EBA
-location=30.32;-40.55;100.0
-coordinate=1.0;2.0;3.0
-place-sub-field1=C_127_158
-place-sub-field2=Lane 1
-place-sub-field3=P1
-
-## Group 2
-
-[sensor2]
-enable=1
-type=Camera
-id=1
-location=45.293701447;-75.8303914499;48.1557479338
-description=Mobile Camera
-coordinate=5.2;10.1;11.2
-
-[place2]
-enable=1
-id=0
-type=intersection/road
-name=INT2_HWY_20_AND_LOCUST__EBA
-location=30.32;-40.55;100.0
-coordinate=1.0;2.0;3.0
-place-sub-field1=C_127_158
-place-sub-field2=Lane 1
-place-sub-field3=P1
-
diff --git a/aether-apps/infosys-deepstream/files/tracker_config.yml b/aether-apps/infosys-deepstream/files/tracker_config.yml
deleted file mode 100755
index 5d2b678..0000000
--- a/aether-apps/infosys-deepstream/files/tracker_config.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-%YAML:1.0
-
-NvDCF:
-  maxTargetsPerStream: 50 # Max number of targets to track per stream. Recommended to set >10. Note: this value should account for the targets being tracked in shadow mode as well. Max value depends on the GPU memory capacity
-
-  filterLr: 0.11 # learning rate for DCF filter in exponential moving average. Valid Range: [0.0, 1.0]
-  gaussianSigma: 0.75 # Standard deviation for Gaussian for desired response when creating DCF filter
-
-  minDetectorConfidence: 0.0 # If the confidence of a detector bbox is lower than this, then it won't be considered for tracking
-  minTrackerConfidence: 0.6 # If the confidence of an object tracker is lower than this on the fly, then it will be tracked in shadow mode. Valid Range: [0.0, 1.0]
-
-  featureImgSizeLevel: 1 # Size of a feature image. Valid range: {1, 2, 3, 4, 5}, from the smallest to the largest
-  SearchRegionPaddingScale: 3 # Search region size. Determines how large the search region should be scaled from the target bbox.  Valid range: {1, 2, 3}, from the smallest to the largest
-
-  maxShadowTrackingAge: 9        # Max length of shadow tracking (the shadow tracking age is incremented when (1) there's detector input yet no match or (2) tracker confidence is lower than minTrackerConfidence). Once reached, the tracker will be terminated.
-  probationAge: 0                # Once the tracker age (incremented at every frame) reaches this, the tracker is considered to be valid
-  earlyTerminationAge: 0         # Early termination age (in terms of shadow tracking age) during the probation period
-
-  minVisibiilty4Tracking: 0.5    # If the visibility of the bbox of a tracker gets lower, then it will be terminated
diff --git a/aether-apps/infosys-deepstream/templates/_helpers.tpl b/aether-apps/infosys-deepstream/templates/_helpers.tpl
deleted file mode 100644
index 8120674..0000000
--- a/aether-apps/infosys-deepstream/templates/_helpers.tpl
+++ /dev/null
@@ -1,36 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "deepstream.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "deepstream.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
diff --git a/aether-apps/infosys-deepstream/templates/config/_amqp_config.txt.tpl b/aether-apps/infosys-deepstream/templates/config/_amqp_config.txt.tpl
deleted file mode 100755
index 15c96bc..0000000
--- a/aether-apps/infosys-deepstream/templates/config/_amqp_config.txt.tpl
+++ /dev/null
@@ -1,28 +0,0 @@
-################################################################################
-# Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
-################################################################################
-[message-broker]
-password = {{ .Values.config.deepstream.amqp.password }}
-hostname = {{ .Values.config.deepstream.amqp.host }}
-username = {{ .Values.config.deepstream.amqp.username }}
-port = {{ .Values.config.deepstream.amqp.port }}
-exchange = amq.topic
-topic = jetson
diff --git a/aether-apps/infosys-deepstream/templates/config/_main_config.txt.tpl b/aether-apps/infosys-deepstream/templates/config/_main_config.txt.tpl
deleted file mode 100755
index 535897d..0000000
--- a/aether-apps/infosys-deepstream/templates/config/_main_config.txt.tpl
+++ /dev/null
@@ -1,94 +0,0 @@
-[application]
-enable-perf-measurement=1
-perf-measurement-interval-sec=5
-
-[tiled-display]
-enable={{ .Values.config.deepstream.display.enabled }}
-rows=1
-columns=1
-width=900
-height=500
-gpu-id=0
-nvbuf-memory-type=4
-
-[source0]
-enable=1
-#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP, 5=CSI
-type=2
-uri={{ .Values.config.deepstream.source }}
-num-sources=1
-#drop-frame-interval=5
-gpu-id=0
-cudadec-memtype=0
-
-[source1]
-enable=0
-#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP, 5=CSI
-type=2
-uri=file:/root/deepstream_sdk_v4.0.2_jetson/samples/streams/sample_1080p_h265.mp4
-num-sources=1
-gpu-id=0
-cudadec-memtype=0
-
-[sink0]
-enable=1
-#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming 5=Overlay
-type=5
-sync=0
-display-id=0
-offset-x=100
-offset-y=0
-width=900
-height=500
-overlay-id=1
-source-id=0
-
-[sink1]
-enable=1
-#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
-type=6
-msg-conv-config=/configs/msg_config.txt
-msg-conv-payload-type=1
-msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_amqp_proto.so
-msg-broker-config=/configs/amqp_config.txt
-
-[osd]
-enable=1
-border-width=1
-text-size=0
-text-color=1;1;1;1;
-text-bg-color=0.3;0.3;0.3;0
-font=Serif
-show-clock=1
-clock-x-offset=10
-clock-y-offset=10
-clock-text-size=12
-clock-color=0;0;0;.8
-
-[streammux]
-live-source=1
-batch-size=1
-batched-push-timeout=40000
-width=1280
-height=720
-
-[primary-gie]
-enable=1
-batch-size=1
-bbox-border-color0=1;0;0;1
-bbox-border-color1=0;1;1;1
-bbox-border-color2=0;0;1;1
-bbox-border-color3=0;1;0;1
-interval=0
-gie-unique-id=1
-config-file=/configs/infer_config.txt
-
-[tracker]
-enable=1
-tracker-width=480
-tracker-height=272
-ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so
-ll-config-file=/configs/tracker_config.yml
-gpu-id=0
-enable-batch-process=1
-
diff --git a/aether-apps/infosys-deepstream/templates/configmap-deepstream.yaml b/aether-apps/infosys-deepstream/templates/configmap-deepstream.yaml
deleted file mode 100644
index 5dad6ab..0000000
--- a/aether-apps/infosys-deepstream/templates/configmap-deepstream.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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: deepstream
-  labels:
-{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 4 }}
-data:
-  main_config.txt: |
-{{ tuple "config/_main_config.txt.tpl" . | include "deepstream.template" | indent 4 }}
-  amqp_config.txt: |
-{{ tuple "config/_amqp_config.txt.tpl" . | include "deepstream.template" | indent 4 }}
-  infer_config.txt: |
-{{ .Files.Get "files/infer_config.txt" | indent 4 }}
-  msg_config.txt: |
-{{ .Files.Get "files/msg_config.txt" | indent 4 }}
-  tracker_config.yml: |
-{{ .Files.Get "files/tracker_config.yml" | indent 4 }}
diff --git a/aether-apps/infosys-deepstream/templates/deployment-deepstream.yaml b/aether-apps/infosys-deepstream/templates/deployment-deepstream.yaml
deleted file mode 100644
index 6684fdc..0000000
--- a/aether-apps/infosys-deepstream/templates/deployment-deepstream.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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: deepstream
-  labels:
-{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "deepstream" . | include "deepstream.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.deepstream.label }}: {{ .Values.nodeSelectors.deepstream.value }}
-    {{- end }}
-      hostNetwork: true
-      containers:
-      - name: deepstream
-        image: {{ .Values.images.tags.deepstreamTx2 }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.deepstream | indent 10 }}
-      {{- end }}
-        env:
-        - name: DISPLAY
-          value: {{ .Values.config.deepstream.display.display }}
-        volumeMounts:
-        - name: configs
-          mountPath: /configs
-          readOnly: true
-        - name: x11-unix
-          mountPath: /tmp/.X11-unix
-        - name: argus-socket
-          mountPath: /tmp/argus_socket
-      volumes:
-      - name: configs
-        configMap:
-          defaultMode: 0644
-          name: deepstream
-      - name: x11-unix
-        hostPath:
-          path: /tmp/.X11-unix
-      - name: argus-socket
-        hostPath:
-          path: /tmp/argus_socket
diff --git a/aether-apps/infosys-deepstream/values.yaml b/aether-apps/infosys-deepstream/values.yaml
deleted file mode 100644
index 76f6d9c..0000000
--- a/aether-apps/infosys-deepstream/values.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    deepstreamTx2: registry.central.aetherproject.net/infosys/deepstream-tx2:0.1
-  pullPolicy: "IfNotPresent"
-
-nodeSelectors:
-  enabled: true
-  deepstream:
-    label: deepstream
-    value: enabled
-
-resources:
-  enabled: false
-  deepstream:
-    requests:
-      cpu: 2
-      memory: 2048Mi
-    limits:
-      cpu: 2
-      memory: 2048Mi
-
-config:
-  deepstream:
-    source: rtsp://10.251.255.241:5554/test
-    # set display to 1 to enalbe and 0 to disable
-    display:
-      display: ":1"
-      enabled: 1
-    amqp:
-      host: 172.16.0.10
-      port: 5672
-      username: admin
-      password: A3ther
diff --git a/comac/Chart.yaml b/comac/Chart.yaml
deleted file mode 100644
index 8b6c3a8..0000000
--- a/comac/Chart.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-name: comac
-description: An umbrella Helm chart for deploying COMAC on CORD platform
-icon: https://guide.opencord.org/logos/cord.svg
-version: 1.0.0
diff --git a/comac/requirements.yaml b/comac/requirements.yaml
deleted file mode 100644
index 5446e09..0000000
--- a/comac/requirements.yaml
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-dependencies:
-- name: base-kubernetes
-  version: 1.2.1
-  repository: https://charts.opencord.org
-- name: mcord-services
-  version: 1.1.8
-  repository: https://charts.opencord.org
-  condition: mcord-services.enabled
-- name: seba-services
-  version: 1.2.8
-  repository: https://charts.opencord.org
-  condition: seba-services.enabled
-- name: onos
-  version: 1.1.3
-  repository: https://charts.opencord.org
-  condition: mcord-services.progran.enabled
-  alias: onos-progran
diff --git a/comac/templates/.gitignore b/comac/templates/.gitignore
deleted file mode 100644
index d6b7ef3..0000000
--- a/comac/templates/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-*
-!.gitignore
diff --git a/comac/values.yaml b/comac/values.yaml
deleted file mode 100644
index e1cf63d..0000000
--- a/comac/values.yaml
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-onos-progran:
-  nameOverride: "onos-progran"
-  images:
-    onos:
-      repository: 'omecproject/onos-progran'
-      tag: '1.0.0'
-  services:
-    openflow:
-      nodePort: 31654
-    ssh:
-      nodePort: 30116
-    ui:
-      nodePort: 30121
-    debugger:
-      nodePort: 30556
-    progran:
-      type: NodePort
-      port: 4010
-      nodePort: 30410
-
-mcord-services:
-  enabled: true
-  onosFabricRestService: "cord-platform-onos-ui.default.svc.cluster.local"
-  onosProgranRestService: "comac-onos-progran-ui.default.svc.cluster.local"
-  progran:
-    image:
-      repository: 'omecproject/progran-synchronizer'
-      tag: 'comac-1.0.0'
-      pullPolicy: 'IfNotPresent'
-    onosProgranRestService: "comac-onos-progran-ui.default.svc.cluster.local"
-  mcord-subscriber:
-    image:
-      repository: 'omecproject/mcord-synchronizer'
-      tag: 'comac-1.0.0'
-      pullPolicy: 'IfNotPresent'
-  onos-service:
-    kafkaService: "cord-platform-kafka"
-    onosRestService: "cord-platform-onos-cord-ui.default.svc.cluster.local"
-    enabled: true
-
-seba-services:
-  enabled: false
-  # Disable onos-service and fabric from SEBA to avoid conflict with MCORD services
-  # Note that Helm 2.15 or higher is required for nested dependency configs work properly
-  onos-service:
-    enabled: false
-  fabric:
-    enabled: false
-
-  onosRestService: "cord-platform-onos-ui.default.svc.cluster.local"
-  kafkaService: "cord-platform-kafka.default.svc.cluster.local:9092"
-  volt:
-    kafkaService: "cord-platform-kafka"
-    volthaRestService: "voltha.voltha.svc.cluster.local"
-    onosRestService: "cord-platform-onos-ui.default.svc.cluster.local"
-  fabric-crossconnect:
-    kafkaService: "cord-platform-kafka"
-  sadis-server:
-    kafkaBroker: "cord-platform-kafka:9092"
-
-base-kubernetes:
-  kubernetes:
-    image:
-      repository: 'omecproject/kubernetes-synchronizer'
-      tag: 'comac-1.0.0'
-      pullPolicy: 'IfNotPresent'
diff --git a/omec/assets/omec-architecture.png b/omec/assets/omec-architecture.png
deleted file mode 100644
index e36d0e8..0000000
--- a/omec/assets/omec-architecture.png
+++ /dev/null
Binary files differ
diff --git a/omec/omec-control-plane/.gitignore b/omec/omec-control-plane/.gitignore
deleted file mode 100644
index ee3892e..0000000
--- a/omec/omec-control-plane/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-charts/
diff --git a/omec/omec-control-plane/.helmignore b/omec/omec-control-plane/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/omec/omec-control-plane/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/omec/omec-control-plane/Chart.yaml b/omec/omec-control-plane/Chart.yaml
deleted file mode 100644
index 49e9cd5..0000000
--- a/omec/omec-control-plane/Chart.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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
-description: OMEC control plane services
-name: omec-control-plane
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.29
diff --git a/omec/omec-control-plane/requirements.yaml b/omec/omec-control-plane/requirements.yaml
deleted file mode 100644
index ec39473..0000000
--- a/omec/omec-control-plane/requirements.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-dependencies:
-  - name: cassandra
-    version: 0.13.1
-    repository: https://kubernetes-charts-incubator.storage.googleapis.com/
-    condition: cassandra.deploy
diff --git a/omec/omec-control-plane/templates/NOTES.txt b/omec/omec-control-plane/templates/NOTES.txt
deleted file mode 100644
index a5a7136..0000000
--- a/omec/omec-control-plane/templates/NOTES.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-{{- /*
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-*/ -}}
-
-This is the instruction to configure your eNodeB to work with ONF M-CORD. You can find architecture illustration in assets/mcord-architecture.png.
-
-1. Configure eNodeB with the correct MME information.
-    export MMEIP=[node IP]
-    export MMEPORT="36412"
-
-    You can change MMEPORT by overriding "Values.config.mme.s1ap.sctp_port_external".
-
-2. Make sure UE's SIM card information is configured in hss.yaml.
-
-3. Attach UE to OMEC.
diff --git a/omec/omec-control-plane/templates/_helpers.tpl b/omec/omec-control-plane/templates/_helpers.tpl
deleted file mode 100644
index bb98547..0000000
--- a/omec/omec-control-plane/templates/_helpers.tpl
+++ /dev/null
@@ -1,132 +0,0 @@
-{{- /*
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "omec-control-plane.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "omec-control-plane.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Return domain name for Diameter identity, realm, and hostname for a given application.
-*/}}
-{{- define "omec-control-plane.diameter_endpoint" -}}
-{{- $service := index . 0 -}}
-{{- $type := index . 1 -}}
-{{- $context := index . 2 -}}
-{{- if eq $type "identity" -}}
-{{- printf "%s.%s.svc.%s" $service $context.Release.Namespace $context.Values.config.clusterDomain -}}
-{{- else if eq $type "realm" -}}
-{{- printf "%s.svc.%s" $context.Release.Namespace $context.Values.config.clusterDomain -}}
-{{- else if eq $type "host" -}}
-{{- printf "%s" $service -}}
-{{- end -}}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "omec-control-plane.service_account" -}}
-{{- $context := index . 1 -}}
-{{- $saName := index . 0 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "omec-control-plane.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "omec-control-plane.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "omec-control-plane.metadata_labels" | indent 4 }}
-rules:
-  - apiGroups:
-      - ""
-      - extensions
-      - batch
-      - apps
-    verbs:
-      - get
-      - list
-      - patch
-    resources:
-      - statefulsets
-      - daemonsets
-      - jobs
-      - pods
-      - services
-      - endpoints
-      - configmaps
-{{- end -}}
-
-{{/*
-Render init container for coredump.
-*/}}
-{{- define "omec-control-plane.coredump_init" -}}
-{{- $pod := index . 0 -}}
-{{- $context := index . 1 -}}
-- name: {{ $pod }}-coredump-init
-  image: {{ $context.Values.images.tags.init | quote }}
-  imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-  securityContext:
-    privileged: true
-    runAsUser: 0
-  command: ["bash", "-xc"]
-  args:
-    - echo '/tmp/coredump/core.%h.%e.%t' > /mnt/host-rootfs/proc/sys/kernel/core_pattern
-  volumeMounts:
-    - name: host-rootfs
-      mountPath: /mnt/host-rootfs
-{{- end -}}
diff --git a/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl b/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl
deleted file mode 100644
index ebbddf2..0000000
--- a/omec/omec-control-plane/templates/bin/_hss-bootstrap.sh.tpl
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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 -ex
-
-function provision_users() {
-    count=${1}
-    imsi=${2}
-    msisdn=${3}
-    apn=${4}
-    key=${5}
-    opc=${6}
-    sqn=${7}
-    cassandra_ip=${8}
-    mmeidentity=${9}
-    mmerealm=${10}
-
-    for (( i=1; i<=$count; i++ ))
-    do
-        echo "IMSI=$imsi MSISDN=$msisdn"
-        cqlsh $cassandra_ip -e "INSERT INTO vhss.users_imsi (imsi, msisdn, access_restriction, key, opc, mmehost, mmeidentity_idmmeidentity, mmerealm, rand, sqn, subscription_data) VALUES ('$imsi', $msisdn, 41, '$key', '$opc','$mmeidentity', 3, '$mmerealm', '2683b376d1056746de3b254012908e0e', $sqn, '{\"Subscription-Data\":{\"Access-Restriction-Data\":41,\"Subscriber-Status\":0,\"Network-Access-Mode\":2,\"Regional-Subscription-Zone-Code\":[\"0x0123\",\"0x4567\",\"0x89AB\",\"0xCDEF\",\"0x1234\",\"0x5678\",\"0x9ABC\",\"0xDEF0\",\"0x2345\",\"0x6789\"],\"MSISDN\":\"0x$msisdn\",\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"APN-Configuration-Profile\":{\"Context-Identifier\":0,\"All-APN-Configurations-Included-Indicator\":0,\"APN-Configuration\":{\"Context-Identifier\":0,\"PDN-Type\":0,\"Served-Party-IP-Address\":[\"0.0.0.0\"],\"Service-Selection\":\"$apn\",\"EPS-Subscribed-QoS-Profile\":{\"QoS-Class-Identifier\":9,\"Allocation-Retention-Priority\":{\"Priority-Level\":15,\"Pre-emption-Capability\":0,\"Pre-emption-Vulnerability\":0}},\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"PDN-GW-Allocation-Type\":0,\"MIP6-Agent-Info\":{\"MIP-Home-Agent-Address\":[\"172.26.17.183\"]}}},\"Subscribed-Periodic-RAU-TAU-Timer\":0}}');"
-
-        if [ $? -ne 0 ];then
-           echo -e "oops! Something went wrong adding $imsi to vhss.users_imsi!\n"
-           exit 1
-        fi
-
-        cqlsh $cassandra_ip -e "INSERT INTO vhss.msisdn_imsi (msisdn, imsi) VALUES ($msisdn, '$imsi');"
-        if [ $? -ne 0 ];then
-           echo -e "oops! Something went wrong adding $imsi to vhss.msisdn_imsi!\n"
-           exit 1
-        fi
-
-        echo -e "Added $imsi\n"
-
-        imsi=`expr $imsi + 1`;
-        msisdn=`expr $msisdn + 1`
-    done
-}
-
-function provision_staticusers() {
-    imsi=${1}
-    msisdn=${2}
-    apn=${3}
-    key=${4}
-    opc=${5}
-    sqn=${6}
-    cassandra_ip=${7}
-    mmeidentity=${8}
-    mmerealm=${9}
-    staticAddr=${10}
-
-    echo "IMSI=$imsi MSISDN=$msisdn"
-    cqlsh $cassandra_ip -e "INSERT INTO vhss.users_imsi (imsi, msisdn, access_restriction, key, opc, mmehost, mmeidentity_idmmeidentity, mmerealm, rand, sqn, subscription_data) VALUES ('$imsi', $msisdn, 41, '$key', '$opc','$mmeidentity', 3, '$mmerealm', '2683b376d1056746de3b254012908e0e', $sqn, '{\"Subscription-Data\":{\"Access-Restriction-Data\":41,\"Subscriber-Status\":0,\"Network-Access-Mode\":2,\"Regional-Subscription-Zone-Code\":[\"0x0123\",\"0x4567\",\"0x89AB\",\"0xCDEF\",\"0x1234\",\"0x5678\",\"0x9ABC\",\"0xDEF0\",\"0x2345\",\"0x6789\"],\"MSISDN\":\"0x$msisdn\",\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"APN-Configuration-Profile\":{\"Context-Identifier\":0,\"All-APN-Configurations-Included-Indicator\":0,\"APN-Configuration\":{\"Context-Identifier\":0,\"PDN-Type\":0,\"Served-Party-IP-Address\":[\"$staticAddr\"],\"Service-Selection\":\"$apn\",\"EPS-Subscribed-QoS-Profile\":{\"QoS-Class-Identifier\":9,\"Allocation-Retention-Priority\":{\"Priority-Level\":15,\"Pre-emption-Capability\":0,\"Pre-emption-Vulnerability\":0}},\"AMBR\":{\"Max-Requested-Bandwidth-UL\":50000000,\"Max-Requested-Bandwidth-DL\":100000000},\"PDN-GW-Allocation-Type\":0,\"MIP6-Agent-Info\":{\"MIP-Home-Agent-Address\":[\"172.26.17.183\"]}}},\"Subscribed-Periodic-RAU-TAU-Timer\":0}}');"
-
-    cqlsh $cassandra_ip -e "INSERT INTO vhss.msisdn_imsi (msisdn, imsi) VALUES ($msisdn, '$imsi');"
-    echo -e "Added $imsi\n"
-}
-
-function provision_mme() {
-    id=$1
-    isdn=$2
-    host=$3
-    realm=$4
-    uereachability=$5
-    cassandra_ip=$6
-
-    cqlsh $cassandra_ip -e "INSERT INTO vhss.mmeidentity (idmmeidentity, mmeisdn, mmehost, mmerealm, ue_reachability) VALUES ($id, '$isdn', '$host', '$realm', $uereachability);"
-    if [ $? -ne 0 ];then
-       echo -e "oops! Something went wrong adding to vhss.mmeidentity!\n"
-       exit 1
-    fi
-
-    cqlsh $cassandra_ip -e "INSERT INTO vhss.mmeidentity_host (idmmeidentity, mmeisdn, mmehost, mmerealm, ue_reachability) VALUES ($id, '$isdn', '$host', '$realm', $uereachability);"
-    if [ $? -ne 0 ];then
-       echo -e "oops! Something went wrong adding to vhss.mmeidentity_host!\n"
-       exit 1
-    fi
-
-    echo -e "Added mme $id\n"
-}
-
-mme_identity={{ tuple "mme" "identity" . | include "omec-control-plane.diameter_endpoint" }}
-mme_realm={{ tuple "mme" "realm" . | include "omec-control-plane.diameter_endpoint" }}
-
-{{- range .Values.config.hss.bootstrap.users }}
-provision_users \
-    {{ .count }} \
-    {{ .imsiStart }} \
-    {{ .msisdnStart }} \
-    {{ $.Values.config.hss.bootstrap.apn }} \
-    {{ $.Values.config.hss.bootstrap.key }} \
-    {{ $.Values.config.hss.bootstrap.opc }} \
-    {{ $.Values.config.hss.bootstrap.sqn }} \
-    {{ $.Values.config.hss.hssdb }} \
-    $mme_identity \
-    $mme_realm
-{{- end }}
-
-{{- range .Values.config.hss.bootstrap.staticusers }}
-provision_staticusers \
-    {{ .imsi }} \
-    {{ .msisdn }} \
-    {{ $.Values.config.hss.bootstrap.apn }} \
-    {{ $.Values.config.hss.bootstrap.key }} \
-    {{ $.Values.config.hss.bootstrap.opc }} \
-    {{ $.Values.config.hss.bootstrap.sqn }} \
-    {{ $.Values.config.hss.hssdb }} \
-    $mme_identity \
-    $mme_realm \
-    {{ .staticAddr }} 
-{{- end }}
-
-{{- range .Values.config.hss.bootstrap.mmes }}
-provision_mme \
-    {{ .id }} \
-    {{ .isdn }} \
-    $mme_identity \
-    $mme_realm \
-    {{ .unreachability }} \
-    {{ $.Values.config.hss.hssdb }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl b/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl
deleted file mode 100644
index a391541..0000000
--- a/omec/omec-control-plane/templates/bin/_hss-run.sh.tpl
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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 -ex
-
-{{- if .Values.config.coreDump.enabled }}
-cp /bin/hss /tmp/coredump/
-{{- end }}
-
-CONF_DIR="/opt/c3po/hss/conf"
-LOGS_DIR="/opt/c3po/hss/logs"
-mkdir -p $CONF_DIR $LOGS_DIR
-
-cp /etc/hss/conf/{acl.conf,hss.json,hss.conf,oss.json} $CONF_DIR
-cat $CONF_DIR/{hss.json,hss.conf}
-
-cd $CONF_DIR
-make_certs.sh {{ tuple "hss" "host" . | include "omec-control-plane.diameter_endpoint" }} {{ tuple "hss" "realm" . | include "omec-control-plane.diameter_endpoint" }}
-
-cd ..
-hss -j $CONF_DIR/hss.json
diff --git a/omec/omec-control-plane/templates/bin/_mme-init.sh.tpl b/omec/omec-control-plane/templates/bin/_mme-init.sh.tpl
deleted file mode 100644
index 76948b7..0000000
--- a/omec/omec-control-plane/templates/bin/_mme-init.sh.tpl
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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 -ex
-
-cp /opt/mme/config/config.json /opt/mme/config/shared/config.json
-cd /opt/mme/config/shared
-
-# Set local IP address for s1ap and s11 networks to the config
-jq --arg MME_LOCAL_IP "$POD_IP" '.mme.ip_addr=$MME_LOCAL_IP' config.json > config.tmp && mv config.tmp config.json
-jq --arg MME_LOCAL_IP "$POD_IP" '.s1ap.s1ap_local_addr=$MME_LOCAL_IP' config.json > config.tmp && mv config.tmp config.json
-jq --arg MME_LOCAL_IP "$POD_IP" '.s11.egtp_local_addr=$MME_LOCAL_IP' config.json > config.tmp && mv config.tmp config.json
-
-# Set SPGWC address to the config
-# We need to convert service domain name to actual IP address
-# because mme apps does not take domain address - should be fixed in openmme
-SPGWC_ADDR=$(dig +short +search {{ .Values.config.mme.spgwAddr }})
-jq --arg SPGWC_ADDR "$SPGWC_ADDR" '.s11.sgw_addr //= $SPGWC_ADDR' config.json > config.tmp && mv config.tmp config.json
-jq --arg SPGWC_ADDR "$SPGWC_ADDR" '.s11.pgw_addr //= $SPGWC_ADDR' config.json > config.tmp && mv config.tmp config.json
-
-# Add additional redundant keys - should be fixed in openmme
-HSS_TYPE=$(jq -r '.s6a.host_type' config.json)
-HSS_HOST=$(jq -r '.s6a.host' config.json)
-jq --arg HSS_TYPE "$HSS_TYPE" '.s6a.hss_type=$HSS_TYPE' config.json > config.tmp && mv config.tmp config.json
-jq --arg HSS_HOST "$HSS_HOST" '.s6a.host_name=$HSS_HOST' config.json > config.tmp && mv config.tmp config.json
-
-# Copy the final configs for each applications
-cp /opt/mme/config/shared/config.json /opt/mme/config/shared/mme.json
-cp /opt/mme/config/shared/config.json /opt/mme/config/shared/s11.json
-cp /opt/mme/config/shared/config.json /opt/mme/config/shared/s1ap.json
-cp /opt/mme/config/shared/config.json /opt/mme/config/shared/s6a.json
-cp /opt/mme/config/s6a_fd.conf /opt/mme/config/shared/s6a_fd.conf
-cp /opt/mme/config/mme_exporter.json /opt/mme/config/shared/mme_exporter.json
-
-#This multiple copies of config needs some cleanup. For now I want 
-#that after running mme_init config to be present in the target directory
-cp /opt/mme/config/shared/* /openmme/target/conf/
-
-# Generate certs
-MME_IDENTITY={{ tuple "mme" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }};
-DIAMETER_HOST=$(echo $MME_IDENTITY | cut -d'.' -f1)
-DIAMETER_REALM={{ tuple "mme" "realm" . | include "omec-control-plane.diameter_endpoint" | quote }};
-
-cp /openmme/target/conf/make_certs.sh /opt/mme/config/shared/make_certs.sh
-cd /opt/mme/config/shared
-./make_certs.sh $DIAMETER_HOST $DIAMETER_REALM
diff --git a/omec/omec-control-plane/templates/bin/_mme-run.sh.tpl b/omec/omec-control-plane/templates/bin/_mme-run.sh.tpl
deleted file mode 100644
index f1b937c..0000000
--- a/omec/omec-control-plane/templates/bin/_mme-run.sh.tpl
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-APPLICATION=$1
-
-{{- if .Values.config.coreDump.enabled }}
-cp /openmme/target/bin/$APPLICATION /tmp/coredump/
-{{- end }}
-
-# copy config files to openmme target directly
-cp /opt/mme/config/shared/* /openmme/target/conf/
-
-cd /openmme/target
-export LD_LIBRARY_PATH=/usr/local/lib:./lib
-
-case $APPLICATION in
-    "mme-app")
-      echo "Starting mme-app"
-      echo "conf/mme.json"
-      cat conf/mme.json
-      ./bin/mme-app
-      ;;
-    "s1ap-app")
-      echo "Starting s1ap-app"
-      echo "conf/s1ap.json"
-      cat conf/s1ap.json
-      ./bin/s1ap-app
-      ;;
-    "s6a-app")
-      echo "Starting s6a-app"
-      echo "conf/s6a.json"
-      cat conf/s6a.json
-      echo "conf/s6a_fd.conf"
-      cat conf/s6a_fd.conf
-      ./bin/s6a-app
-      ;;
-    "s11-app")
-      echo "Starting s11-app"
-      echo "conf/s11.json"
-      cat conf/s11.json
-      ./bin/s11-app
-      ;;
-    *)
-      echo "invalid app $APPLICATION"
-      ;;
-esac
diff --git a/omec/omec-control-plane/templates/bin/_spgwc-run.sh.tpl b/omec/omec-control-plane/templates/bin/_spgwc-run.sh.tpl
deleted file mode 100644
index 9dfa29f..0000000
--- a/omec/omec-control-plane/templates/bin/_spgwc-run.sh.tpl
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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 -xe
-
-{{- if .Values.config.coreDump.enabled }}
-cp /bin/ngic_controlplane /tmp/coredump/
-{{- end }}
-
-mkdir -p /opt/cp/config
-cd /opt/cp/config
-
-cp /etc/cp/config/{adc_rules.cfg,cp_config.cfg,interface.cfg,meter_profile.cfg,pcc_rules.cfg,sdf_rules.cfg,app_config.cfg} .
-sed -i "s/CP_ADDR/$POD_IP/g" interface.cfg
-
-. cp_config.cfg
-ngic_controlplane $EAL_ARGS -- $APP_ARGS
diff --git a/omec/omec-control-plane/templates/configmap-hss.yaml b/omec/omec-control-plane/templates/configmap-hss.yaml
deleted file mode 100644
index c831c87..0000000
--- a/omec/omec-control-plane/templates/configmap-hss.yaml
+++ /dev/null
@@ -1,110 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-
-Default values for mcord-vepc-helm.
-This is a YAML-formatted file.
-Declare variables to be passed into your templates.
-*/}}
-
-{{- $hssJson := index .Values.config.hss.cfgFiles "hss.json" }}
-{{- $hssJsonCommon := index $hssJson "common" }}
-{{- $hssJsonHss := index $hssJson "hss" }}
-
-{{- if not (hasKey $hssJsonCommon "originhost") -}}
-{{- $_ := tuple "hss" "identity" . | include "omec-control-plane.diameter_endpoint" | set $hssJsonCommon "originhost" -}}
-{{- end }}
-{{- if not (hasKey $hssJsonCommon "originrealm") -}}
-{{- $_ := tuple "hss" "realm" . | include "omec-control-plane.diameter_endpoint" | set $hssJsonCommon "originrealm" -}}
-{{- end }}
-{{- if not (hasKey $hssJsonHss "casssrv") -}}
-{{- $_ := .Values.cassandra.fullnameOverride | set $hssJsonHss "casssrv" -}}
-{{- end }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-data:
-  acl.conf: |
-  {{- if hasKey .Values.config.hss.acl "oldTls" }}
-    ALLOW_OLD_TLS {{ .Values.config.hss.acl.oldTls }}
-  {{- end }}
-  {{- if hasKey .Values.config.hss.acl "ipSec" }}
-    ALLOW_IPSEC {{ .Values.config.hss.acl.ipSec }}
-  {{- end }}
-  hss.conf: |
-    Identity = {{ tuple "hss" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }};
-    Realm = {{ tuple "hss" "realm" . | include "omec-control-plane.diameter_endpoint" | quote }};
-    TLS_Cred = "/opt/c3po/hss/conf/{{ tuple "hss" "host" . | include "omec-control-plane.diameter_endpoint" }}.cert.pem",
-               "/opt/c3po/hss/conf/{{ tuple "hss" "host" . | include "omec-control-plane.diameter_endpoint" }}.key.pem";
-    TLS_CA = "/opt/c3po/hss/conf/cacert.pem";
-    No_SCTP;
-    Prefer_TCP;
-    No_IPv6;
-    SCTP_streams = 3;
-    NoRelay;
-    AppServThreads = 4;
-    Port = 3868;
-    SecPort = 5868;
-    LoadExtension = "/usr/local/lib/freeDiameter/acl_wl.fdx" : "/opt/c3po/hss/conf/acl.conf";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
-  hss-run.sh: |
-{{ tuple "bin/_hss-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
-  hss-bootstrap.sh: |
-{{ tuple "bin/_hss-bootstrap.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
-{{- range $key, $value := .Values.config.hss.cfgFiles }}
-  {{ $key }}: {{ toJson $value | quote }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/configmap-mme.yaml b/omec/omec-control-plane/templates/configmap-mme.yaml
deleted file mode 100644
index 139ec8c..0000000
--- a/omec/omec-control-plane/templates/configmap-mme.yaml
+++ /dev/null
@@ -1,97 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{- $configJson := index .Values.config.mme.cfgFiles "config.json" }}
-{{- $configJsonS6a := index $configJson "s6a" }}
-
-{{- if not (hasKey $configJsonS6a "host") -}}
-{{- $_ := tuple "hss" "identity" . | include "omec-control-plane.diameter_endpoint" | set $configJsonS6a "host" -}}
-{{- end }}
-{{- if not (hasKey $configJsonS6a "realm") -}}
-{{- $_ := tuple "hss" "realm" . | include "omec-control-plane.diameter_endpoint" | set $configJsonS6a "realm" -}}
-{{- end }}
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: mme
-  labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-data:
-  s6a_fd.conf: |
-    Identity = {{ tuple "mme" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }};
-    Realm = {{ tuple "mme" "realm" . | include "omec-control-plane.diameter_endpoint" | quote }};
-    TLS_Cred = "conf/{{ tuple "mme" "host" . | include "omec-control-plane.diameter_endpoint" }}.cert.pem",
-               "conf/{{ tuple "mme" "host" . | include "omec-control-plane.diameter_endpoint" }}.key.pem";
-    TLS_CA = "conf/cacert.pem";
-    AppServThreads = 40;
-    SCTP_streams = 3;
-    NoRelay;
-    No_IPv6;
-    #Port = 3868;
-    #SecPort = 3869;
-
-    ConnectPeer = {{ tuple "hss" "identity" . | include "omec-control-plane.diameter_endpoint" | quote }} { No_TLS; port = 3868; };
-
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_3gpp2_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_draftload_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_etsi283034_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4004_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4006bis_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4072_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc4590_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5447_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5580_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5777_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc5778_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6734_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc6942_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7155_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7683_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_rfc7944_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29061_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29128_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29154_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29173_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29212_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29214_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29215_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29217_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29229_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29272_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29273_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29329_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29336_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29337_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29338_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29343_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29344_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29345_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29368_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts29468_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_ts32299_avps.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6as6d.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6c.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_S6t.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_SGd.fdx";
-    LoadExtension = "/usr/local/lib/freeDiameter/dict_T6aT6bT7.fdx";
-  mme-init.sh: |
-{{ tuple "bin/_mme-init.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
-  mme-run.sh: |
-{{ tuple "bin/_mme-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
-{{- range $key, $value := .Values.config.mme.cfgFiles }}
-  {{ $key }}: {{ toJson $value | quote }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/configmap-spgwc.yaml b/omec/omec-control-plane/templates/configmap-spgwc.yaml
deleted file mode 100644
index bc71b34..0000000
--- a/omec/omec-control-plane/templates/configmap-spgwc.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: spgwc
-  labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-data:
-  cp_config.cfg: |
-    if [ ! -d "/dev/hugepages" ]; then
-        MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
-    fi
-    CORES="-c $(taskset -p $$ | awk '{print $NF}')"
-    EAL_ARGS="${CORES} ${MEMORY} --no-pci"
-
-    MGMT_INFO="-s ${POD_IP} -w {{ .Values.config.spgwc.s1uAddr }}"
-    APN_INFO="-i {{ .Values.config.spgwc.ueIpPool.ip }} -p {{ .Values.config.spgwc.ueIpPool.mask }} -a {{ .Values.config.spgwc.apn }}"
-    MISC="-l 2"
-    SPGW_CFG="-d 03"
-
-{{- if .Values.config.spgwc.multiUpfs }}
-    CONFIG_UPDATE_FOLDER="-f /etc/cp/config/"
-    APP_ARGS="${MGMT_INFO} ${APN_INFO} ${MISC} ${SPGW_CFG} ${CONFIG_UPDATE_FOLDER}"
-{{- else }}
-    APP_ARGS="${MGMT_INFO} ${APN_INFO} ${MISC} ${SPGW_CFG} "
-{{- end }}
-  interface.cfg: |
-    [0]
-    zmq_protocol = tcp
-    cp_comm_ip = CP_ADDR
-    cp_comm_port = 21
-{{- if .Values.config.spgwc.multiUpfs }}
-    cp_nb_ip = CP_ADDR
-    cp_nb_port = 21
-    dp_comm_ip = 127.0.0.1
-    dp_comm_port = 20
-{{- else }}
-    dp_comm_ip = {{ .Values.config.spgwc.dpComm.addr }}
-    dp_comm_port = {{ .Values.config.spgwc.dpComm.port }}
-{{- end }}
-  spgwc-run.sh: |
-{{ tuple "bin/_spgwc-run.sh.tpl" . | include "omec-control-plane.template" | indent 4 }}
-{{- range $key, $value := .Values.config.spgwc.cfgFiles }}
-  {{ $key }}: |-
-{{ $value | indent 4 }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/job-hss-bootstrap.yaml b/omec/omec-control-plane/templates/job-hss-bootstrap.yaml
deleted file mode 100644
index 03ac80d..0000000
--- a/omec/omec-control-plane/templates/job-hss-bootstrap.yaml
+++ /dev/null
@@ -1,74 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{- if .Values.config.hss.bootstrap }}
----
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: job-hss-bootstrap
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  template:
-    metadata:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
-    {{- end }}
-      restartPolicy: OnFailure
-      serviceAccountName: hss
-      initContainers:
-      - name: job-bootstrap-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_JOBS
-            value: job-hss-db-sync
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-      containers:
-      - name: hss-bootstrap
-        image: {{ .Values.images.tags.hssdb }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: ["/opt/c3po/hss/hss-bootstrap.sh"]
-        volumeMounts:
-        - name: hss-script
-          mountPath: /opt/c3po/hss/hss-bootstrap.sh
-          subPath: hss-bootstrap.sh
-      volumes:
-      - name: hss-script
-        configMap:
-          name: hss
-          defaultMode: 493
-{{- end }}
diff --git a/omec/omec-control-plane/templates/job-hss-db-sync.yaml b/omec/omec-control-plane/templates/job-hss-db-sync.yaml
deleted file mode 100644
index 17f3213..0000000
--- a/omec/omec-control-plane/templates/job-hss-db-sync.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: batch/v1
-kind: Job
-metadata:
-  name: job-hss-db-sync
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  template:
-    metadata:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
-    {{- end }}
-      restartPolicy: OnFailure
-      serviceAccountName: hss
-      initContainers:
-    {{- if .Values.cassandra.deploy }}
-      - name: job-db-sync-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_SERVICE
-            value: {{ .Values.config.hss.hssdb }}
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-    {{- end }}
-      containers:
-        - name: hss-db-sync
-          image: {{ .Values.images.tags.hssdb }}
-          imagePullPolicy: {{ .Values.images.pullPolicy }}
-          command: ["bash", "-xc"]
-          args:
-            - until cqlsh --file /opt/c3po/hssdb/oai_db.cql {{ .Values.config.hss.hssdb }}; do echo "Provisioning HSSDB"; sleep 2;done
diff --git a/omec/omec-control-plane/templates/service-hss.yaml b/omec/omec-control-plane/templates/service-hss.yaml
deleted file mode 100644
index 14bfbda..0000000
--- a/omec/omec-control-plane/templates/service-hss.yaml
+++ /dev/null
@@ -1,63 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: s6a
-    port: 3868
-    protocol: TCP
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: hss-headless
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  clusterIP: None
-  ports:
-  - name: s6a
-    port: 3868
-    protocol: TCP
-{{- if .Values.config.hss.s6a.nodePort.enabled }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: hss-external
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: s6a
-    port: 3868
-    protocol: TCP
-    nodePort: {{ .Values.config.hss.s6a.nodePort.port }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/service-mme.yaml b/omec/omec-control-plane/templates/service-mme.yaml
deleted file mode 100644
index 0e52bac..0000000
--- a/omec/omec-control-plane/templates/service-mme.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{- $configJson := index .Values.config.mme.cfgFiles "config.json" }}
-{{- $configJsonS11 := index $configJson "s11" }}
-{{- $configJsonS1ap := index $configJson "s1ap" }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: mme
-  labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  type: ClusterIP
-  ports:
-    - name: s11
-      port: {{ index $configJsonS11 "egtp_default_port" }}
-      protocol: UDP
-    - name: s6a
-      port: 3868
-      protocol: TCP
-    - name: s1ap
-      port: {{ index $configJsonS1ap "sctp_port" }}
-      protocol: SCTP
-{{- if .Values.prometheusExporter.mme.enabled }}
-    - name: exporter
-      port: 3081
-      protocol: TCP
-{{- end }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: mme-headless
-  labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  clusterIP: None
-  ports:
-    - name: s11
-      port: {{ index $configJsonS11 "egtp_default_port" }}
-      protocol: UDP
-    - name: s6a
-      port: 3868
-      protocol: TCP
-    - name: s1ap
-      port: {{ index $configJsonS1ap "sctp_port" }}
-      protocol: SCTP
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: mme-external
-  labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  {{- if .Values.config.mme.s11.nodePort.enabled }}
-    - name: s11
-      port: {{ index $configJsonS11 "egtp_default_port" }}
-      protocol: UDP
-      nodePort: {{ .Values.config.mme.s11.nodePort.port }}
-  {{- end }}
-  {{- if .Values.config.mme.s6a.nodePort.enabled }}
-    - name: s6a
-      port: 3868
-      protocol: TCP
-      nodePort: {{ .Values.config.mme.s6a.nodePort.port }}
-  {{- end }}
-    - name: s1ap
-      port: {{ index $configJsonS1ap "sctp_port" }}
-      nodePort: {{ index $configJsonS1ap "sctp_port_external" }}
-      protocol: SCTP
-  {{- if .Values.prometheusExporter.mme.enabled }}
-    - name: exporter
-      port: 3081
-      nodePort: {{ .Values.prometheusExporter.mme.port }}
-      protocol: TCP
-  {{- end }}
diff --git a/omec/omec-control-plane/templates/service-spgwc.yaml b/omec/omec-control-plane/templates/service-spgwc.yaml
deleted file mode 100644
index fe1e68c..0000000
--- a/omec/omec-control-plane/templates/service-spgwc.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: spgwc
-  labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  type: ClusterIP
-  selector:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: cp-comm
-    port: {{ .Values.config.spgwc.cpComm.port }}
-{{- if .Values.config.spgwc.multiUpfs }}
-    protocol: TCP
-{{- else }}
-    protocol: UDP
-{{- end }}
-  - name: s11
-    port: {{ .Values.config.spgwc.s11.port }}
-    protocol: UDP
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: spgwc-headless
-  labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  clusterIP: None
-  selector:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: cp-comm
-    port: {{ .Values.config.spgwc.cpComm.port }}
-{{- if .Values.config.spgwc.multiUpfs }}
-    protocol: TCP
-{{- else }}
-    protocol: UDP
-{{- end }}
-  - name: s11
-    port: {{ .Values.config.spgwc.s11.port }}
-    protocol: UDP
-{{- if not .Values.config.spgwc.multiUpfs }}
-{{- if or .Values.config.spgwc.cpComm.nodePort.enabled .Values.config.spgwc.s11.nodePort.enabled }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: spgwc-external
-  labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  type: NodePort
-  selector:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-  ports:
-{{- if .Values.config.spgwc.cpComm.nodePort.enabled }}
-  - name: cp-comm
-    port: {{ .Values.config.spgwc.cpComm.port }}
-    protocol: TCP
-{{- end }}
-{{- if .Values.config.spgwc.s11.nodePort.enabled }}
-  - name: s11
-    port: {{ .Values.config.spgwc.s11.port }}
-    protocol: UDP
-{{- end }}
-{{- end }}
-{{- end }}
diff --git a/omec/omec-control-plane/templates/statefulset-hss.yaml b/omec/omec-control-plane/templates/statefulset-hss.yaml
deleted file mode 100644
index dc461b8..0000000
--- a/omec/omec-control-plane/templates/statefulset-hss.yaml
+++ /dev/null
@@ -1,118 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-
-Default values for mcord-vepc-helm.
-This is a YAML-formatted file.
-Declare variables to be passed into your templates.
-*/}}
-
-{{ tuple "hss" . | include "omec-control-plane.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: hss
-  labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  serviceName: hss-headless
-  selector:
-    matchLabels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "hss" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.hss.label }}: {{ .Values.nodeSelectors.hss.value }}
-    {{- end }}
-      serviceAccountName: hss
-      initContainers:
-      - name: hss-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_JOBS
-          {{- if .Values.config.hss.bootstrap }}
-            value: job-hss-db-sync,job-hss-bootstrap
-          {{- else }}
-            value: job-hss-db-sync
-          {{- end }}
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-    {{- if .Values.config.coreDump.enabled }}
-{{ tuple "hss" . | include "omec-control-plane.coredump_init" | indent 6 }}
-    {{- end }}
-      containers:
-      - name: hss
-        image: {{ .Values.images.tags.hss }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        stdin: true
-        tty: true
-        command: ["bash", "-c", "/opt/c3po/hss/hss-run.sh; sleep 3600"]
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.hss | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: hss-script
-          mountPath: /opt/c3po/hss/hss-run.sh
-          subPath: hss-run.sh
-        - name: hss-config
-          mountPath: /etc/hss/conf
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-      volumes:
-      - name: hss-script
-        configMap:
-          name: hss
-          defaultMode: 493
-      - name: hss-config
-        configMap:
-          name: hss
-          defaultMode: 420
-    {{- if .Values.config.coreDump.enabled }}
-      - name: host-rootfs
-        hostPath:
-          path: /
-      - name: coredump
-        hostPath:
-          path: {{ .Values.config.coreDump.path }}
-    {{- end }}
diff --git a/omec/omec-control-plane/templates/statefulset-mme.yaml b/omec/omec-control-plane/templates/statefulset-mme.yaml
deleted file mode 100644
index 3560344..0000000
--- a/omec/omec-control-plane/templates/statefulset-mme.yaml
+++ /dev/null
@@ -1,278 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "mme" . | include "omec-control-plane.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: mme
-  labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  serviceName: mme-headless
-  selector:
-    matchLabels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "mme" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.mme.label }}: {{ .Values.nodeSelectors.mme.value }}
-    {{- end }}
-      serviceAccountName: mme
-      initContainers:
-      - name: mme-load-sctp-module
-        image: {{ .Values.images.tags.init | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-        command: ["bash", "-xc"]
-        args:
-        - |
-          if chroot /mnt/host-rootfs modinfo nf_conntrack_proto_sctp > /dev/null 2>&1; then \
-              chroot /mnt/host-rootfs modprobe nf_conntrack_proto_sctp; \
-          fi;
-          chroot /mnt/host-rootfs modprobe tipc
-        volumeMounts:
-        - name: host-rootfs
-          mountPath: /mnt/host-rootfs
-      - name: mme-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: POD_NAME
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.name
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_POD_JSON
-            value: '[{"labels": {"app": "hss"}, "requireSameNode": false}]'
-          # add dependency job for make_certs.sh
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-      - name: mme-init
-        image: {{ .Values.images.tags.mme | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: ["/opt/mme/scripts/mme-init.sh"]
-        env:
-        - name: POD_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-        volumeMounts:
-        - name: scripts
-          mountPath: /opt/mme/scripts/mme-init.sh
-          subPath: mme-init.sh
-        - name: configs
-          mountPath: /opt/mme/config
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-    {{- if .Values.config.coreDump.enabled }}
-{{ tuple "mme" . | include "omec-control-plane.coredump_init" | indent 6 }}
-    {{- end }}
-      containers:
-      - name: mme-app
-        image: {{ .Values.images.tags.mme | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        command: ["bash", "-xc"]
-        args:
-        - /opt/mme/scripts/mme-run.sh mme-app
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.mme | indent 10 }}
-      {{- end }}
-        env:
-        - name: POD_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-        - name: MMERUNENV
-          value: "container"
-        volumeMounts:
-        - name: scripts
-          mountPath: /opt/mme/scripts/mme-run.sh
-          subPath: mme-run.sh
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-        - name: shared-app
-          mountPath: /tmp
-        - name: configs
-          mountPath: /opt/mme/config
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-      - name: s1ap-app
-        image: {{ .Values.images.tags.mme | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        command: ["bash", "-xc"]
-        args:
-        - /opt/mme/scripts/mme-run.sh s1ap-app
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.mme | indent 10 }}
-      {{- end }}
-        env:
-        - name: MMERUNENV
-          value: "container"
-        volumeMounts:
-        - name: scripts
-          mountPath: /opt/mme/scripts/mme-run.sh
-          subPath: mme-run.sh
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-        - name: shared-app
-          mountPath: /tmp
-        - name: configs
-          mountPath: /opt/mme/config
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-      - name: s6a-app
-        image: {{ .Values.images.tags.mme | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        command: ["bash", "-xc"]
-        args:
-        - /opt/mme/scripts/mme-run.sh s6a-app
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.mme | indent 10 }}
-      {{- end }}
-        env:
-        - name: MMERUNENV
-          value: "container"
-        volumeMounts:
-        - name: scripts
-          mountPath: /opt/mme/scripts/mme-run.sh
-          subPath: mme-run.sh
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-        - name: shared-app
-          mountPath: /tmp
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-      - name: s11-app
-        image: {{ .Values.images.tags.mme | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        command: ["bash", "-xc"]
-        args:
-        - /opt/mme/scripts/mme-run.sh s11-app
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.mme | indent 10 }}
-      {{- end }}
-        env:
-        - name: MMERUNENV
-          value: "container"
-        volumeMounts:
-        - name: scripts
-          mountPath: /opt/mme/scripts/mme-run.sh
-          subPath: mme-run.sh
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-        - name: shared-app
-          mountPath: /tmp
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-    {{- if .Values.prometheusExporter.mme.enabled }}
-      - name: subscriber-exporter
-        image: {{ .Values.images.tags.mmeExporter }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          privileged: true
-        command: ["bash", "-xc"]
-        args:
-        - cp /opt/mme/config/shared/mme_exporter.json /openmme/conf/mme_exporter.json;
-          until [ -e /tmp/unix_socket ]; do sleep 1; done;
-          chmod 777 /tmp/unix_socket;
-          while true; do python3 monitor_client.py; sleep 1; done;
-        {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.mme | indent 10 }}
-        {{- end }}
-        volumeMounts:
-        - name: shared-data
-          mountPath: /opt/mme/config/shared
-        - name: shared-app
-          mountPath: /tmp
-    {{- end }}
-      volumes:
-      - name: scripts
-        configMap:
-          name: mme
-          defaultMode: 493
-      - name: configs
-        configMap:
-          name: mme
-          defaultMode: 420
-      - name: shared-data
-        emptyDir: {}
-      - name: shared-app
-        emptyDir: {}
-      - name: host-rootfs
-        hostPath:
-          path: /
-    {{- if .Values.config.coreDump.enabled }}
-      - name: coredump
-        hostPath:
-          path: {{ .Values.config.coreDump.path }}
-    {{- end }}
diff --git a/omec/omec-control-plane/templates/statefulset-spgwc.yaml b/omec/omec-control-plane/templates/statefulset-spgwc.yaml
deleted file mode 100644
index cd094ee..0000000
--- a/omec/omec-control-plane/templates/statefulset-spgwc.yaml
+++ /dev/null
@@ -1,122 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "spgwc" . | include "omec-control-plane.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: spgwc
-  labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  serviceName: spgwc-headless
-  selector:
-    matchLabels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "spgwc" . | include "omec-control-plane.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.spgwc.label }}: {{ .Values.nodeSelectors.spgwc.value }}
-    {{- end }}
-      serviceAccountName: spgwc
-      initContainers:
-      - name: spgwc-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-          - name: POD_NAME
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.name
-          - name: NAMESPACE
-            valueFrom:
-              fieldRef:
-                apiVersion: v1
-                fieldPath: metadata.namespace
-          - name: PATH
-            value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-          - name: COMMAND
-            value: "echo done"
-          - name: DEPENDENCY_POD_JSON
-            value: '[{"labels": {"app": "mme"}, "requireSameNode": false}]'
-    {{- if .Values.config.coreDump.enabled }}
-{{ tuple "spgwc" . | include "omec-control-plane.coredump_init" | indent 6 }}
-    {{- end }}
-      containers:
-      - name: spgwc
-        image: {{ .Values.images.tags.spgwc }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-      {{- if .Values.config.coreDump.enabled }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-        stdin: true
-        tty: true
-        command: ["/opt/cp/scripts/spgwc-run.sh"]
-        env:
-        - name: MEM_LIMIT
-          valueFrom:
-            resourceFieldRef:
-              containerName: spgwc
-              resource: limits.memory
-              divisor: 1Mi
-        - name: POD_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.spgwc | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: cp-script
-          mountPath: /opt/cp/scripts/spgwc-run.sh
-          subPath: spgwc-run.sh
-        - name: cp-config
-          mountPath: /etc/cp/config
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-      volumes:
-      - name: cp-script
-        configMap:
-          name: spgwc
-          defaultMode: 493
-      - name: cp-config
-        configMap:
-          name: spgwc
-          defaultMode: 420
-    {{- if .Values.config.coreDump.enabled }}
-      - name: host-rootfs
-        hostPath:
-          path: /
-      - name: coredump
-        hostPath:
-          path: {{ .Values.config.coreDump.path }}
-    {{- end }}
diff --git a/omec/omec-control-plane/values.yaml b/omec/omec-control-plane/values.yaml
deleted file mode 100644
index 5b96a6d..0000000
--- a/omec/omec-control-plane/values.yaml
+++ /dev/null
@@ -1,340 +0,0 @@
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-
-images:
-  tags:
-    init: docker.io/omecproject/pod-init:1.0.0
-    hssdb: docker.io/omecproject/c3po-hssdb:latest
-    hss: docker.io/omecproject/c3po-hss:latest
-    mme: docker.io/omecproject/openmme:paging-latest
-    mmeExporter: docker.io/omecproject/mme-exporter:paging-latest
-    spgwc: docker.io/omecproject/ngic-cp:central-cp-multi-upfs-latest
-    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  hss:
-    label: omec-cp
-    value: enabled
-  mme:
-    label: omec-cp
-    value: enabled
-  spgwc:
-    label: omec-cp
-    value: enabled
-
-resources:
-  enabled: true
-  hss:
-    requests:
-      cpu: 2
-      memory: 1Gi
-    limits:
-      cpu: 2
-      memory: 1Gi
-  mme:
-    # Note that MME pod is composed of 4 containers
-    # Provide resources for a container, not a pod total
-    requests:
-      cpu: 0.5
-      memory: 1Gi
-    limits:
-      cpu: 0.5
-      memory: 1Gi
-  spgwc:
-    requests:
-      cpu: 2
-      memory: 5Gi
-    limits:
-      cpu: 2
-      memory: 5Gi
-
-cassandra:
-  deploy: true
-  fullnameOverride: cassandra
-  image:
-    tag: 2.1.20
-  #selector:
-  #  nodeSelector:
-  #    cassandra: enabled
-  persistence:
-    enabled: false
-  config:
-    #cluster_size: 1
-    #seed_size: 1
-    endpoint_snitch: GossipingPropertyFileSnitch
-  readinessProbe:
-    initialDelaySeconds: 10
-  resources: {}
-    #requests:
-    #  memory: 4Gi
-    #  cpu: 2
-    #limits:
-    #  memory: 4Gi
-    #  cpu: 2
-
-config:
-  clusterDomain: cluster.local
-  coreDump:
-    enabled: false
-    path: /tmp/coredump
-  hss:
-    hssdb: cassandra
-    s6a:
-      nodePort:
-        enabled: false
-        port: 33868
-    # Provide the peer whitelist extension
-    # The peer name must be a fqdn. We allow also a special "*" character as the
-    # first label of the fqdn, to allow all fqdn with the same domain name.
-    # Example: *.example.net will allow host1.example.net and host2.example.net
-    acl:
-      oldTls: "*.cluster.local"
-      #ipSec:
-    bootstrap:
-      enabled: true
-      apn: internet
-      key: "465b5ce8b199b49faa5f0a2ee238a6bc"
-      opc: "d4416644f6154936193433dd20a0ace0"
-      sqn: 96
-      users:
-        - imsiStart: "208014567891200"
-          msisdnStart: "1122334455"
-          count: 10
-      staticusers:
-        - imsi: "208014567891201"
-          msisdn: "1122334455"
-          staticAddr: 0.0.0.0
-      mmes:
-        - id: 1
-          isdn: "19136246000"
-          unreachability: 1
-    # See https://github.com/omec-project/c3po for details of config options
-    cfgFiles:
-      hss.json:
-        common:
-          fdcfg: conf/hss.conf
-          # Origin host and realm will be set automatically if unset
-          #originhost: ""
-          #originrealm: ""
-        hss:
-          gtwhost: "*"
-          gtwport: 9080
-          restport: 9081
-          ossport: 9082
-          # casssrv will be set to cassandra in the same cluster if unset
-          #casssrv: ""
-          cassusr: root
-          casspwd: root
-          cassdb: vhss
-          casscoreconnections: 2
-          cassmaxconnections: 8
-          cassioqueuesize: 32768
-          cassiothreads: 2
-          randv: true
-          optkey: "63bfa50ee6523365ff14c1f45f88737d"
-          reloadkey: false
-          logsize: 20
-          lognumber: 5
-          logname: logs/hss.log
-          logqsize: 8192
-          statlogsize: 20
-          statlognumber: 5
-          statlogname: logs/hss_stat.log
-          auditlogsize: 20
-          auditlognumber: 5
-          auditlogname: logs/hss_audit.log
-          statfreq: 2000
-          numworkers: 4
-          concurrent: 10
-          ossfile: conf/oss.json
-      oss.json:
-        option:
-          id: url
-          type: string
-        services:
-          - id: logger
-            commands:
-              - id: describe_loggers
-              - id: set_logger_level
-                options:
-                  - id: name
-                    type: string
-                  - id: level
-                    type: integer
-          - id: stats
-            commands:
-              - id: describe_stats_frequency
-              - id: describe_stats_live
-              - id: set_stats_frequency
-                options:
-                  - id: frequency
-                    type: integer
-  mme:
-    spgwAddr: spgwc
-    s11:
-      nodePort:
-        enabled: false
-        port: 32124
-    s6a:
-      nodePort:
-        enabled: false
-        port: 33869
-    # See https://github.com/omec-project/openmme/blob/master/README.txt for more config options
-    cfgFiles:
-      config.json:
-        mme:
-          name: vmmestandalone
-          group_id: 1
-          code: 1
-          logging: error
-          mcc:
-            dig1: 2
-            dig2: 0
-            dig3: 8
-          mnc:
-            dig1: 0
-            dig2: 1
-            dig3: -1
-          plmnlist:
-            #plmn1 - aether common plmn, plmn2 is for comac-in-box
-            plmn1: "mcc=315,mnc=010"
-            plmn2: "mcc=208,mnc=01"
-        s1ap:
-          sctp_port: 36412
-          sctp_port_external: 36412
-        s11:
-          egtp_default_port: 2123
-          # sgw_addr and pgw_addr will be set dynamically if unset
-          #sgw_addr:
-          #pgw_addr:
-        s6a:
-          host_type: freediameter
-          # host and realm will be set dynamically if unset
-          #host:
-          #realm:
-      mme_exporter.json:
-        edges:
-        - id: onf-menlo
-          tac: 202
-          edgeName: edge-onf-menlo
-        - id: oaisim
-          tac: 1
-          edgeName: edge-oaisim
-        phoneTypes:
-        - imsi: 208014567891200
-          phoneType: "Pixel-4"
-        - imsi: 208014567891201
-          phoneType: "iPhone11-Pro"
-  spgwc:
-    apn: internet
-    # ueStaticPool is used only when multiUpfs is not enabled.
-    # In case of multiUpfs, use app_config.cfg to provide static pool per DP.
-    #ueStaticPool: 10.250.255.0/24
-    ueStaticPool: None
-    ueIpPool:
-      ip: 10.250.0.0
-      mask: 255.255.0.0
-    # This address must match to S1U IP address configured in omec-data-plane
-    s1uAddr: 192.168.251.3
-    s11:
-      nodePort:
-        enabled: false
-        port: 32123
-      port: 2123
-    # ZMQ mode is used for cp-dp communication when multiple UPFs is set
-    # Otherwise, direct UDP mode is used
-    # Note that enabling NodePort is valid only in direct UDP mode
-    multiUpfs: true
-    cpComm:
-      nodePort:
-        enabled: false
-        port: 30021
-      port: 21
-    # dpComm is required only when direct UDP mode is used
-    # When you deploy CP and DP to separate clusters in direct UDP mode, enable nodePort
-    # from both cpComm(omec-control-plane) and dpComm(omec-data-plane) and
-    # set "addr" to remote cluster's entry node IP and
-    # "port" to dpComm.nodePort.port value configured in omec-data-plane.
-    dpComm:
-      addr: spgwu
-      port: 20
-    cfgFiles:
-      # See https://github.com/omec-project/ngic-rtc/tree/master/config for details
-      app_config.cfg: |
-        [GLOBAL]
-        NUM_DP_SELECTION_RULES = 2
-        [DP_SELECTION_RULE_1]
-        DPID = 1
-        DPNAME = onf-menlo
-        MCC = 315
-        MNC = 010
-        TAC = 202
-        [DP_SELECTION_RULE_2]
-        DPID = 2
-        DPNAME = oaisim
-        MCC = 208
-        MNC = 01
-        TAC = 1
-      adc_rules.cfg: |
-        [GLOBAL]
-        NUM_ADC_RULES = 0
-      meter_profile.cfg: |
-        [GLOBAL]
-        NUM_OF_IDX = 0
-      pcc_rules.cfg: |
-        [GLOBAL]
-        NUM_PCC_FILTERS = 1
-        UL_AMBR_MTR_PROFILE_IDX = 1
-        DL_AMBR_MTR_PROFILE_IDX = 2
-
-        [PCC_FILTER_1]
-        RULE_NAME = DefaultRule
-        RATING_GROUP = 9
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 1
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 254
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 3
-        DL_MBR_MTR_PROFILE_IDX = 3
-        SDF_FILTER_IDX = 99998
-      sdf_rules.cfg: |
-        [GLOBAL]
-        NUM_SDF_FILTERS = 1
-
-        [SDF_FILTER_1]
-        DIRECTION = downlink_only
-        IPV4_REMOTE = 13.2.1.113
-        IPV4_REMOTE_MASK = 255.255.255.0
-        PROTOCOL = 17
-        LOCAL_LOW_LIMIT_PORT = 0
-        LOCAL_HIGH_LIMIT_PORT = 65535
-        REMOTE_LOW_LIMIT_PORT = 0
-        REMOTE_HIGH_LIMIT_PORT = 65535
-
-prometheusExporter:
-  mme:
-    enabled: true # if it is set to false, subscriber-monitoring will not be operational
-    port: 33081 # for NodePort
diff --git a/omec/omec-data-plane-cni/.helmignore b/omec/omec-data-plane-cni/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/omec/omec-data-plane-cni/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/omec/omec-data-plane-cni/Chart.yaml b/omec/omec-data-plane-cni/Chart.yaml
deleted file mode 100644
index be46241..0000000
--- a/omec/omec-data-plane-cni/Chart.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-description: CNI setup for OMEC data plane
-name: omec-data-plane-cni
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 1.0.2
diff --git a/omec/omec-data-plane-cni/templates/_helpers.tpl b/omec/omec-data-plane-cni/templates/_helpers.tpl
deleted file mode 100644
index 451f9c0..0000000
--- a/omec/omec-data-plane-cni/templates/_helpers.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels.
-*/}}
-{{- define "omec-data-plane-cni.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
diff --git a/omec/omec-data-plane-cni/templates/configmap-sriov-conf.yaml b/omec/omec-data-plane-cni/templates/configmap-sriov-conf.yaml
deleted file mode 100644
index 2099c34..0000000
--- a/omec/omec-data-plane-cni/templates/configmap-sriov-conf.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-{{/*
-Copyright 2018-present Open Networking Foundation
-Copyright 2018 Intel Corporation
-
-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.
-*/}}
-
----
-kind: ConfigMap
-apiVersion: v1
-metadata:
-  name: sriov-config
-data:
-  config.json: |
-    {
-      "resourceList": [
-        {
-          "resourceName": "sriov_vfio_s1u_net",
-          "selectors": {
-              "pfNames": {{ toJson .Values.config.sriov.resourceList.vfio.s1uPfNames }},
-              "drivers": ["vfio-pci"]
-          }
-        },
-        {
-          "resourceName": "sriov_vfio_sgi_net",
-          "selectors": {
-              "pfNames": {{ toJson .Values.config.sriov.resourceList.vfio.sgiPfNames }},
-              "drivers": ["vfio-pci"]
-          }
-        }
-{{- if hasKey .Values.config.sriov.resourceList "netDevice" }}
-        ,
-        {
-          "resourceName": "sriov_netdevice",
-          "selectors": {
-              "pfNames": {{ toJson .Values.config.sriov.resourceList.netDevice.pfNames }},
-              "drivers": {{ toJson .Values.config.sriov.resourceList.netDevice.drivers }}
-          }
-        }
-{{- end }}
-      ]
-    }
diff --git a/omec/omec-data-plane-cni/templates/daemonset-sriov-plugin.yaml b/omec/omec-data-plane-cni/templates/daemonset-sriov-plugin.yaml
deleted file mode 100644
index 4bafb4f..0000000
--- a/omec/omec-data-plane-cni/templates/daemonset-sriov-plugin.yaml
+++ /dev/null
@@ -1,77 +0,0 @@
-{{/*
-Copyright 2018-present Open Networking Foundation
-Copyright 2018 Intel Corporation
-
-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: DaemonSet
-metadata:
-  name: omec-sriov-plugin
-  labels:
-{{ tuple "omec-sriov-plugin" . | include "omec-data-plane-cni.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "omec-sriov-plugin" . | include "omec-data-plane-cni.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "omec-sriov-plugin" . | include "omec-data-plane-cni.metadata_labels" | indent 8 }}
-    spec:
-      hostNetwork: true
-      hostPID: true
-      nodeSelector:
-        beta.kubernetes.io/arch: amd64
-      initContainers:
-      - name: init-omec-sriov-plugin
-        image: {{ .Values.images.tags.omecCni }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: [ "bash", "-c" ]
-        args:
-        - cp /tmp/cni/bin/{sriov,vfioveth,jq,static} /host/opt/cni/bin/
-        volumeMounts:
-        - name: cni-bin
-          mountPath: /host/opt/cni/bin
-      containers:
-      - name: sriov-device-plugin
-        image: {{ .Values.images.tags.sriovPlugin }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: [ "/bin/sh", "-c", "--" ]
-        args: [ "sriovdp --logtostderr 10;" ]
-        securityContext:
-          privileged: true
-        volumeMounts:
-        - mountPath: /var/lib/kubelet/
-          name: devicesock
-          readOnly: false
-        - mountPath: /sys
-          name: net
-          readOnly: true
-        - name: sriov-config
-          mountPath: /etc/pcidp
-      volumes:
-      - name: devicesock
-        hostPath:
-          path: /var/lib/kubelet/
-      - name: net
-        hostPath:
-          path: /sys
-      - name: sriov-config
-        configMap:
-          name: sriov-config
-      - name: cni-bin
-        hostPath:
-          path: /opt/cni/bin
diff --git a/omec/omec-data-plane-cni/values.yaml b/omec/omec-data-plane-cni/values.yaml
deleted file mode 100644
index a7346e5..0000000
--- a/omec/omec-data-plane-cni/values.yaml
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    omecCni: docker.io/omecproject/omec-cni:1.0.0
-    sriovPlugin: docker.io/nfvpe/sriov-device-plugin:v3.1
-  pullPolicy: IfNotPresent
-
-config:
-  sriov:
-    # Provide interface used as a SR-IOV PF
-    # If your cluster has multiple nodes with different interface names,
-    # simply provide the whole list
-    resourceList:
-      # Provide PF name with VF range for S1U and SGI interfaces.
-      # Note that VF range of S1U must be smaller than SGI's.
-      vfio:
-        s1uPfNames:
-          - eno1#0-3
-        sgiPfNames:
-          - eno1#4-7
-      # Provide PF name with its VFs bounded to PF's driver
-      # The driver name must be specified to prevent one interface is
-      # registered to both vfio and netdevice resource pools
-      # NOTE: netDevice is required to use CDN service
-      netDevice:
-        pfNames:
-          - eno1
-        drivers:
-          - i40evf
-          - ixgbevf
diff --git a/omec/omec-data-plane/.gitignore b/omec/omec-data-plane/.gitignore
deleted file mode 100644
index ee3892e..0000000
--- a/omec/omec-data-plane/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-charts/
diff --git a/omec/omec-data-plane/.helmignore b/omec/omec-data-plane/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/omec/omec-data-plane/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/omec/omec-data-plane/Chart.yaml b/omec/omec-data-plane/Chart.yaml
deleted file mode 100644
index a21386f..0000000
--- a/omec/omec-data-plane/Chart.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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
-description: OMEC data plane services
-name: omec-data-plane
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.13
diff --git a/omec/omec-data-plane/templates/_helpers.tpl b/omec/omec-data-plane/templates/_helpers.tpl
deleted file mode 100644
index 24733ea..0000000
--- a/omec/omec-data-plane/templates/_helpers.tpl
+++ /dev/null
@@ -1,56 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels.
-*/}}
-{{- define "omec-data-plane.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "omec-data-plane.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Render init container for coredump.
-*/}}
-{{- define "omec-data-plane.coredump_init" -}}
-{{- $pod := index . 0 -}}
-{{- $context := index . 1 -}}
-- name: {{ $pod }}-coredump-init
-  image: {{ $context.Values.images.tags.init | quote }}
-  imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-  securityContext:
-    privileged: true
-    runAsUser: 0
-  command: ["bash", "-xc"]
-  args:
-    - echo '/tmp/coredump/core.%h.%e.%t' > /mnt/host-rootfs/proc/sys/kernel/core_pattern
-  volumeMounts:
-    - name: host-rootfs
-      mountPath: /mnt/host-rootfs
-{{- end -}}
diff --git a/omec/omec-data-plane/templates/bin/_spgwu-run.sh.tpl b/omec/omec-data-plane/templates/bin/_spgwu-run.sh.tpl
deleted file mode 100644
index 3d77d81..0000000
--- a/omec/omec-data-plane/templates/bin/_spgwu-run.sh.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-# Copyright 2019 Intel Corporation
-#
-# 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 -ex
-
-{{- if .Values.config.coreDump.enabled }}
-cp /bin/ngic_dataplane /tmp/coredump/
-{{- end }}
-
-mkdir -p /opt/dp/config
-cd /opt/dp/config
-cp /etc/dp/config/{cdr.cfg,dp_config.cfg,interface.cfg} .
-
-sed -i "s/DP_ADDR/$POD_IP/g" interface.cfg
-
-source dp_config.cfg
-ngic_dataplane $EAL_ARGS -- $APP_ARGS
diff --git a/omec/omec-data-plane/templates/bin/_spgwu-setup-af-iface.sh.tpl b/omec/omec-data-plane/templates/bin/_spgwu-setup-af-iface.sh.tpl
deleted file mode 100644
index 714d79c..0000000
--- a/omec/omec-data-plane/templates/bin/_spgwu-setup-af-iface.sh.tpl
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2019-present Open Networking Foundation
-# Copyright 2019 Intel Corporation
-#
-# 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 -ex
-
-UL_IFACE="{{ .Values.config.spgwu.s1u.device }}-veth"
-DL_IFACE="{{ .Values.config.spgwu.sgi.device }}-veth"
-
-if ! ip link show $UL_IFACE; then
-    s1u_mac=$(ip addr show dev s1u-net | awk '$1=="link/ether"{print $2}')
-    ip link add $UL_IFACE type veth peer name l_$UL_IFACE
-    ip link set $UL_IFACE up
-    ip link set l_$UL_IFACE up
-    ip link set dev $UL_IFACE address $s1u_mac
-fi
-if ! ip link show $DL_IFACE; then
-    sgi_mac=$(ip addr show dev sgi-net | awk '$1=="link/ether"{print $2}')
-    ip link add $DL_IFACE type veth peer name l_$DL_IFACE
-    ip link set $DL_IFACE up
-    ip link set l_$DL_IFACE up
-    ip link set dev $DL_IFACE address $sgi_mac
-fi
-
-if ! ip addr show $UL_IFACE | grep inet; then
-    s1u_ip=$(ip addr show s1u-net | grep inet | grep -v inet6 | awk '{print $2}')
-    ip addr add $s1u_ip dev $UL_IFACE
-fi
-if ! ip addr show $DL_IFACE | grep inet; then
-    sgi_ip=$(ip addr show sgi-net | grep inet | grep -v inet6 | awk '{print $2}')
-    ip addr add $sgi_ip dev $DL_IFACE
-fi
-
-ip a
diff --git a/omec/omec-data-plane/templates/configmap-spgwu.yaml b/omec/omec-data-plane/templates/configmap-spgwu.yaml
deleted file mode 100644
index 81319c1..0000000
--- a/omec/omec-data-plane/templates/configmap-spgwu.yaml
+++ /dev/null
@@ -1,79 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-Copyright 2019 Intel Corporation
-
-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: spgwu
-  labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-data:
-  dp_config.cfg: |
-    if [ ! -d "/dev/hugepages" ]; then
-        MEMORY="--no-huge -m $((MEM_LIMIT-1024))"
-    fi
-    CORES="-c $(taskset -p $$ | awk '{print $NF}')"
-    EAL_ARGS="${CORES} ${MEMORY} {{ .Values.config.spgwu.devices }}"
-
-    {{- if .Values.config.sriov.enabled }}
-    S1U_DEVNAME={{ .Values.config.spgwu.s1u.device }}
-    {{- else }}
-    S1U_DEVNAME={{ .Values.config.spgwu.s1u.device }}-veth
-    {{- end }}
-    {{- if .Values.config.sriov.enabled }}
-    SGI_DEVNAME={{ .Values.config.spgwu.sgi.device }}
-    {{- else }}
-    SGI_DEVNAME={{ .Values.config.spgwu.sgi.device }}-veth
-    {{- end }}
-
-    S1U_IP=$(ip -4 addr show dev ${S1U_DEVNAME} | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
-    SGI_IP=$(ip -4 addr show dev ${SGI_DEVNAME} | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
-    S1U_MAC=$(ip addr show dev ${S1U_DEVNAME} | awk '$1=="link/ether"{print $2}')
-    SGI_MAC=$(ip addr show dev ${SGI_DEVNAME} | awk '$1=="link/ether"{print $2}')
-
-    S1U="--s1u_ip ${S1U_IP} --s1u_mac ${S1U_MAC} --ul_iface ${S1U_DEVNAME}"
-    SGI="--sgi_ip ${SGI_IP} --sgi_mac ${SGI_MAC} --dl_iface ${SGI_DEVNAME} --sgi_gw_ip {{ .Values.networks.sgi.gateway }} --sgi_mask {{ .Values.networks.sgi.mask }}"
-    MISC="--log 1"
-    SPGW_CFG="--spgw_cfg 03"
-
-    APP_ARGS="${S1U} ${SGI} ${MISC} ${SPGW_CFG}"
-  cdr.cfg: |
-    CDR_PATH=./cdr
-    MASTER_CDR=./cdr/master.csv
-  interface.cfg: |
-    [0]
-    zmq_protocol = tcp
-    dp_comm_ip = DP_ADDR
-    dp_comm_port = 20
-{{- if .Values.config.spgwu.multiUpfs }}
-    cp_nb_ip = {{ .Values.config.spgwu.cpComm.addr }}
-    cp_nb_port = {{ .Values.config.spgwu.cpComm.port }}
-    cp_comm_ip = {{ .Values.config.spgwu.cpComm.addr }}
-    cp_comm_port = {{ .Values.config.spgwu.cpComm.port }}
-    zmq_dp_ip=127.0.0.1
-    zmq_cp_ip=127.0.0.1
-{{- else }}
-    cp_comm_ip = {{ .Values.config.spgwu.cpComm.addr }}
-    cp_comm_port = {{ .Values.config.spgwu.cpComm.port }}
-{{- end }}
-{{- if not .Values.config.sriov.enabled }}
-  setup-af-iface.sh: |
-{{ tuple "bin/_spgwu-setup-af-iface.sh.tpl" . | include "omec-data-plane.template" | indent 4 }}
-{{- end }}
-  run.sh: |
-{{ tuple "bin/_spgwu-run.sh.tpl" . | include "omec-data-plane.template" | indent 4 }}
diff --git a/omec/omec-data-plane/templates/networks.yaml b/omec/omec-data-plane/templates/networks.yaml
deleted file mode 100644
index e937d62..0000000
--- a/omec/omec-data-plane/templates/networks.yaml
+++ /dev/null
@@ -1,49 +0,0 @@
-{{/*
-Copyright 2018-present Open Networking Foundation
-Copyright 2018 Intel Corporation
-
-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: "k8s.cni.cncf.io/v1"
-kind: NetworkAttachmentDefinition
-metadata:
-  name: s1u-net
-{{- if $.Values.config.sriov.enabled }}
-  annotations:
-    k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_vfio_s1u_net
-{{- end }}
-spec:
-  config: '{
-    "type": {{ .Values.networks.cniPlugin | quote }},
-    "ipam": {
-        "type": {{ .Values.networks.ipam | quote }}
-    }
-  }'
----
-apiVersion: "k8s.cni.cncf.io/v1"
-kind: NetworkAttachmentDefinition
-metadata:
-  name: sgi-net
-{{- if $.Values.config.sriov.enabled }}
-  annotations:
-    k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_vfio_sgi_net
-{{- end }}
-spec:
-  config: '{
-    "type": {{ .Values.networks.cniPlugin | quote }},
-    "ipam": {
-        "type": {{ .Values.networks.ipam | quote }}
-    }
-  }'
diff --git a/omec/omec-data-plane/templates/service-spgwu.yaml b/omec/omec-data-plane/templates/service-spgwu.yaml
deleted file mode 100644
index 6985e22..0000000
--- a/omec/omec-data-plane/templates/service-spgwu.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-Copyright 2019 Intel Corporation
-
-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: Service
-metadata:
-  name: spgwu
-  labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: dp-comm
-    port: {{ .Values.config.spgwu.dpComm.port }}
-{{- if .Values.config.spgwu.multiUpfs }}
-    protocol: TCP
-{{- else }}
-    protocol: UDP
-{{- end }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: spgwu-headless
-  labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-spec:
-  clusterIP: None
-  selector:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: dp-comm
-    port: {{ .Values.config.spgwu.dpComm.port }}
-{{- if .Values.config.spgwu.multiUpfs }}
-    protocol: TCP
-{{- else }}
-    protocol: UDP
-{{- end }}
-{{- if and (not .Values.config.spgwu.multiUpfs) .Values.config.spgwu.dpComm.nodePort.enabled }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: spgwu-external
-  labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: dp-comm
-    port: {{ .Values.config.spgwu.dpComm.port }}
-    protocol: UDP
-    nodePort: {{ .Values.config.spgwu.dpComm.nodePort.port }}
-{{- end }}
diff --git a/omec/omec-data-plane/templates/statefulset-spgwu.yaml b/omec/omec-data-plane/templates/statefulset-spgwu.yaml
deleted file mode 100644
index 593f2d2..0000000
--- a/omec/omec-data-plane/templates/statefulset-spgwu.yaml
+++ /dev/null
@@ -1,155 +0,0 @@
-{{/*
-Copyright 2018-present Open Networking Foundation
-Copyright 2018 Intel Corporation
-
-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: StatefulSet
-metadata:
-  name: spgwu
-  serviceName: spgwu-headless
-  labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 8 }}
-      annotations:
-        k8s.v1.cni.cncf.io/networks: '[
-          {
-            "name": "s1u-net",
-            "interface": {{ .Values.config.spgwu.s1u.device | quote }},
-            "ips": {{ .Values.config.spgwu.s1u.ip | quote }}
-          },
-          {
-            "name": "sgi-net",
-            "interface": {{ .Values.config.spgwu.sgi.device | quote }},
-            "ips": {{ .Values.config.spgwu.sgi.ip | quote }}
-          }
-        ]'
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.spgwu.label }}: {{ .Values.nodeSelectors.spgwu.value }}
-    {{- end }}
-    {{- if not .Values.config.sriov.enabled }}
-      initContainers:
-        - name: spgwu-iptables-init
-          image: {{ .Values.images.tags.init | quote }}
-          imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-          command: [ "sh", "-xec"]
-          securityContext:
-            capabilities:
-              add:
-                - NET_ADMIN
-          args:
-            - iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
-        - name: spgwu-af-iface-init
-          image: {{ .Values.images.tags.init | quote }}
-          imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-          securityContext:
-            capabilities:
-              add:
-                - NET_ADMIN
-          command:
-            - /opt/dp/scripts/setup-af-iface.sh
-          volumeMounts:
-            - name: dp-script
-              mountPath: /opt/dp/scripts/setup-af-iface.sh
-              subPath: setup-af-iface.sh
-    {{- end }}
-    {{- if .Values.config.coreDump.enabled }}
-{{ tuple "spgwc" . | include "omec-data-plane.coredump_init" | indent 8 }}
-    {{- end }}
-      containers:
-      - name: spgwu
-        image: {{ .Values.images.tags.spgwu | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-        securityContext:
-      {{- if .Values.config.coreDump.enabled }}
-          privileged: true
-          runAsUser: 0
-      {{- end }}
-          capabilities:
-            add:
-              - IPC_LOCK
-        stdin: true
-        tty: true
-        env:
-        - name: MEM_LIMIT
-          valueFrom:
-            resourceFieldRef:
-              containerName: spgwu
-              resource: limits.memory
-              divisor: 1Mi
-        - name: POD_IP
-          valueFrom:
-            fieldRef:
-              fieldPath: status.podIP
-        - name: DP_NAME
-          value: "{{ .Values.config.spgwu.dpName }}"
-        command: ["bash", "-xc"]
-        args:
-        - ip a;
-          /opt/dp/scripts/run.sh;
-        volumeMounts:
-        - name: dp-script
-          mountPath: /opt/dp/scripts/run.sh
-          subPath: run.sh
-        - name: dp-config
-          mountPath: /etc/dp/config
-      {{- if .Values.config.coreDump.enabled }}
-        - name: coredump
-          mountPath: /tmp/coredump
-      {{- end }}
-        resources:
-          requests:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.spgwu.requests | indent 12 }}
-          {{- end }}
-          {{- if .Values.config.sriov.enabled }}
-            intel.com/sriov_vfio_s1u_net: 1
-            intel.com/sriov_vfio_sgi_net: 1
-          {{- end }}
-          limits:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.spgwu.limits | indent 12 }}
-          {{- end }}
-          {{- if .Values.config.sriov.enabled }}
-            intel.com/sriov_vfio_s1u_net: 1
-            intel.com/sriov_vfio_sgi_net: 1
-          {{- end }}
-      volumes:
-      - name: dp-script
-        configMap:
-          name: spgwu
-          defaultMode: 493
-      - name: dp-config
-        configMap:
-          name: spgwu
-          defaultMode: 420
-    {{- if .Values.config.coreDump.enabled }}
-      - name: host-rootfs
-        hostPath:
-          path: /
-      - name: coredump
-        hostPath:
-          path: {{ .Values.config.coreDump.path }}
-    {{- end }}
diff --git a/omec/omec-data-plane/values.yaml b/omec/omec-data-plane/values.yaml
deleted file mode 100644
index dd3ee9a..0000000
--- a/omec/omec-data-plane/values.yaml
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-
-images:
-  tags:
-    init: docker.io/omecproject/pod-init:1.0.0
-    omecCni: docker.io/omecproject/omec-cni:1.0.0
-    spgwu: docker.io/omecproject/ngic-dp:central-cp-multi-upfs-latest-debug
-    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  spgwu:
-    label: omec-dp
-    value: enabled
-
-resources:
-  enabled: true
-  spgwu:
-    requests:
-      cpu: 4
-      memory: 8Gi
-    limits:
-      cpu: 4
-      memory: 8Gi
-
-config:
-  coreDump:
-    enabled: false
-    path: /tmp/coredump
-  sriov:
-    enabled: true
-  spgwu:
-    # Provide the S1U and SGI networks facing device name and IP address
-    s1u:
-      device: s1u-net
-      ip: 192.168.251.3/24
-    sgi:
-      device: sgi-net
-      ip: 192.168.250.3/24
-    # Note that zmq is used for cp-dp commmunication when multiple UPFs is set
-    # Otherwise, direct UDP communication is used
-    # TODO: unify cp-dp comm to ZMQ for both multi and single UPF scenario
-    multiUpfs: true
-    cpComm:
-      # IMPORTANT: when you deploy CP and DP to separate clusters, enable nodePort
-      # from both cpComm(omec-control-plane) and dpComm(omec-data-plane) and
-      # set "addr" to remote cluster's entry node IP and
-      # "port" to cpComm.nodePort.port value configured in omec-control-plane.
-      addr: spgwc-headless
-      port: 21
-    dpComm:
-      nodePort:
-        enabled: false
-        port: 30020
-      port: 20
-    # Set "--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
-    # when sriov is disabled
-    devices: ""
-    dpName: "onf-menlo"
-
-networks:
-  cniPlugin: vfioveth
-  # Currently, we do not support dynamic IP allocation
-  ipam: static
-  s1u:
-    subnet: 192.168.251.0/24
-    mask: 255.255.255.0
-    gateway: 192.168.251.254
-  sgi:
-    subnet: 192.168.250.0/24
-    mask: 255.255.255.0
-    gateway: 192.168.250.250
diff --git a/omec/omec-user-plane/.gitignore b/omec/omec-user-plane/.gitignore
deleted file mode 100644
index ee3892e..0000000
--- a/omec/omec-user-plane/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-charts/
diff --git a/omec/omec-user-plane/.helmignore b/omec/omec-user-plane/.helmignore
deleted file mode 100644
index f0c1319..0000000
--- a/omec/omec-user-plane/.helmignore
+++ /dev/null
@@ -1,21 +0,0 @@
-# Patterns to ignore when building packages.
-# This supports shell glob matching, relative path matching, and
-# negation (prefixed with !). Only one pattern per line.
-.DS_Store
-# Common VCS dirs
-.git/
-.gitignore
-.bzr/
-.bzrignore
-.hg/
-.hgignore
-.svn/
-# Common backup files
-*.swp
-*.bak
-*.tmp
-*~
-# Various IDEs
-.project
-.idea/
-*.tmproj
diff --git a/omec/omec-user-plane/Chart.yaml b/omec/omec-user-plane/Chart.yaml
deleted file mode 100644
index e54b051..0000000
--- a/omec/omec-user-plane/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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
-description: OMEC user plane based on BESS
-name: omec-user-plane
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.3
diff --git a/omec/omec-user-plane/templates/_helpers.tpl b/omec/omec-user-plane/templates/_helpers.tpl
deleted file mode 100644
index fd03283..0000000
--- a/omec/omec-user-plane/templates/_helpers.tpl
+++ /dev/null
@@ -1,56 +0,0 @@
-{{- /*
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels.
-*/}}
-{{- define "omec-user-plane.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "omec-user-plane.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Render init container for coredump.
-*/}}
-{{- define "omec-user-plane.coredump_init" -}}
-{{- $pod := index . 0 -}}
-{{- $context := index . 1 -}}
-- name: {{ $pod }}-coredump-init
-  image: {{ $context.Values.images.tags.init | quote }}
-  imagePullPolicy: {{ $context.Values.images.pullPolicy }}
-  securityContext:
-    privileged: true
-    runAsUser: 0
-  command: ["bash", "-xc"]
-  args:
-    - echo '/tmp/coredump/core.%h.%e.%t' > /mnt/host-rootfs/proc/sys/kernel/core_pattern
-  volumeMounts:
-    - name: host-rootfs
-      mountPath: /mnt/host-rootfs
-{{- end -}}
diff --git a/omec/omec-user-plane/templates/bin/_bessd-poststart.sh.tpl b/omec/omec-user-plane/templates/bin/_bessd-poststart.sh.tpl
deleted file mode 100644
index 8c6b37a..0000000
--- a/omec/omec-user-plane/templates/bin/_bessd-poststart.sh.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2020-present Open Networking Foundation
-#
-# 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 -ex
-
-until bessctl run /opt/bess/bessctl/conf/spgwu; do
-    sleep 2;
-done;
-
-# Add route to eNB
-ip route add {{ .Values.networks.enb.subnet }} via {{ .Values.networks.s1u.gateway }}
-# Add default gw to SGI gateway
-ip route add default via {{ .Values.networks.sgi.gateway }} metric 110
diff --git a/omec/omec-user-plane/templates/config/_spgwu.json.tpl b/omec/omec-user-plane/templates/config/_spgwu.json.tpl
deleted file mode 100644
index ba36cc7..0000000
--- a/omec/omec-user-plane/templates/config/_spgwu.json.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "ue_cidr": {{ .Values.networks.ue.subnet | quote }},
-  "enb_cidr": {{ .Values.networks.enb.subnet | quote }},
-  "s1u": {
-    "ifname": {{ .Values.config.spgwu.s1u.device | quote }}
-  },
-  "sgi": {
-    "ifname": {{ .Values.config.spgwu.sgi.device | quote }}
-  },
-  "workers": {{ .Values.config.spgwu.workers }},
-  "max_sessions": {{ .Values.config.spgwu.maxSessions }}
-}
diff --git a/omec/omec-user-plane/templates/configmap-spgwu.yaml b/omec/omec-user-plane/templates/configmap-spgwu.yaml
deleted file mode 100644
index 488cf64..0000000
--- a/omec/omec-user-plane/templates/configmap-spgwu.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-{{/*
-Copyright 2020-present Open Networking Foundation
-
-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: spgwu
-  labels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-data:
-  spgwu.json: |
-{{ tuple "config/_spgwu.json.tpl" . | include "omec-user-plane.template" | indent 4 }}
-  bessd-poststart.sh: |
-{{ tuple "bin/_bessd-poststart.sh.tpl" . | include "omec-user-plane.template" | indent 4 }}
diff --git a/omec/omec-user-plane/templates/networks.yaml b/omec/omec-user-plane/templates/networks.yaml
deleted file mode 100644
index 77ef973..0000000
--- a/omec/omec-user-plane/templates/networks.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-{{/*
-Copyright 2020-present Open Networking Foundation
-
-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: "k8s.cni.cncf.io/v1"
-kind: NetworkAttachmentDefinition
-metadata:
-  name: s1u-net
-{{- if $.Values.networks.sriov.enabled }}
-  annotations:
-    k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_vfio_s1u_net
-{{- end }}
-spec:
-  config: '{
-    "type": {{ .Values.networks.cniPlugin | quote }},
-    "ipam": {
-        "type": {{ .Values.networks.ipam | quote }}
-    }
-  }'
----
-apiVersion: "k8s.cni.cncf.io/v1"
-kind: NetworkAttachmentDefinition
-metadata:
-  name: sgi-net
-{{- if $.Values.networks.sriov.enabled }}
-  annotations:
-    k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_vfio_sgi_net
-{{- end }}
-spec:
-  config: '{
-    "type": {{ .Values.networks.cniPlugin | quote }},
-    "ipam": {
-        "type": {{ .Values.networks.ipam | quote }}
-    }
-  }'
diff --git a/omec/omec-user-plane/templates/service-spgwu.yaml b/omec/omec-user-plane/templates/service-spgwu.yaml
deleted file mode 100644
index eca2345..0000000
--- a/omec/omec-user-plane/templates/service-spgwu.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{/*
-Copyright 2020-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: spgwu-headless
-  labels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-spec:
-  clusterIP: None
-  selector:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-  ports:
-  - name: zmq
-    protocol: TCP
-    port: {{ .Values.config.spgwu.zmq.recvPort }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: spgwu-external
-  labels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: bess-web
-    protocol: TCP
-    port: 8000
-    nodePort: {{ .Values.config.bess.web.nodePort }}
\ No newline at end of file
diff --git a/omec/omec-user-plane/templates/statefulset-spgwu.yaml b/omec/omec-user-plane/templates/statefulset-spgwu.yaml
deleted file mode 100644
index 376b3d9..0000000
--- a/omec/omec-user-plane/templates/statefulset-spgwu.yaml
+++ /dev/null
@@ -1,173 +0,0 @@
-{{/*
-Copyright 2020-present Open Networking Foundation
-
-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: StatefulSet
-metadata:
-  name: spgwu
-  serviceName: spgwu-headless
-  labels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 4 }}
-spec:
-  replicas: 1
-  selector:
-    matchLabels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 6 }}
-  template:
-    metadata:
-      labels:
-{{ tuple "spgwu" . | include "omec-user-plane.metadata_labels" | indent 8 }}
-      annotations:
-        k8s.v1.cni.cncf.io/networks: '[
-          {
-            "name": "s1u-net",
-            "interface": {{ .Values.config.spgwu.s1u.device | quote }},
-            "ips": {{ .Values.config.spgwu.s1u.ip | quote }}
-          },
-          {
-            "name": "sgi-net",
-            "interface": {{ .Values.config.spgwu.sgi.device | quote }},
-            "ips": {{ .Values.config.spgwu.sgi.ip | quote }}
-          }
-        ]'
-    spec:
-      shareProcessNamespace: true
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.spgwu.label }}: {{ .Values.nodeSelectors.spgwu.value }}
-    {{- end }}
-    {{- if .Values.config.coreDump.enabled }}
-{{ tuple "spgwu" . | include "omec-user-plane.coredump_init" | indent 8 }}
-    {{- end }}
-      containers:
-      - name: routectl
-        image: {{ .Values.images.tags.bess | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-        env:
-          - name: PYTHONUNBUFFERED
-            value: "1"
-        command: ["/opt/bess/bessctl/conf/route_control.py"]
-        args:
-          - -i
-          - {{ .Values.config.spgwu.s1u.device }}
-          - {{ .Values.config.spgwu.sgi.device }}
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.routectl | indent 10 }}
-      {{- end }}
-      - name: bessd
-        image: {{ .Values.images.tags.bess | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-        securityContext:
-          privileged: true
-          capabilities:
-            add:
-            - IPC_LOCK
-            - NET_ADMIN
-        stdin: true
-        tty: true
-        command: ["/bin/bash", "-xc", "bessd -f -grpc-url=0.0.0.0:10514;"]
-        lifecycle:
-          postStart:
-            exec:
-              command: ["/etc/bess/conf/bessd-poststart.sh"]
-        livenessProbe:
-          tcpSocket:
-            port: 10514
-          initialDelaySeconds: 15
-          periodSeconds: 20
-        resources:
-          requests:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.bess.requests | indent 12 }}
-          {{- end }}
-          {{- if .Values.networks.sriov.enabled }}
-            intel.com/sriov_vfio_s1u_net: 1
-            intel.com/sriov_vfio_sgi_net: 1
-          {{- end }}
-          limits:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.bess.limits | indent 12 }}
-          {{- end }}
-          {{- if .Values.networks.sriov.enabled }}
-            intel.com/sriov_vfio_s1u_net: 1
-            intel.com/sriov_vfio_sgi_net: 1
-          {{- end }}
-        env:
-          - name: CONF_FILE
-            value: /etc/bess/conf/spgwu.json
-        volumeMounts:
-          - name: hugepages
-            mountPath: /dev/hugepages
-          - name: configs
-            mountPath: /etc/bess/conf
-        {{- if .Values.config.coreDump.enabled }}
-          - name: coredump
-            mountPath: /tmp/coredump
-        {{- end }}
-      - name: web
-        image: {{ .Values.images.tags.bess | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-        command: ["/bin/bash", "-xc", "bessctl http 0.0.0.0 8000"]
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.web | indent 10 }}
-      {{- end }}
-      - name: cpiface
-        image: {{ .Values.images.tags.cpiface | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
-        env:
-          - name: ZMQD_IP
-            valueFrom:
-              fieldRef:
-                fieldPath: status.podIP
-          - name: GLOG_v
-            value: "1"
-        command: ["zmq-cpiface"]
-        args:
-          - --hostname
-          - {{ .Values.config.spgwu.name | quote }}
-          - --zmqd_nb_ip
-          - {{ .Values.config.spgwu.zmq.spgwc.addr | quote }}
-          - --zmqd_nb_port
-          - {{ .Values.config.spgwu.zmq.spgwc.port | quote }}
-          - --zmqd_recv_port
-          - {{ .Values.config.spgwu.zmq.recvPort | quote }}
-          - --zmqd_ip
-          - $(ZMQD_IP)
-          - --s1u_sgw_ip
-          - {{ (split "/" .Values.config.spgwu.s1u.ip)._0 | quote }}
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.cpiface | indent 10 }}
-      {{- end }}
-      volumes:
-      - name: configs
-        configMap:
-          name: spgwu
-          defaultMode: 493
-      - name: hugepages
-        emptyDir:
-          medium: HugePages
-    {{- if .Values.config.coreDump.enabled }}
-      - name: host-rootfs
-        hostPath:
-          path: /
-      - name: coredump
-        hostPath:
-          path: {{ .Values.config.coreDump.path }}
-    {{- end }}
diff --git a/omec/omec-user-plane/values.yaml b/omec/omec-user-plane/values.yaml
deleted file mode 100644
index 66fd9b3..0000000
--- a/omec/omec-user-plane/values.yaml
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2020-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    init: docker.io/omecproject/pod-init:1.0.0
-    bess: registry.central.aetherproject.net/upf-epc-bess:0.1.0-dev
-    cpiface: registry.central.aetherproject.net/upf-epc-cpiface:0.1.0-dev
-  pullPolicy: Always
-
-nodeSelectors:
-  enabled: false
-  spgwu:
-    label: omec-upf
-    value: enabled
-
-resources:
-  enabled: true
-  bess:
-    requests:
-      hugepages-1Gi: 2Gi
-      cpu: 2
-      memory: 256Mi
-    limits:
-      hugepages-1Gi: 2Gi
-      cpu: 2
-      memory: 256Mi
-  routectl:
-    requests:
-      cpu: 256m
-      memory: 128Mi
-    limits:
-      cpu: 256m
-      memory: 128Mi
-  web:
-    requests:
-      cpu: 256m
-      memory: 128Mi
-    limits:
-      cpu: 256m
-      memory: 128Mi
-  cpiface:
-    requests:
-      cpu: 256m
-      memory: 128Mi
-    limits:
-      cpu: 256m
-      memory: 128Mi
-
-config:
-  coreDump:
-    enabled: false
-    path: /tmp/coredump
-  # Provide UPF interface driver.
-  # Available options are dpdk, af_xdp, af_packet.
-  mode: "dpdk"
-  spgwu:
-    name: "dp-staging"
-    workers: 1
-    maxSessions: 50000
-    # Provide the S1U and SGI networks facing device name and IP address
-    s1u:
-      device: s1u
-      ip: 192.168.252.7/24
-    sgi:
-      device: sgi
-      ip: 192.168.250.7/24
-    zmq:
-      recvPort: 20
-      spgwc:
-        addr: spgwc-headless.omec.svc.staging.central
-        port: 21
-  bess:
-    web:
-      nodePort: 36000
-
-networks:
-  sriov:
-    enabled: true
-  cniPlugin: vfioveth
-  # Dynamic IP allocation is not supported for the user plane interfaces
-  ipam: static
-  enb:
-    subnet: 192.168.251.0/24
-  ue:
-    subnet: 10.250.0.0/16
-  sgi:
-    subnet: 192.168.250.0/24
-    gateway: 192.168.250.1
-  s1u:
-    subnet: 192.168.252.0/24
-    gateway: 192.168.252.1
diff --git a/ott-services/cdn-local/Chart.yaml b/ott-services/cdn-local/Chart.yaml
deleted file mode 100644
index 98dfe52..0000000
--- a/ott-services/cdn-local/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-description: A Helm chart for M-CORD CDN Services in Local Edge
-icon: https://guide.opencord.org/logos/cord.svg
-name: cdn-local
-version: 0.2.5
diff --git a/ott-services/cdn-local/templates/_helpers.tpl b/ott-services/cdn-local/templates/_helpers.tpl
deleted file mode 100644
index fc1894f..0000000
--- a/ott-services/cdn-local/templates/_helpers.tpl
+++ /dev/null
@@ -1,95 +0,0 @@
-{{- /*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "cdn-local.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "cdn-local.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "cdn-local.service_account" -}}
-{{- $saName := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-local.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-local.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-local.metadata_labels" | indent 4 }}
-rules:
-  - apiGroups:
-      - ""
-      - extensions
-      - batch
-      - apps
-    verbs:
-      - get
-      - list
-      - patch
-    resources:
-      - statefulsets
-      - daemonsets
-      - jobs
-      - pods
-      - services
-      - endpoints
-      - configmaps
-{{- end -}}
\ No newline at end of file
diff --git a/ott-services/cdn-local/templates/bin/_run-nginx.sh.tpl b/ott-services/cdn-local/templates/bin/_run-nginx.sh.tpl
deleted file mode 100644
index ffe7916..0000000
--- a/ott-services/cdn-local/templates/bin/_run-nginx.sh.tpl
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-# Assume that SGI network gateway knows routes to UE pool
-{{- if .Values.config.sriov.enabled }}
-ip route add {{ .Values.networks.ue.subnet }} via {{ .Values.networks.sgi.gateway }}
-{{- end }}
-
-ip link set {{ .Values.config.nginx.sgiInterface.name }} mtu {{ .Values.config.nginx.sgiInterface.mtu }}
-
-cp /conf/nginx.conf  /etc/nginx/
-nginx -g "daemon off;"
diff --git a/ott-services/cdn-local/templates/configmap-nginx.yaml b/ott-services/cdn-local/templates/configmap-nginx.yaml
deleted file mode 100644
index 75db4d6..0000000
--- a/ott-services/cdn-local/templates/configmap-nginx.yaml
+++ /dev/null
@@ -1,94 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: nginx-net-config
-  labels:
-{{ tuple "nginx" . | include "cdn-local.metadata_labels" | indent 4 }}
-data:
-  run-nginx.sh: |
-{{ tuple "bin/_run-nginx.sh.tpl" . | include "cdn-local.template" | indent 4 }}
-
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: nginx-rtmp-config
-  labels:
-{{ tuple "nginx" . | include "cdn-local.metadata_labels" | indent 4 }}
-data:
-  nginx.conf: |+
-    worker_processes {{ .Values.config.nginx.events.workerProcesses }};
-
-    events {
-      worker_connections {{ .Values.config.nginx.events.workerConnections }};
-    }
-
-    http {
-      include mime.types;
-
-      default_type {{ .Values.config.nginx.http.defaultType }};
-
-      sendfile {{ .Values.config.nginx.http.sendfile }};
-
-      keepalive_timeout {{ .Values.config.nginx.http.keepaliveTimeout }};
-
-      server {
-        listen {{ .Values.config.nginx.ports.http }};
-
-        server_name {{ .Values.config.nginx.http.server.serverName }};
-
-        location / {
-          root {{ .Values.config.nginx.http.server.location.root }};
-
-          index {{ .Values.config.nginx.http.server.location.index }};
-        }
-
-        error_page {{ .Values.config.nginx.http.server.error.code }} {{ .Values.config.nginx.http.server.error.page }};
-
-        location = {{ .Values.config.nginx.http.server.error.page }} {
-          root {{ .Values.config.nginx.http.server.error.root }};
-        }
-      }
-    }
-
-    rtmp {
-      server{
-        listen {{ .Values.config.nginx.ports.rtmp }};
-
-        chunk_size {{ .Values.config.nginx.rtmp.chunkSize }};
-
-        {{ range .Values.config.cdnRemotes }}
-        {{- $cdnRemote := . -}}
-        # name: {{ .name }}
-        application {{ $.Values.config.nginx.rtmp.appRemote.name }}/{{ $cdnRemote.name }} {
-          live {{ $.Values.config.nginx.rtmp.appRemote.live }};
-
-          {{- range .streams }}
-          pull rtmp://{{ $cdnRemote.ip }}:{{ $cdnRemote.port }}/LiveApp/{{ .value }} name={{ .value }};
-          {{- end }}
-
-        }
-        {{ end }}
-
-        application {{ .Values.config.nginx.rtmp.appLocal.name }} {
-          play {{ .Values.config.nginx.rtmp.appLocal.movieLocation }};
-        }
-      }
-    }
diff --git a/ott-services/cdn-local/templates/networks.yaml b/ott-services/cdn-local/templates/networks.yaml
deleted file mode 100644
index be315f8..0000000
--- a/ott-services/cdn-local/templates/networks.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ if .Values.config.sriov.enabled }}
----
-apiVersion: "k8s.cni.cncf.io/v1"
-kind: NetworkAttachmentDefinition
-metadata:
-  name: sgi-net-cdn
-  annotations:
-    k8s.v1.cni.cncf.io/resourceName: intel.com/sriov_netdevice
-spec:
-  config: '{
-    "type": {{ .Values.networks.cniPlugin | quote }},
-    "ipam": {
-        "type": {{ .Values.networks.ipam | quote }}
-    }
-  }'
-{{ end }}
diff --git a/ott-services/cdn-local/templates/service-nginx.yaml b/ott-services/cdn-local/templates/service-nginx.yaml
deleted file mode 100644
index 08969e9..0000000
--- a/ott-services/cdn-local/templates/service-nginx.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: cdn-local
-  labels:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 4 }}
-  ports:
-  - name: http
-    port: {{ .Values.config.nginx.ports.http }}
-    protocol: TCP
-  - name: rtmp
-    port: {{ .Values.config.nginx.ports.rtmp }}
-    protocol: TCP
-
-{{- if .Values.config.nginx.ports.nodePorts.enabled }}
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: cdn-local-external
-  labels:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: http
-    port: {{ .Values.config.nginx.ports.http }}
-    protocol: TCP
-    nodePort: {{ .Values.config.nginx.ports.nodePorts.http }}
-  - name: rtmp
-    port: {{ .Values.config.nginx.ports.rtmp }}
-    protocol: TCP
-    nodePort: {{ .Values.config.nginx.ports.nodePorts.rtmp }}
-{{- end }}
\ No newline at end of file
diff --git a/ott-services/cdn-local/templates/statefulset-cdn-local.yaml b/ott-services/cdn-local/templates/statefulset-cdn-local.yaml
deleted file mode 100644
index 3937078..0000000
--- a/ott-services/cdn-local/templates/statefulset-cdn-local.yaml
+++ /dev/null
@@ -1,110 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "cdn-local" . | include "cdn-local.service_account" }}
-
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: cdn-local
-  labels:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.config.nginx.replicas }}
-  selector:
-    matchLabels:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 6 }}
-  serviceName: "cdn-local"
-  template:
-    metadata:
-      labels:
-{{ tuple "cdn-local" . | include "cdn-local.metadata_labels" | indent 8 }}
-{{ if .Values.config.sriov.enabled }}
-      annotations:
-        k8s.v1.cni.cncf.io/networks: '[
-          {
-            "name": "sgi-net-cdn",
-            "interface": {{ .Values.config.nginx.sgiInterface.name | quote }},
-            "ips": {{ .Values.config.nginx.sgiInterface.ip | quote }}
-          }
-        ]'
-{{ end }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.nginx.label }}: {{ .Values.nodeSelectors.nginx.value }}
-    {{- end }}
-      hostNetwork: {{ not .Values.config.sriov.enabled }}
-      serviceAccountName: cdn-local
-      initContainers:
-      - name: cdn-local-init
-        image: {{ .Values.images.tags.nginx }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        command: [ "bash",  "-xc"]
-        args:
-        - cp /config/*.sh /shared-vol;cp /conf/* /shared-vol
-        volumeMounts:
-        - name: shared-volume
-          mountPath: /shared-vol
-        - name: nginx-net-config
-          mountPath: /config
-        - name: nginx-rtmp-config
-          mountPath: /conf
-      containers:
-      - name: nginx
-        image: {{ .Values.images.tags.nginx }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: [ "bash",  "-xc"]
-        args:
-        - chmod a+x /config/*.sh; /config/run-nginx.sh
-        securityContext:
-          privileged: true
-        volumeMounts:
-        - name: shared-volume
-          mountPath: /config
-        - name: shared-volume
-          mountPath: /conf
-        resources:
-          requests:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.nginx.requests | indent 12 }}
-          {{- end }}
-          {{- if .Values.config.sriov.enabled }}
-            intel.com/sriov_netdevice: 2
-          {{- end }}
-          limits:
-          {{- if .Values.resources.enabled }}
-{{ toYaml .Values.resources.nginx.limits | indent 12 }}
-          {{- end }}
-          {{- if .Values.config.sriov.enabled }}
-            intel.com/sriov_netdevice: 2
-          {{- end }}
-      volumes:
-      - name: nginx-net-config
-        configMap:
-          name: nginx-net-config
-          defaultMode: 493
-      - name: nginx-rtmp-config
-        configMap:
-          name: nginx-rtmp-config
-          defaultMode: 420
-      - name: shared-volume
-        emptyDir: {}
diff --git a/ott-services/cdn-local/values.yaml b/ott-services/cdn-local/values.yaml
deleted file mode 100644
index 558600b..0000000
--- a/ott-services/cdn-local/values.yaml
+++ /dev/null
@@ -1,117 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    nginx: docker.io/omecproject/cdn-nginx:1.0.0
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  nginx:
-    label: nginx
-    value: enabled
-
-resources:
-  enabled: true
-  nginx:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-
-config:
-  sriov:
-    enabled: true # If you want to use Host Network, please unset this flag.
-    netDevice:
-      pfNames:
-        - eno2
-      drivers:
-        - ixgbevf
-        - i40evf
-  nginx:
-    ports:
-      rtmp: 1935
-      http: 8085
-      nodePorts:
-        enabled: true
-        rtmp: 31935
-        http: 31885
-    # In case sriov is enabled, additional interface connected to sgi-network directly will be added
-    # with the name and address specified below.
-    # Otherwise, specify the interface name connected to SGI network in the host machine.
-    # IP address will be ignored in that case.
-    sgiInterface:
-      name: sgi-net-cdn
-      mtu: 1200
-      ip: 192.168.250.249/24
-    events:
-      workerProcesses: 1
-      workerConnections: 1024
-    http:
-      defaultType: application/octet-stream
-      sendfile: "on"
-      keepaliveTimeout: 65
-      server:
-        serverName: localhost
-        location:
-          root: html
-          index: index.html index.htm
-        error:
-          code: 500 502 503 504
-          page: /50x.html
-          root: html
-    rtmp:
-      chunkSize: 4000
-      appRemote:
-        name: r
-        live: "on"
-      appLocal:
-        name: l
-        movieLocation: /opt/cdn/movies
-    replicas: 1
-  cdnRemotes:
-  - name: remote-1
-    ip: 10.90.0.131
-    port: 30935
-    streams:
-    - name: 360p
-      value: 360
-    - name: 480p
-      value: 480
-    - name: 720p
-      value: 720
-#  - name: CDN-Remote-2
-#    ip: 10.90.0.151
-#    port: 30935
-#    streams:
-#    - name: 360p
-#      value: 360
-#    - name: 480p
-#      value: 480
-#    - name: 720p
-#      value: 720
-
-networks:
-  cniPlugin: sriov # which means netdevice
-  ipam: static
-  sgi:
-    subnet: 192.168.250.0/24
-    mask: 255.255.255.0
-    gateway: 192.168.250.250
-  ue:
-    subnet: 10.250.0.0/16
diff --git a/ott-services/cdn-remote/Chart.yaml b/ott-services/cdn-remote/Chart.yaml
deleted file mode 100644
index 6c6c2fb..0000000
--- a/ott-services/cdn-remote/Chart.yaml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-appVersion: "1.0"
-description: A Helm chart for M-CORD CDN Services in Remote Edge
-name: cdn-remote
-version: 0.2.4
diff --git a/ott-services/cdn-remote/templates/_helpers.tpl b/ott-services/cdn-remote/templates/_helpers.tpl
deleted file mode 100644
index 69921bd..0000000
--- a/ott-services/cdn-remote/templates/_helpers.tpl
+++ /dev/null
@@ -1,104 +0,0 @@
-{{- /*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "cdn-remote.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render the given template.
-*/}}
-{{- define "cdn-remote.template" -}}
-{{- $name := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $last := base $context.Template.Name }}
-{{- $wtf := $context.Template.Name | replace $last $name -}}
-{{ include $wtf $context }}
-{{- end -}}
-
-{{/*
-Get Domain name
-*/}}
-{{- define "cdn-remote.get_domain" -}}
-{{- $service := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- printf "%s.%s.svc.%s" $service $context.Release.Namespace $context.Values.config.clusterDomain -}}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "cdn-remote.service_account" -}}
-{{- $saName := index . 0 -}}
-{{- $context := index . 1 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "cdn-remote.metadata_labels" | indent 4 }}
-rules:
-  - apiGroups:
-      - ""
-      - extensions
-      - batch
-      - apps
-    verbs:
-      - get
-      - list
-      - patch
-    resources:
-      - statefulsets
-      - daemonsets
-      - jobs
-      - pods
-      - services
-      - endpoints
-      - configmaps
-{{- end -}}
\ No newline at end of file
diff --git a/ott-services/cdn-remote/templates/bin/_start-stream.sh.tpl b/ott-services/cdn-remote/templates/bin/_start-stream.sh.tpl
deleted file mode 100644
index 2d928b3..0000000
--- a/ott-services/cdn-remote/templates/bin/_start-stream.sh.tpl
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-QUALITY=$1
-
-while true; do
-    ffmpeg -re -i /opt/cdn/movies/$QUALITY.mp4 -c copy -f flv rtmp://{{ tuple "ant-media" . | include "cdn-remote.get_domain" }}:1935/LiveApp/$QUALITY;
-done
\ No newline at end of file
diff --git a/ott-services/cdn-remote/templates/configmap-video-archive.yaml b/ott-services/cdn-remote/templates/configmap-video-archive.yaml
deleted file mode 100644
index 29fa3c8..0000000
--- a/ott-services/cdn-remote/templates/configmap-video-archive.yaml
+++ /dev/null
@@ -1,26 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: start-stream
-  labels:
-{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 4 }}
-data:
-  start-stream.sh: |
-{{ tuple "bin/_start-stream.sh.tpl" . | include "cdn-remote.template" | indent 4 }}
diff --git a/ott-services/cdn-remote/templates/service-ant-media.yaml b/ott-services/cdn-remote/templates/service-ant-media.yaml
deleted file mode 100644
index ba31e53..0000000
--- a/ott-services/cdn-remote/templates/service-ant-media.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: ant-media
-  labels:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 4 }}
-  ports:
-  - name: httpui
-    port: {{ .Values.config.antMedia.ports.httpui }}
-    protocol: TCP
-  - name: rtmp
-    port: {{ .Values.config.antMedia.ports.rtmp }}
-    protocol: TCP
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: ant-media-external
-  labels:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: httpui
-    port: {{ .Values.config.antMedia.ports.httpui }}
-    protocol: TCP
-    nodePort: {{ .Values.config.antMedia.ports.nodePorts.httpui }}
-  - name: rtmp
-    port: {{ .Values.config.antMedia.ports.rtmp }}
-    protocol: TCP
-    nodePort: {{ .Values.config.antMedia.ports.nodePorts.rtmp }}
diff --git a/ott-services/cdn-remote/templates/statefulset-ant-media.yaml b/ott-services/cdn-remote/templates/statefulset-ant-media.yaml
deleted file mode 100644
index 1e9778a..0000000
--- a/ott-services/cdn-remote/templates/statefulset-ant-media.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "ant-media" . | include "cdn-remote.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: ant-media
-  labels:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.config.antMedia.replicas }}
-  selector:
-    matchLabels:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 6 }}
-  serviceName: "ant-media"
-  template:
-    metadata:
-      labels:
-{{ tuple "ant-media" . | include "cdn-remote.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.antMedia.label }}: {{ .Values.nodeSelectors.antMedia.value }}
-    {{- end }}
-      serviceAccountName: ant-media
-      containers:
-      - name: ant-media
-        image: {{ .Values.images.tags.antMedia | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        stdin: true
-        tty: true
-        command: [ "bash",  "-xc"]
-        args:
-          - cd /usr/local/antmedia && ./start.sh | tee /opt/start.log
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.antMedia | indent 10 }}
-      {{- end }}
\ No newline at end of file
diff --git a/ott-services/cdn-remote/templates/statefulset-video-archive.yaml b/ott-services/cdn-remote/templates/statefulset-video-archive.yaml
deleted file mode 100644
index 2f5460a..0000000
--- a/ott-services/cdn-remote/templates/statefulset-video-archive.yaml
+++ /dev/null
@@ -1,141 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "video-archive" . | include "cdn-remote.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: video-archive
-  labels:
-{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.config.videoArchive.replicas }}
-  selector:
-    matchLabels:
-{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 6 }}
-  serviceName: "video-archive"
-  template:
-    metadata:
-      labels:
-{{ tuple "video-archive" . | include "cdn-remote.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.videoArchive.label }}: {{ .Values.nodeSelectors.videoArchive.value }}
-    {{- end }}
-      serviceAccountName: video-archive
-      initContainers:
-      - name: video-archive-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-        - name: POD_NAME
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.name
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        - name: PATH
-          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-        - name: COMMAND
-          value: "echo done"
-        - name: DEPENDENCY_POD_JSON
-          value: '[{"labels": {"app": "ant-media"}, "requireSameNode": false}]'
-        command:
-          - kubernetes-entrypoint
-        volumeMounts:
-          []
-      containers:
-{{- if .Values.config.videoArchive.q720p.enabled }}
-      - name: streaming-720
-        image: {{ .Values.images.tags.videoArchive | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        stdin: true
-        tty: true
-        command: [ "bash",  "-xc"]
-        args:
-        - /opt/start-stream.sh 720
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.videoArchive | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: start-script
-          mountPath: /opt/start-stream.sh
-          subPath: start-stream.sh
-{{- end }}
-{{- if .Values.config.videoArchive.q480p.enabled }}
-      - name: streaming-480
-        image: {{ .Values.images.tags.videoArchive | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        stdin: true
-        tty: true
-        command: [ "bash",  "-xc"]
-        args:
-        - /opt/start-stream.sh 480
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.videoArchive | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: start-script
-          mountPath: /opt/start-stream.sh
-          subPath: start-stream.sh
-{{- end }}
-{{- if .Values.config.videoArchive.q360p.enabled }}
-      - name: streaming-360
-        image: {{ .Values.images.tags.videoArchive | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        stdin: true
-        tty: true
-        command: [ "bash",  "-xc"]
-        args:
-        - /opt/start-stream.sh 360
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.videoArchive | indent 10 }}
-      {{- end }}
-        volumeMounts:
-        - name: start-script
-          mountPath: /opt/start-stream.sh
-          subPath: start-stream.sh
-{{- end }}
-      volumes:
-      - name: start-script
-        configMap:
-          name: start-stream
-          defaultMode: 493
\ No newline at end of file
diff --git a/ott-services/cdn-remote/values.yaml b/ott-services/cdn-remote/values.yaml
deleted file mode 100644
index c515371..0000000
--- a/ott-services/cdn-remote/values.yaml
+++ /dev/null
@@ -1,66 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    videoArchive: docker.io/omecproject/cdn-video-repo:1.0.0
-    antMedia: docker.io/omecproject/cdn-antmedia:1.0.0
-    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  videoArchive:
-    label: videoArchive
-    value: enabled
-  antMedia:
-    label: antMedia
-    value: enabled
-
-resources:
-  enabled: true
-  videoArchive:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-  antMedia:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-
-config:
-  clusterDomain: cluster.local
-  videoArchive:
-    replicas: 1
-    q360p:
-      enabled: true
-    q480p:
-      enabled: true
-    q720p:
-      enabled: true
-  antMedia:
-    ports:
-      httpui: 5080
-      rtmp: 1935
-      nodePorts:
-        httpui: 32080
-        rtmp: 30935
-    replicas: 1
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml
deleted file mode 100644
index c147ead..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/Chart.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-name: accelleran-cbrs-common
-description: A Helm chart to install Accelleran common to run Accelleran CU on CBRS band
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.2
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl
deleted file mode 100644
index 452fb6d..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/_helpers.tpl
+++ /dev/null
@@ -1,84 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Render a set of standardised label
-*/}}
-{{- define "accelleran-cbrs-common.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "accelleran-cbrs-common.service_account" -}}
-{{- $context := index . 1 -}}
-{{- $saName := index . 0 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-rules:
-  - apiGroups:
-      - ""
-      - extensions
-      - batch
-      - apps
-    verbs:
-      - get
-      - list
-      - patch
-    resources:
-      - statefulsets
-      - daemonsets
-      - jobs
-      - pods
-      - services
-      - endpoints
-      - configmaps
-{{- end -}}
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml
deleted file mode 100644
index 38fe7ef..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/configmap-accelleran-cbrs-ric.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: accelleran-cbrs-ric-cm
-  labels:
-{{ tuple "accelleran-cbrs-ric-cm" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-data:
-  bootstrap: |
-    redis.hostname:{{ .Values.config.redis.hostName }}
-    redis.port:{{ .Values.config.redis.ports.redisPort.port }}
-    instance.filter:{{ .Values.config.ric.instanceId }}
-
-  zlog.conf: |
-    [global]
-    strict init = true
-    buffer min = {{ .Values.config.ric.zlogConf.bufferMin }}
-    buffer max = {{ .Values.config.ric.zlogConf.bufferMax }}
-    rotate lock file = /tmp/zlog.lock
-
-    [formats]
-    printf_format = "%d(%b %d %H:%M:%S).%ms %8.8H %m%n"
-    [rules]
-    user.* >stdout ;printf_format
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml
deleted file mode 100644
index 8b96073..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/job-redis-init.yaml
+++ /dev/null
@@ -1,71 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{/*
-It is the job to flush Redis database
-*/}}
----
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: job-redis-init
-  labels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  template:
-    metadata:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
-    {{- end }}
-      serviceAccountName: accelleran-cbrs-redis
-      restartPolicy: OnFailure
-      initContainers:
-      - name: accelleran-cbrs-redis-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-        - name: POD_NAME
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.name
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        - name: PATH
-          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-        - name: COMMAND
-          value: "echo done"
-        - name: DEPENDENCY_POD_JSON
-          value: '[{"labels": {"app": "accelleran-cbrs-redis"}, "requireSameNode": false}]'
-      containers:
-      - name: accelleran-cbrs-redis-init
-        image: {{ .Values.images.tags.redisClient }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: ["sh", "-c"]
-        args:
-        - redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} flushall;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} set NATS_SERVICE_URL "nat://{{ .Values.config.nats.ip }}:{{ .Values.config.nats.ports.natsPort.nodePort }}";
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} keys '*';
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml
deleted file mode 100644
index fc5c555..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-nats.yaml
+++ /dev/null
@@ -1,61 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: Service
-metadata:
-  name: accelleran-cbrs-nats
-  labels:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  ports:
-  - name: nats-port
-    port: {{ .Values.config.nats.ports.natsPort.port }}
-    protocol: {{ .Values.config.nats.ports.natsPort.protocol }}
-  - name: cluster-port
-    port: {{ .Values.config.nats.ports.clusterPort.port }}
-    protocol: {{ .Values.config.nats.ports.clusterPort.protocol }}
-  - name: console-port
-    port: {{ .Values.config.nats.ports.consolePort.port }}
-    protocol: {{ .Values.config.nats.ports.consolePort.protocol }}
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: accelleran-cbrs-nats-exernal
-  labels:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: nats-port
-    port: {{ .Values.config.nats.ports.natsPort.port }}
-    nodePort: {{ .Values.config.nats.ports.natsPort.nodePort }}
-    protocol: {{ .Values.config.nats.ports.natsPort.protocol }}
-  - name: cluster-port
-    port: {{ .Values.config.nats.ports.clusterPort.port }}
-    nodePort: {{ .Values.config.nats.ports.clusterPort.nodePort }}
-    protocol: {{ .Values.config.nats.ports.clusterPort.protocol }}
-  - name: console-port
-    port: {{ .Values.config.nats.ports.consolePort.port }}
-    nodePort: {{ .Values.config.nats.ports.consolePort.nodePort }}
-    protocol: {{ .Values.config.nats.ports.consolePort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml
deleted file mode 100644
index 6114a12..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-redis.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: Service
-metadata:
-  name: accelleran-cbrs-redis
-  labels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  ports:
-  - name: redis-port
-    port: {{ .Values.config.redis.ports.redisPort.port }}
-    protocol: {{ .Values.config.redis.ports.redisPort.protocol }}
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: accelleran-cbrs-redis-exernal
-  labels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: redis-port
-    port: {{ .Values.config.redis.ports.redisPort.port }}
-    nodePort: {{ .Values.config.redis.ports.redisPort.nodePort }}
-    protocol: {{ .Values.config.redis.ports.redisPort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml
deleted file mode 100644
index 4efb470..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/service-accelleran-cbrs-ricweb.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: Service
-metadata:
-  name: accelleran-cbrs-ricweb
-  labels:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  ports:
-  - name: ric-web-port
-    port: {{ .Values.config.ricWeb.ports.ricWebPort.port }}
-    protocol: {{ .Values.config.ricWeb.ports.ricWebPort.protocol }}
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: accelleran-cbrs-ricweb-exernal
-  labels:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: ric-web-port
-    port: {{ .Values.config.ricWeb.ports.ricWebPort.port }}
-    nodePort: {{ .Values.config.ricWeb.ports.ricWebPort.nodePort }}
-    protocol: {{ .Values.config.ricWeb.ports.ricWebPort.protocol }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml
deleted file mode 100644
index f6b9665..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-nats.yaml
+++ /dev/null
@@ -1,48 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: accelleran-cbrs-nats
-  labels:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
-  serviceName: accelleran-cbrs-nats
-  template:
-    metadata:
-      labels:
-{{ tuple "accelleran-cbrs-nats" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
-    {{- end }}
-      serviceAccountName: accelleran-cbrs-nats
-      containers:
-      - name: nats
-        image: {{ .Values.images.tags.nats }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: ["/entrypoint.sh"]
-        args: ["/usr/bin/gnatsd",  "-c",  "/etc/gnatsd.conf" ]
-        {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
-        {{- end }}
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml
deleted file mode 100644
index 9ab90af..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-redis.yaml
+++ /dev/null
@@ -1,58 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: accelleran-cbrs-redis
-  labels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
-  serviceName: accelleran-cbrs-redis
-  template:
-    metadata:
-      labels:
-{{ tuple "accelleran-cbrs-redis" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
-    {{- end }}
-      serviceAccountName: accelleran-cbrs-redis
-      containers:
-      - name: redis
-        image: {{ .Values.images.tags.redis }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        command: ["sh", "-c"]
-        args:
-        - /usr/local/bin/redis-server /etc/redis.conf
-        {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
-        {{- end }}
-        volumeMounts:
-        - mountPath: /data
-          name: redis-data-volume
-      volumes:
-      - name: redis-data-volume
-        hostPath:
-          path: /tmp/redis-storage
-          type: DirectoryOrCreate
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml
deleted file mode 100644
index 2fbd5e3..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ric.yaml
+++ /dev/null
@@ -1,101 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.service_account" }}
-
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: accelleran-cbrs-ric
-  labels:
-{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
-  serviceName: accelleran-cbrs-ric
-  template:
-    metadata:
-      labels:
-{{ tuple "accelleran-cbrs-ric" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
-    {{- end }}
-      serviceAccountName: accelleran-cbrs-ric
-      initContainers:
-      - name: redis-init-dep-check
-        image: {{ .Values.images.tags.depCheck }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-        - name: POD_NAME
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.name
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        - name: PATH
-          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-        - name: COMMAND
-          value: "echo done"
-        - name: DEPENDENCY_JOBS
-          value: job-redis-init
-      containers:
-      - name: ric
-        image: {{ .Values.images.tags.ric }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          privileged: true
-          capabilities:
-            add:
-            - NET_ADMIN
-            - IPC_LOCK
-            - SYS_NICE
-        env:
-        - name: ZLOG_CONF_PATH
-          value: /zlog.conf
-        - name: BOOTSTRAP_FILENAME
-          value: /bootstrap
-        - name: LD_LIBRARY_PATH
-          value: /data/
-        - name: FAP_DB_PATH
-          value: /data/
-        command: ["/data/ric"]
-        {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCBRSCommon | indent 10 }}
-        {{- end }}
-        volumeMounts:
-        - name: ric-config-volume
-          mountPath: /bootstrap
-          subPath: bootstrap
-        - name: ric-config-volume
-          mountPath: /zlog.conf
-          subPath: zlog.conf
-      volumes:
-      - name: ric-config-volume
-        configMap:
-          name: accelleran-cbrs-ric-cm
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml
deleted file mode 100644
index 28cb015..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/templates/statefulset-accelleran-cbrs-ricweb.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.service_account" }}
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: accelleran-cbrs-ricweb
-  labels:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 6 }}
-  serviceName: accelleran-cbrs-ricweb
-  template:
-    metadata:
-      labels:
-{{ tuple "accelleran-cbrs-ricweb" . | include "accelleran-cbrs-common.metadata_labels" | indent 8 }}
-    spec:
-      serviceAccountName: accelleran-cbrs-ricweb
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCommon.label }}: {{ .Values.nodeSelectors.accelleranCBRSCommon.value }}
-    {{- end }}
-      initContainers:
-      - name: accelleran-cbrs-ric-dep-check
-        image: {{ .Values.images.tags.depCheck | quote }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          allowPrivilegeEscalation: false
-          readOnlyRootFilesystem: false
-          runAsUser: 0
-        env:
-        - name: POD_NAME
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.name
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        - name: PATH
-          value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/
-        - name: COMMAND
-          value: "echo done"
-        - name: DEPENDENCY_POD_JSON
-          value: '[{"labels": {"app": "accelleran-cbrs-ric"}, "requireSameNode": false}]'
-
-      containers:
-      - name: ric-web
-        image: {{ .Values.images.tags.ricWeb }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        env:
-        - name: NATS_URL
-          value: {{ .Values.config.nats.url | quote }}
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml b/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml
deleted file mode 100644
index 3a44245..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-common/values.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    initCU: docker.io/omecproject/pod-init:1.0.0
-    nats: registry.aether.opennetworking.org/aether/accelleran-cu-nats:v1.0.0
-    redis: registry.aether.opennetworking.org/aether/accelleran-cu-redis:v1.0.0
-    redisClient: docker.io/redis:5.0.6-alpine3.10
-    ric: registry.aether.opennetworking.org/aether/accelleran-cu-ric:v1.0.0
-    ricWeb: registry.aether.opennetworking.org/aether/accelleran-cu-ricweb:v1.0.0
-    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  accelleranCBRSCommon:
-    label: accelleran-cbrs-common
-    value: enabled
-
-resources:
-  enabled: true
-  accelleranCBRSCommon:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-
-config:
-  nats:
-    url: accelleran-cbrs-nats:4222
-    ip: 119.0.0.30 # Node IP address of nats -- for accessing through NodePort
-    ports:
-      natsPort:
-        port: 4222
-        nodePort: 31000
-        protocol: TCP
-      clusterPort:
-        port: 6222
-        nodePort: 31001
-        protocol: TCP
-      consolePort:
-        port: 8222
-        nodePort: 31002
-        protocol: TCP
-  redis:
-    hostName: accelleran-cbrs-redis
-    ports:
-      redisPort:
-        port: 6379
-        nodePort: 32000
-        protocol: TCP
-  ric:
-    zlogConf:
-      bufferMin: 64K
-      bufferMax: 64K
-    instanceId: ONFRIC001
-  ricWeb:
-    ports:
-      ricWebPort:
-        port: 8080
-        nodePort: 30000
-        protocol: TCP
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/Chart.yaml b/ran/accelleran-cbrs/accelleran-cbrs-cu/Chart.yaml
deleted file mode 100644
index 5372dce..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/Chart.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-# Copyright 2019-present Open Networking Foundation
-#
-# 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
-name: accelleran-cbrs-cu
-description: A Helm chart to install Accelleran CU on CBRS band
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.8
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/_helpers.tpl b/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/_helpers.tpl
deleted file mode 100644
index fccad55..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/_helpers.tpl
+++ /dev/null
@@ -1,26 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-*/ -}}
-
-{{/*
-Render a set of standardised label
-*/}}
-{{- define "accelleran-cbrs-cu.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/configmap-accelleran-cbrs-cu.yaml b/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/configmap-accelleran-cbrs-cu.yaml
deleted file mode 100644
index cf35e03..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/configmap-accelleran-cbrs-cu.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}-cm
-  labels:
-{{ tuple "accelleran-cbrs-cu-cm" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-data:
-  bootstrap: |
-    redis.hostname:{{ .Values.config.redis.hostName }}
-    redis.port:{{ .Values.config.redis.ports.redisPort.port }}
-    instance.filter:{{ .Values.config.vranL3.instanceId }}
-
-  zlog.conf: |
-    [global]
-    strict init = true
-    buffer min = {{ .Values.config.vranL3.zlogConf.bufferMin }}
-    buffer max = {{ .Values.config.vranL3.zlogConf.bufferMax }}
-    rotate lock file = /tmp/zlog.lock
-
-    [formats]
-    printf_format = "%d(%b %d %H:%M:%S).%ms %8.8H %m%n"
-    [rules]
-    user.* >stdout ;printf_format
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/service-accelleran-cbrs-cu.yaml b/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/service-accelleran-cbrs-cu.yaml
deleted file mode 100644
index bcb1da6..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/service-accelleran-cbrs-cu.yaml
+++ /dev/null
@@ -1,47 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: Service
-metadata:
-  name: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}
-  labels:
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-  ports:
-  - name: s1ap-port
-    port: {{ .Values.config.vranL3.ports.s1ap.port }}
-    protocol: {{ .Values.config.vranL3.ports.s1ap.protocol }}
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}-exernal
-  labels:
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: s1ap-port
-    port: {{ .Values.config.vranL3.ports.s1ap.port }}
-    nodePort: {{ .Values.config.vranL3.ports.s1ap.nodePort }}
-    protocol: {{ .Values.config.vranL3.ports.s1ap.protocol }}
\ No newline at end of file
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/statefulset-accelleran-cbrs-cu.yaml b/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/statefulset-accelleran-cbrs-cu.yaml
deleted file mode 100644
index 68d2cbd..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/templates/statefulset-accelleran-cbrs-cu.yaml
+++ /dev/null
@@ -1,123 +0,0 @@
-{{- /*
-# Copyright 2019-present Open Networking Foundation
-#
-# 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: StatefulSet
-metadata:
-  name: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}
-  labels:
-    deployedCellId: {{ .Values.config.vranL3.instanceId }}
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 4 }}
-spec:
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 6 }}
-  serviceName: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}
-  template:
-    metadata:
-      labels:
-        deployedCellId: {{ .Values.config.vranL3.instanceId }}
-{{ tuple "accelleran-cbrs-cu" . | include "accelleran-cbrs-cu.metadata_labels" | indent 8 }}
-    spec:
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCBRSCU.label }}: {{ .Values.nodeSelectors.accelleranCBRSCU.value }}
-    {{- end }}
-      initContainers:
-      - name: cu-init
-        image: {{ .Values.images.tags.initCU }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-        command: [ "sh",  "-c"]
-        args:
-        - >
-          iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
-          if chroot /mnt/host-rootfs modinfo nf_conntrack_proto_sctp > /dev/null 2>&1; then \
-              chroot /mnt/host-rootfs modprobe nf_conntrack_proto_sctp; \
-          fi; \
-        volumeMounts:
-        - name: host-rootfs
-          mountPath: /mnt/host-rootfs
-      containers:
-      - name: vran-l3
-        image: {{ .Values.images.tags.vranL3 }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        env:
-        - name: ZLOG_CONF_PATH
-          value: /zlog.conf
-        - name: BOOTSTRAP_FILENAME
-          value: /bootstrap
-        - name: LD_LIBRARY_PATH
-          value: /data/
-        - name: FAP_DB_PATH
-          value: /data/
-        command: ["sh", "-c"]
-        args:
-        - sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteEpcPlmnList set PLMNID='{{ .Values.config.vranL3.plmnId }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceFapControlLteGateway set SecGWServer1='{{ .Values.config.mme.ip }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceFapControlLteGateway set SecGWServer2='{{ .Values.config.mme.ip }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceFapControlLteGateway set SecGWServer3='{{ .Values.config.mme.ip }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceFapControlLteGateway_S1SigLinkServerListList set S1SigLinkServerList='{{ .Values.config.mme.ip }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteRanRf set FreqBandIndicator='{{ .Values.config.vranL3.freqBand }}';";
-          sqlite3 /data/datastore.db "update featureActivation set good1PPSRequired=0;";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteRanRf_EARFCNDLList set EARFCNDL='{{ .Values.config.vranL3.earfcnDl }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteRanRf_EARFCNULList set EARFCNUL='{{ .Values.config.vranL3.earfcnUl }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteEpc set TAC='{{ .Values.config.vranL3.tac }}';";
-          sqlite3 /data/datastoreRemRw.db "update FapServiceCellConfigLteRanCommon set CellIdentity='{{ mul .Values.config.vranL3.enbId 256 }}';";
-          sqlite3 /data/datastoreRemRw.db "select * from FapServiceCellConfigLteEpc;";
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICEFAPCONTROLLTEGATEWAYS1SIGLINKSERVERLIST[0] S1SIGLINKSERVERLIST {{ .Values.config.mme.ip }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICEFAPCONTROLLTEGATEWAY_S1SIGLINKSERVERLISTLIST[0] S1SIGLINKSERVERLIST {{ .Values.config.mme.ip }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF FREQBANDINDICATOR {{ .Values.config.vranL3.freqBand }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FEATUREACTIVATION GOOD1PPSREQUIRED False;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTEEPCPLMNLIST[0] PLMNID {{ .Values.config.vranL3.plmnId }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF_EARFCNDLLIST EARFCNDL {{ .Values.config.vranL3.earfcnDl }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF_EARFCNULLIST EARFCNUL {{ .Values.config.vranL3.earfcnUl }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTEEPC TAC {{ .Values.config.vranL3.tac }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hset ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANCOMMON TAC {{ mul .Values.config.vranL3.enbId 256 }};
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICEFAPCONTROLLTEGATEWAYS1SIGLINKSERVERLIST[0];
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICEFAPCONTROLLTEGATEWAY_S1SIGLINKSERVERLISTLIST[0];
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FEATUREACTIVATION;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTEEPCPLMNLIST[0];
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF_EARFCNDLLIST;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANRF_EARFCNULLIST;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTEEPC;
-          redis-cli -h {{ .Values.config.redis.hostName }} -p {{ .Values.config.redis.ports.redisPort.port }} hgetall ENB_{{ .Values.config.vranL3.instanceId }}_FAPSERVICECELLCONFIGLTERANCOMMON;
-          sleep 30;
-          /data/l3service;
-        securityContext:
-          privileged: true
-        {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCBRSCU | indent 10 }}
-        {{- end }}
-        volumeMounts:
-        - name: l3-config-volume
-          mountPath: /bootstrap
-          subPath: bootstrap
-        - name: l3-config-volume
-          mountPath: /zlog.conf
-          subPath: zlog.conf
-      volumes:
-      - name: l3-config-volume
-        configMap:
-          name: accelleran-cbrs-cu-{{ .Values.config.vranL3.instanceId }}-cm
-      - name: host-rootfs
-        hostPath:
-          path: /
diff --git a/ran/accelleran-cbrs/accelleran-cbrs-cu/values.yaml b/ran/accelleran-cbrs/accelleran-cbrs-cu/values.yaml
deleted file mode 100644
index 25a228b..0000000
--- a/ran/accelleran-cbrs/accelleran-cbrs-cu/values.yaml
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2019-present Open Networking Foundation
-#
-# 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.
-
-images:
-  tags:
-    initCU: docker.io/omecproject/pod-init:1.0.0
-    vranL3: registry.aether.opennetworking.org/aether/accelleran-cu-l3-tdd:v1.0.2
-    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  accelleranCBRSCU:
-    label: accelleran-cbrs-cu
-    value: enabled
-
-resources:
-  enabled: true
-  accelleranCBRSCU:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-
-config:
-  vranL3:
-    zlogConf:
-      bufferMin: 64K
-      bufferMax: 64K
-    instanceId: onfcell202 # Cell ID -- Unique value for each L2/DU-L3/CU pair, no capital and special character
-    tac: 202
-    enbId: 1
-    freqBand: 48
-    earfcnDl: 55990
-    earfcnUl: 55990
-    plmnId: "371211" # 130501 for aether If not, 315010 oldone: 371211
-    ports:
-      s1ap:
-        port: 36412
-        nodePort: 31412
-        protocol: SCTP
-  redis:
-    hostName: accelleran-cbrs-redis
-    ports:
-      redisPort:
-        port: 6379
-  mme:
-    ip: 10.90.0.151
-    s1apPort: 36412
diff --git a/ran/accelleran-cu/Chart.yaml b/ran/accelleran-cu/Chart.yaml
deleted file mode 100644
index c751eaa..0000000
--- a/ran/accelleran-cu/Chart.yaml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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
-name: accelleran-cu
-description: A Helm chart to install Accelleran CU
-icon: https://guide.opencord.org/logos/cord.svg
-
-version: 0.1.2
diff --git a/ran/accelleran-cu/templates/_helpers.tpl b/ran/accelleran-cu/templates/_helpers.tpl
deleted file mode 100644
index 6ba93e7..0000000
--- a/ran/accelleran-cu/templates/_helpers.tpl
+++ /dev/null
@@ -1,67 +0,0 @@
-{{- /*
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-*/ -}}
-
-{{/*
-Renders a set of standardised labels
-*/}}
-{{- define "accelleran-cu.metadata_labels" -}}
-{{- $application := index . 0 -}}
-{{- $context := index . 1 -}}
-release: {{ $context.Release.Name }}
-app: {{ $application }}
-{{- end -}}
-
-{{/*
-Render ServiceAccount, Role, and RoleBinding required for kubernetes-entrypoint.
-*/}}
-{{- define "accelleran-cu.service_account" -}}
-{{- $context := index . 1 -}}
-{{- $saName := index . 0 -}}
-{{- $saNamespace := $context.Release.Namespace }}
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cu.metadata_labels" | indent 4 }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: RoleBinding
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cu.metadata_labels" | indent 4 }}
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: {{ $saName }}
-subjects:
-  - kind: ServiceAccount
-    name: {{ $saName }}
-    namespace: {{ $saNamespace }}
----
-apiVersion: rbac.authorization.k8s.io/v1beta1
-kind: Role
-metadata:
-  name: {{ $saName }}
-  namespace: {{ $saNamespace }}
-  labels:
-{{ tuple $saName $context | include "accelleran-cu.metadata_labels" | indent 4 }}
-{{- end -}}
diff --git a/ran/accelleran-cu/templates/configmap-accelleran.yaml b/ran/accelleran-cu/templates/configmap-accelleran.yaml
deleted file mode 100644
index 7076d95..0000000
--- a/ran/accelleran-cu/templates/configmap-accelleran.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: accelleran-cu-config
-  labels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-data:
-  bootstrap.txt: |
-    redis.hostname:accelleran-cu
-    redis.port:{{ .Values.config.vran.ports.redis.port }}
-    instance.filter:{{ .Values.config.vran.instId }}
\ No newline at end of file
diff --git a/ran/accelleran-cu/templates/service-accelleran.yaml b/ran/accelleran-cu/templates/service-accelleran.yaml
deleted file mode 100644
index 4e78f27..0000000
--- a/ran/accelleran-cu/templates/service-accelleran.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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: Service
-metadata:
-  name: accelleran-cu
-  labels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-  ports:
-  - name: s1ap
-    port: {{ .Values.config.vran.ports.s1ap.port }}
-    protocol: SCTP
-  - name: nats
-    port: {{ .Values.config.vran.ports.nats.port }}
-    protocol: TCP
-  - name: redis
-    port: {{ .Values.config.vran.ports.redis.port }}
-    protocol: TCP
-
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: acceleran-cu-external
-  labels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-spec:
-  selector:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-  type: NodePort
-  ports:
-  - name: nats
-    port: {{ .Values.config.vran.ports.nats.port }}
-    protocol: TCP
-    nodePort: {{ .Values.config.vran.ports.nats.nodePort }}
-  - name: redis
-    port: {{ .Values.config.vran.ports.redis.port }}
-    protocol: TCP
-    nodePort: {{ .Values.config.vran.ports.redis.nodePort }}
diff --git a/ran/accelleran-cu/templates/statefulset-accelleran.yaml b/ran/accelleran-cu/templates/statefulset-accelleran.yaml
deleted file mode 100644
index 31431e9..0000000
--- a/ran/accelleran-cu/templates/statefulset-accelleran.yaml
+++ /dev/null
@@ -1,145 +0,0 @@
-{{/*
-Copyright 2019-present Open Networking Foundation
-
-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.
-*/}}
-
-{{ tuple "accelleran-cu" . | include "accelleran-cu.service_account" }}
-
----
-apiVersion: apps/v1
-kind: StatefulSet
-metadata:
-  name: accelleran-cu
-  labels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 4 }}
-spec:
-  replicas: {{ .Values.config.vran.replicas }}
-  selector:
-    matchLabels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 6 }}
-  serviceName: "accelleran-cu"
-  template:
-    metadata:
-      labels:
-{{ tuple "accelleran-cu" . | include "accelleran-cu.metadata_labels" | indent 8 }}
-    spec:
-      terminationGracePeriodSeconds: 1
-    {{- if .Values.nodeSelectors.enabled }}
-      nodeSelector:
-        {{ .Values.nodeSelectors.accelleranCU.label }}: {{ .Values.nodeSelectors.accelleranCU.value }}
-    {{- end }}
-      serviceAccountName: accelleran-cu
-      initContainers:
-      - name: cu-init
-        image: {{ .Values.images.tags.initCU }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          privileged: true
-          runAsUser: 0
-        command: [ "sh",  "-c"]
-        args:
-        - >
-          iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
-          if chroot /mnt/host-rootfs modinfo nf_conntrack_proto_sctp > /dev/null 2>&1; then \
-              chroot /mnt/host-rootfs modprobe nf_conntrack_proto_sctp; \
-          fi; \
-        volumeMounts:
-        - name: host-rootfs
-          mountPath: /mnt/host-rootfs
-      containers:
-      - name: nats
-        image: {{ .Values.images.tags.nats }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          capabilities:
-            add:
-              - NET_ADMIN
-              - IPC_LOCK
-        stdin: true
-        tty: true
-        env:
-        - name: NATS_SERVICE_NAME
-          value: {{ .Values.config.nats.serviceName }}
-        command: [ "sh", "-c"]
-        args:
-        - gnatsd -DV -c /etc/gnatsd.conf;
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCU | indent 10 }}
-      {{- end }}
-      - name: redis
-        image: {{ .Values.images.tags.redis }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          capabilities:
-            add:
-              - NET_ADMIN
-              - IPC_LOCK
-        stdin: true
-        tty: true
-        command: ["sh", "-c"]
-        args:
-        # FIXME: Redis can't support with dns resolution, can't set hostname at here.
-        - (sleep 5; redis-cli -h localhost -p {{ .Values.config.vran.ports.redis.port }} set NATS_SERVICE_URL "nat://{{ .Values.config.nats.ip }}:{{ .Values.config.vran.ports.nats.port }}";) &
-          /usr/local/bin/redis-server
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCU | indent 10 }}
-      {{- end }}
-      - name: vran-l3
-        image: {{ .Values.images.tags.vranL3 }}
-        imagePullPolicy: {{ .Values.images.pullPolicy }}
-        securityContext:
-          capabilities:
-            add:
-            - NET_ADMIN
-            - IPC_LOCK
-            - SYS_NICE
-        stdin: true
-        tty: true
-        env:
-          - name: MME_IP
-            value: {{ .Values.config.mme.ip }}
-        command: ["sh", "-c"]
-        args:
-        - sqlite3 /mnt/app/datastore.db "update cellS1apConfig set enbSctpPort={{ .Values.config.vran.ports.s1ap.port }};";
-          sqlite3 /mnt/app/datastoreRemRw.db "update FapServiceFapControlLteGateway set S1SigLinkPort={{ .Values.config.mme.s1apPort }};";
-          sqlite3 /mnt/app/datastoreRemRw.db "update FapServiceCellConfigLteEpcPlmnList set PLMNID={{ .Values.config.epc.plmnId }};";
-          sqlite3 /mnt/app/datastore.db "insert into enbSctpSocketInterface ('interfaceName') values ('{{ .Values.config.vran.socketInterface }}');";
-          sqlite3 /mnt/app/datastore.db "update logging set severity=7 where id=25;";
-{{- if .Values.config.progran.enabled }}
-          sqlite3 /mnt/app/datastore.db "update featureActivation set mmeSlicingEnabled=1;";
-          sqlite3 /mnt/app/datastore.db "update featureActivation set ranSlicingEnabled=1;";
-          sqlite3 /mnt/app/datastore.db "insert into pranServerAddress (pranServerIpAddress,pranServerPort) values ('{{ .Values.config.progran.ip }}', {{ .Values.config.progran.port }});";
-{{- end}}
-          sleep 10;
-          /l3/l3start;
-        volumeMounts:
-        - name: bbu-config
-          mountPath: /mnt/app/bootstrap.txt
-          subPath: bootstrap.txt
-      {{- if .Values.resources.enabled }}
-        resources:
-{{ toYaml .Values.resources.accelleranCU | indent 10 }}
-      {{- end }}
-      volumes:
-        - name: bbu-config
-          configMap:
-            name: accelleran-cu-config
-            items:
-              - key: bootstrap.txt
-                path: bootstrap.txt
-        - name: host-rootfs
-          hostPath:
-            path: /
diff --git a/ran/accelleran-cu/values.yaml b/ran/accelleran-cu/values.yaml
deleted file mode 100644
index befee44..0000000
--- a/ran/accelleran-cu/values.yaml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2018-present Open Networking Foundation
-# Copyright 2018 Intel Corporation
-#
-# 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.
-
-images:
-  tags:
-    initCU: docker.io/omecproject/pod-init:1.0.0
-    nats: registry.aether.opennetworking.org/aether/accelleran-cu-nats-b17:v1.0.0
-    redis: registry.aether.opennetworking.org/aether/accelleran-cu-redis-b17:v1.0.0
-    vranL3: registry.aether.opennetworking.org/aether/accelleran-cu-l3-fdd-b17:v1.0.0
-  pullPolicy: IfNotPresent
-
-nodeSelectors:
-  enabled: false
-  accelleranCU:
-    label: accelleran-cu
-    value: enabled
-
-resources:
-  enabled: true
-  accelleranCU:
-    requests:
-      cpu: 3
-      memory: 1Gi
-    limits:
-      cpu: 3
-      memory: 1Gi
-
-config:
-  vran:
-    replicas: 1
-    socketInterface: eth0
-    instId: "enb_key"
-    ports:
-      s1ap:
-        port: 36412
-      nats:
-        port: 4222
-        nodePort: 4222
-      redis:
-        port: 6379
-        nodePort: 6379
-  nats:
-    serviceName: "nats-cluster"
-    ip: 10.90.0.151
-  epc:
-    plmnId: 371211
-  mme:
-    ip: 10.90.0.151
-    s1apPort: 36412
-  progran:
-    enabled: false
-    # ONOS ProgRAN IP address
-    ip: 10.90.0.151
-    port: 30410
-
-
