diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000..626cd61
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,3 @@
+We expect all ONF employees, member companies, and participants to abide by our [Code of Conduct](https://www.opennetworking.org/wp-content/themes/onf/img/onf-code-of-conduct.pdf).
+
+If you are being harassed, notice that someone else is being harassed, or have any other concerns involving someone’s welfare, please notify a member of the ONF team or email [conduct@opennetworking.org](conduct@opennetworking.org). 
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..8d5cb7d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,16 @@
+# Copyright 2019-present the original author or authors.
+#
+# 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.
+
+%: voltha/voltha-kafka-dump
+	make -C voltha/voltha-kafka-dump $@
diff --git a/VERSION b/VERSION
index efd36c4..6f58ecf 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-6.1.1-dev
+6.1.5-dev0
diff --git a/comac-in-a-box/Makefile b/comac-in-a-box/Makefile
index bfdaa3e..79a101e 100644
--- a/comac-in-a-box/Makefile
+++ b/comac-in-a-box/Makefile
@@ -11,7 +11,7 @@
 KUBESPRAY_VERSION ?= release-2.11
 DOCKER_VERSION	?= 18.09
 K8S_VERSION	?= v1.15.3
-HELM_VERSION	?= v2.15.0
+HELM_VERSION	?= v2.16.1
 
 # used to start logging/monitoring and other infrastructure charts
 INFRA_CHARTS	?=
@@ -89,7 +89,7 @@
 		-e "{'docker_iptables_enabled' : True}" \
 		-e "{'kube_version' : $(K8S_VERSION)}" \
 		-e "{'kube_network_plugin_multus' : True, 'multus_version' : stable}" \
-		-e "{'kube_proxy_mode': iptables}" \
+		-e "{'kube_proxy_metrics_bind_address' : 0.0.0.0:10249}" \
 		-e "{'kube_pods_subnet' : 192.168.0.0/17, 'kube_service_addresses' : 192.168.128.0/17}" \
 		-e "{'kube_apiserver_node_port_range' : 2000-36767}" \
 		-e "{'kubeadm_enabled': True}" \
@@ -121,10 +121,10 @@
 $(M)/platform: | $(M)/helm-ready $(WORKSPACE)/cord/helm-charts $(WORKSPACE)/cord/cord-platform
 	cd $(WORKSPACE)/cord/cord-platform && \
 	helm dep update cord-platform && \
-	helm install $(HELM_GLOBAL_ARGS) --name cord-platform cord-platform -f $(CIABVALUES)
+	helm upgrade --install $(HELM_GLOBAL_ARGS) cord-platform cord-platform -f $(CIABVALUES)
 	cd $(WORKSPACE)/cord/helm-charts && \
 	helm dep update comac && \
-	helm install $(HELM_GLOBAL_ARGS) --name comac comac -f $(CIABVALUES)
+	helm upgrade --install $(HELM_GLOBAL_ARGS) comac comac -f $(CIABVALUES)
 	touch $@
 
 /opt/cni/bin/simpleovs: | $(M)/k8s-ready
@@ -153,8 +153,8 @@
 	cd $(WORKSPACE)/cord/helm-charts/omec; \
 	helm dep up omec-data-plane && \
 	helm dep up omec-control-plane && \
-	helm install $(HELM_GLOBAL_ARGS) --namespace omec --name omec-data-plane omec-data-plane -f $(CIABVALUES) && \
-	helm install $(HELM_GLOBAL_ARGS) --namespace omec --name omec-control-plane omec-control-plane -f $(CIABVALUES)
+	helm upgrade --install $(HELM_GLOBAL_ARGS) --namespace omec omec-data-plane omec-data-plane -f $(CIABVALUES) && \
+	helm upgrade --install $(HELM_GLOBAL_ARGS) --namespace omec omec-control-plane omec-control-plane -f $(CIABVALUES)
 	$(WORKSPACE)/cord/helm-charts/scripts/wait_for_pods.sh omec
 	touch $@
 
@@ -176,7 +176,7 @@
 	sudo ip addr add 127.0.0.2/8 dev lo || true
 	$(eval mme_iface=$(shell ip -4 route list default | awk -F 'dev' '{ print $$2; exit }' | awk '{ print $$1 }'))
 	cd $(WORKSPACE)/cord/helm-charts; \
-	helm install $(HELM_GLOBAL_ARGS) --namespace omec --name oaisim oaisim -f $(CIABVALUES) \
+	helm upgrade --install $(HELM_GLOBAL_ARGS) --namespace omec oaisim oaisim -f $(CIABVALUES) \
 		--set config.enb.networks.s1_mme.interface=$(mme_iface)
 	$(WORKSPACE)/cord/helm-charts/scripts/wait_for_pods.sh omec
 	@timeout 60s bash -c \
diff --git a/comac-in-a-box/comac-in-a-box-values.yaml b/comac-in-a-box/comac-in-a-box-values.yaml
index 3e8da2d..96d5c1a 100644
--- a/comac-in-a-box/comac-in-a-box-values.yaml
+++ b/comac-in-a-box/comac-in-a-box-values.yaml
@@ -46,7 +46,10 @@
   # omec-data-plane values
   sriov:
     enabled: false
+  spgwc:
+    multiUpfs: false
   spgwu:
+    multiUpfs: false
     devices: "--no-pci --vdev eth_af_packet0,iface=s1u-net --vdev eth_af_packet1,iface=sgi-net"
   # omec-control-plane values
   mme:
diff --git a/comac/cluster-api/gcp/kustomization.yaml b/comac/cluster-api/gcp/kustomization.yaml
new file mode 100644
index 0000000..a1f9d12
--- /dev/null
+++ b/comac/cluster-api/gcp/kustomization.yaml
@@ -0,0 +1,21 @@
+# 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: kustomize.config.k8s.io/v1beta1
+kind: Kustomization
+bases:
+  - https://github.com/kubernetes-sigs/cluster-api-provider-gcp/examples/controlplane
+patchesStrategicMerge:
+  - kustomizecomac.yaml
diff --git a/comac/cluster-api/gcp/kustomizecomac.yaml b/comac/cluster-api/gcp/kustomizecomac.yaml
new file mode 100644
index 0000000..c1dcf6f
--- /dev/null
+++ b/comac/cluster-api/gcp/kustomizecomac.yaml
@@ -0,0 +1,74 @@
+# 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: bootstrap.cluster.x-k8s.io/v1alpha2
+kind: KubeadmConfig
+metadata:
+  name: ${CLUSTER_NAME}-controlplane-0
+spec:
+  clusterConfiguration:
+    apiServer:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+        service-node-port-range: 2000-36767
+    controllerManager:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+    scheduler:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+---
+apiVersion: bootstrap.cluster.x-k8s.io/v1alpha2
+kind: KubeadmConfig
+metadata:
+  name: ${CLUSTER_NAME}-controlplane-1
+spec:
+  clusterConfiguration:
+    apiServer:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+        service-node-port-range: 2000-36767
+    controllerManager:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+    scheduler:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+---
+apiVersion: bootstrap.cluster.x-k8s.io/v1alpha2
+kind: KubeadmConfig
+metadata:
+  name: ${CLUSTER_NAME}-controlplane-2
+spec:
+  clusterConfiguration:
+    apiServer:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+        service-node-port-range: 2000-36767
+    controllerManager:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
+    scheduler:
+      extraArgs:
+        bind-address: 0.0.0.0
+        feature-gates: SCTPSupport=True
diff --git a/comac/sample/kubespray-inventories/central/extra-vars.yaml b/comac/kubespray/extra-vars.yaml
similarity index 95%
rename from comac/sample/kubespray-inventories/central/extra-vars.yaml
rename to comac/kubespray/extra-vars.yaml
index b67911b..e05a6d2 100644
--- a/comac/sample/kubespray-inventories/central/extra-vars.yaml
+++ b/comac/kubespray/extra-vars.yaml
@@ -33,6 +33,7 @@
 kubelet_deployment_type: host
 kubectl_localhost: true
 kubeconfig_localhost: true
+kube_proxy_metrics_bind_address: 0.0.0.0:10249
 
 kube_feature_gates: [SCTPSupport=True]
 kube_pods_subnet: 172.18.0.0/17
@@ -52,4 +53,4 @@
 
 helm_enabled: true
 helm_deployment_type: host
-helm_version: v2.15.0
+helm_version: v2.16.1
diff --git a/comac/sample/kubespray-inventories/central/group_vars b/comac/kubespray/inventories/central/group_vars
similarity index 100%
rename from comac/sample/kubespray-inventories/central/group_vars
rename to comac/kubespray/inventories/central/group_vars
diff --git a/comac/sample/kubespray-inventories/central/hosts.ini b/comac/kubespray/inventories/central/hosts.ini
similarity index 100%
rename from comac/sample/kubespray-inventories/central/hosts.ini
rename to comac/kubespray/inventories/central/hosts.ini
diff --git a/comac/sample/kubespray-inventories/edge/group_vars b/comac/kubespray/inventories/edge/group_vars
similarity index 100%
rename from comac/sample/kubespray-inventories/edge/group_vars
rename to comac/kubespray/inventories/edge/group_vars
diff --git a/comac/sample/kubespray-inventories/edge/hosts.ini b/comac/kubespray/inventories/edge/hosts.ini
similarity index 100%
rename from comac/sample/kubespray-inventories/edge/hosts.ini
rename to comac/kubespray/inventories/edge/hosts.ini
diff --git a/comac/sample/kubespray-inventories/single/group_vars b/comac/kubespray/inventories/single/group_vars
similarity index 100%
rename from comac/sample/kubespray-inventories/single/group_vars
rename to comac/kubespray/inventories/single/group_vars
diff --git a/comac/sample/kubespray-inventories/single/hosts.ini b/comac/kubespray/inventories/single/hosts.ini
similarity index 100%
rename from comac/sample/kubespray-inventories/single/hosts.ini
rename to comac/kubespray/inventories/single/hosts.ini
diff --git a/comac/override-values/override-values-multi.yaml b/comac/override-values/override-values-multi.yaml
new file mode 100644
index 0000000..de2c96e
--- /dev/null
+++ b/comac/override-values/override-values-multi.yaml
@@ -0,0 +1,99 @@
+# 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.
+
+# Sample override values for 3-nodes cluster with SR-IOV configured on DP node.
+cassandra:
+  config:
+    cluster_size: 3
+
+config:
+  sriov:
+    resourceList:
+      vfio:
+        pfNames:
+          - eth2
+      netDevice:
+        pfNames:
+          - eth2
+        drivers:
+          - i40evf
+          - ixgbevf
+  mme:
+    cfgFiles:
+      config.json:
+        mme:
+          mcc:
+            dig1: 7
+            dig2: 3
+            dig3: 2
+          mnc:
+            dig1: 1
+            dig2: 1
+            dig3: 1
+  hss:
+    bootstrap:
+      enabled: true
+      users:
+        - imsi: "732111000000420"
+          msisdn: "1122334455"
+          apn: apn1
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+        - imsi: "732111000000421"
+          msisdn: "1122334455"
+          apn: apn1
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+      mmes:
+        - id: 1
+          isdn: "19136246000"
+          unreachability: 1
+  spgwu:
+    cpComm:
+      addr: 10.90.0.151
+      port: 30021
+    dpComm:
+      nodePort:
+        enabled: true
+        port: 30020
+  spgwc:
+    cpComm:
+      nodePort:
+        enabled: true
+        port: 30021
+    dpComm:
+      addr: 10.90.0.131
+      port: 30020
+# CDN configuration values
+  cdnRemotes:
+  - name: remote-1
+    ip: 10.90.0.151
+    port: 30935
+    streams:
+    - name: 360p
+      value: 360
+    - name: 480p
+      value: 480
+    - name: 720p
+      value: 720
+
+# cord-platform values
+etcd-operator:
+  enabled: false
+
+# comac values
+seba-services:
+  enabled: false
diff --git a/comac/override-values/override-values-single.yaml b/comac/override-values/override-values-single.yaml
new file mode 100644
index 0000000..5e3d1c6
--- /dev/null
+++ b/comac/override-values/override-values-single.yaml
@@ -0,0 +1,87 @@
+# 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.
+
+# Sample override values for 3-nodes cluster with SR-IOV configured on DP node.
+cassandra:
+  config:
+    cluster_size: 1
+    seed_size: 1
+
+config:
+  sriov:
+    resourceList:
+      vfio:
+        pfNames:
+          - eth2
+      netDevice:
+        pfNames:
+          - eth2
+        drivers:
+          - i40evf
+          - ixgbevf
+  mme:
+    cfgFiles:
+      config.json:
+        mme:
+          mcc:
+            dig1: 7
+            dig2: 3
+            dig3: 2
+          mnc:
+            dig1: 1
+            dig2: 1
+            dig3: 1
+  hss:
+    bootstrap:
+      enabled: true
+      users:
+        - imsi: "732111000000420"
+          msisdn: "1122334455"
+          apn: apn1
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+        - imsi: "732111000000421"
+          msisdn: "1122334455"
+          apn: apn1
+          key: "000102030405060708090a0b0c0d0e0f"
+          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
+          sqn: 135
+      mmes:
+        - id: 1
+          isdn: "19136246000"
+          unreachability: 1
+# CDN configuration values
+  cdnRemotes:
+  - name: remote-1
+    ip: 10.0.0.240
+    port: 30935
+    streams:
+    - name: 360p
+      value: 360
+    - name: 480p
+      value: 480
+    - name: 720p
+      value: 720
+
+nodeSelectors:
+  enabled: true
+
+# cord-platform values
+etcd-operator:
+  enabled: false
+
+# comac values
+seba-services:
+  enabled: false
diff --git a/comac/sample/kubespray-inventories/edge/extra-vars.yaml b/comac/sample/kubespray-inventories/edge/extra-vars.yaml
deleted file mode 100644
index b67911b..0000000
--- a/comac/sample/kubespray-inventories/edge/extra-vars.yaml
+++ /dev/null
@@ -1,55 +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.
-
-# Sample kubespray override variables for COMAC deploy.
-# Pass this file as an extra variables when running kubespray. For example,
-# ansible-playbook -b -i inventory/comac/hosts.ini -e @inventory/comac/extra-vars.yaml cluster.yml
-# Tested with Kubespray release-2.11
-
-# OS
-disable_swap: true
-populate_inventory_to_hosts_file: true
-
-# etcd
-etcd_deployment_type: docker
-etcd_memory_limit: 8192M
-
-# Docker
-docker_iptables_enabled: true
-
-# K8S
-kubeadm_enabled: true
-kubelet_deployment_type: host
-kubectl_localhost: true
-kubeconfig_localhost: true
-
-kube_feature_gates: [SCTPSupport=True]
-kube_pods_subnet: 172.18.0.0/17
-kube_service_addresses: 172.18.128.0/17
-kube_apiserver_node_port_range: 2000-36767
-kube_network_plugin: calico
-kube_network_plugin_multus: true
-multus_version: stable
-ipip: false
-
-local_volume_provisioner_enabled: true
-
-# Applications
-dns_mode: coredns
-dns_cores_per_replica: 256
-dns_min_replicas: 1
-
-helm_enabled: true
-helm_deployment_type: host
-helm_version: v2.15.0
diff --git a/comac/sample/kubespray-inventories/single/extra-vars.yaml b/comac/sample/kubespray-inventories/single/extra-vars.yaml
deleted file mode 100644
index b67911b..0000000
--- a/comac/sample/kubespray-inventories/single/extra-vars.yaml
+++ /dev/null
@@ -1,55 +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.
-
-# Sample kubespray override variables for COMAC deploy.
-# Pass this file as an extra variables when running kubespray. For example,
-# ansible-playbook -b -i inventory/comac/hosts.ini -e @inventory/comac/extra-vars.yaml cluster.yml
-# Tested with Kubespray release-2.11
-
-# OS
-disable_swap: true
-populate_inventory_to_hosts_file: true
-
-# etcd
-etcd_deployment_type: docker
-etcd_memory_limit: 8192M
-
-# Docker
-docker_iptables_enabled: true
-
-# K8S
-kubeadm_enabled: true
-kubelet_deployment_type: host
-kubectl_localhost: true
-kubeconfig_localhost: true
-
-kube_feature_gates: [SCTPSupport=True]
-kube_pods_subnet: 172.18.0.0/17
-kube_service_addresses: 172.18.128.0/17
-kube_apiserver_node_port_range: 2000-36767
-kube_network_plugin: calico
-kube_network_plugin_multus: true
-multus_version: stable
-ipip: false
-
-local_volume_provisioner_enabled: true
-
-# Applications
-dns_mode: coredns
-dns_cores_per_replica: 256
-dns_min_replicas: 1
-
-helm_enabled: true
-helm_deployment_type: host
-helm_version: v2.15.0
diff --git a/comac/sample/override-values-multi.yaml b/comac/sample/override-values-multi.yaml
deleted file mode 100644
index c4acd8f..0000000
--- a/comac/sample/override-values-multi.yaml
+++ /dev/null
@@ -1,422 +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.
-
-# Sample override values for 3-nodes cluster with SR-IOV configured on DP node.
-cassandra:
-  config:
-    cluster_size: 3
-
-config:
-  sriov:
-    resourceList:
-      vfio:
-        pfNames:
-          - eth2
-      netDevice:
-        pfNames:
-          - eth2
-        drivers:
-          - i40evf
-          - ixgbevf
-  mme:
-    cfgFiles:
-      config.json:
-        mme:
-          mcc:
-            dig1: 7
-            dig2: 3
-            dig3: 2
-          mnc:
-            dig1: 1
-            dig2: 1
-            dig3: 1
-  hss:
-    bootstrap:
-      enabled: true
-      users:
-        - imsi: "732111000000420"
-          msisdn: "1122334455"
-          apn: apn1
-          key: "000102030405060708090a0b0c0d0e0f"
-          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
-        - imsi: "732111000000421"
-          msisdn: "1122334455"
-          apn: apn1
-          key: "000102030405060708090a0b0c0d0e0f"
-          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
-      mmes:
-        - id: 1
-          isdn: "19136246000"
-          unreachability: 1
-  spgwu:
-    cpComm:
-      addr: 10.90.0.151
-      port: 30021
-    dpComm:
-      nodePort:
-        enabled: true
-        port: 30020
-  spgwc:
-    cpComm:
-      nodePort:
-        enabled: true
-        port: 30021
-    dpComm:
-      addr: 10.90.0.131
-      port: 30020
-    cfgFiles:
-      adc_rules.cfg: |
-        [GLOBAL]
-        NUM_ADC_RULES = 5
-
-        [ADC_RULE_1]
-        ADC_TYPE = 1
-        IP = 13.1.1.111
-
-        [ADC_RULE_2]
-        ADC_TYPE = 2
-        IP = 13.1.1.0
-        PREFIX = 24
-
-        [ADC_RULE_3]
-        ADC_TYPE = 1
-        IP = 13.1.1.112
-        PREFIX = 24
-
-        [ADC_RULE_4]
-        ADC_TYPE = 0
-        DOMAIN = www.example.gov
-
-        [ADC_RULE_5]
-        ADC_TYPE = 0
-        DOMAIN = www.drop_example.com
-      meter_profile.cfg: |
-        [GLOBAL]
-        NUM_OF_IDX = 7
-
-        [ENTRY_1]
-        ;Committed Information Rate (CIR). Measured in bytes per second.
-        ;MBR is mapped into CIR, convert MBR from bits to Bytes and set CIR.
-        CIR = 2342400
-        ;Committed Burst Size unit = Bytes
-        CBS = 5856
-        ;Excess Burst Size unit = Bytes
-        EBS = 11712
-        ;Meter profile index. Refer this index in static_pcc.cfg to set AMBR/MBR
-        MTR_PROFILE_IDX = 3
-
-        [ENTRY_2]
-        ;1200 = 1756800
-        ;1400 = 2049600
-        ;1600 = 2342400
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 4
-
-        [ENTRY_3]
-        ; QCI5,QCI7 15.571kbps = 1947 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 5
-
-        [ENTRY_4]
-        ; QCI1, 44kbps = 5500 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 6
-
-        [ENTRY_5]
-        ; QCI9, 31.143kbps = 3893 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 7
-
-        [ENTRY_6]
-        ; 128B, 7pps
-        CIR = 2342400
-        CBS = 512
-        EBS = 1024
-        MTR_PROFILE_IDX = 8
-
-        [ENTRY_7]
-        ; 128B, 2pps
-        CIR = 2342400
-        CBS = 512
-        EBS = 1024
-        MTR_PROFILE_IDX = 9
-
-      pcc_rules.cfg: |
-        [GLOBAL]
-        NUM_PCC_FILTERS = 9
-        ;To config AMBR/MBR values refer meter_profile.cfg. specify only the
-        ;meter profile index to be set here.
-        UL_AMBR_MTR_PROFILE_IDX = 3
-        DL_AMBR_MTR_PROFILE_IDX = 4
-
-        ;default filter - must be first for now (until DP doesn't install any filters)
-        ;associated with default adc rule
-        [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
-        ;Specify the meter profile index from meter_profile.cfg
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of ADC filter indices
-        SDF_FILTER_IDX = 99998
-
-        [PCC_FILTER_2]
-        RULE_NAME = sdf_rule_1
-        RATING_GROUP = 5
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 2
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 1
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 5
-        DL_MBR_MTR_PROFILE_IDX = 5
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 1
-
-        [PCC_FILTER_3]
-        RULE_NAME = sdf_rule_2
-        RATING_GROUP = 1
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 3
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 18
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 6
-        DL_MBR_MTR_PROFILE_IDX = 6
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 2
-
-        [PCC_FILTER_4]
-        RULE_NAME = adc_rule_1
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Internet
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 8
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        REDIRECT_INFO = 0
-        SPONSOR_ID = Example
-        PRECEDENCE = 15
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 1
-
-        [PCC_FILTER_5]
-        RULE_NAME = adc_rule_2
-        RATING_GROUP = 0
-        SERVICE_ID = CIPA
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 9
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 4
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 0
-        DL_MBR_MTR_PROFILE_IDX = 0
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 2
-
-        [PCC_FILTER_6]
-        RULE_NAME = sdf_rule_3
-        RATING_GROUP = 7
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 4
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 17
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 5
-        DL_MBR_MTR_PROFILE_IDX = 5
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 3
-
-        [PCC_FILTER_7]
-        RULE_NAME = adc_rule_3
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Internet
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 5
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 210
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 4
-
-        [PCC_FILTER_8]
-        RULE_NAME = adc_rule_4
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Management
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 6
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 200
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 12
-
-        [PCC_FILTER_9]
-        RULE_NAME = adc_rule_5
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Provisioning
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 7
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 220
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 3
-      sdf_rules.cfg: |
-        [GLOBAL]
-        NUM_SDF_FILTERS = 4
-
-        [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
-
-        [SDF_FILTER_2]
-        DIRECTION = uplink_only
-        IPV4_LOCAL = 16.255.255.0
-        IPV4_LOCAL_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
-
-        [SDF_FILTER_3]
-        DIRECTION = downlink_only
-        IPV4_REMOTE = 130.10.0.0
-        IPV4_REMOTE_MASK = 255.255.0.0
-        PROTOCOL = 17
-        REMOTE_LOW_LIMIT_PORT = 5060
-        REMOTE_HIGH_LIMIT_PORT = 5060
-
-        [SDF_FILTER_4]
-        DIRECTION = uplink_only
-        IPV4_REMOTE = 103.1.0.0
-        IPV4_REMOTE_MASK = 255.255.0.0
-        PROTOCOL = 17
-        LOCAL_LOW_LIMIT_PORT = 17000
-        LOCAL_HIGH_LIMIT_PORT = 17010
-# CDN configuration values
-  cdnRemotes:
-  - name: remote-1
-    ip: 10.90.0.151
-    port: 30935
-    streams:
-    - name: 360p
-      value: 360
-    - name: 480p
-      value: 480
-    - name: 720p
-      value: 720
-
-# cord-platform values
-etcd-operator:
-  enabled: false
-
-# comac values
-seba-services:
-  enabled: false
diff --git a/comac/sample/override-values-single.yaml b/comac/sample/override-values-single.yaml
deleted file mode 100644
index bcae6a4..0000000
--- a/comac/sample/override-values-single.yaml
+++ /dev/null
@@ -1,411 +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.
-
-# Sample override values for 3-nodes cluster with SR-IOV configured on DP node.
-cassandra:
-  config:
-    cluster_size: 1
-    seed_size: 1
-
-config:
-  sriov:
-    resourceList:
-      vfio:
-        pfNames:
-          - eth2
-      netDevice:
-        pfNames:
-          - eth2
-        drivers:
-          - i40evf
-          - ixgbevf
-  mme:
-    cfgFiles:
-      config.json:
-        mme:
-          mcc:
-            dig1: 7
-            dig2: 3
-            dig3: 2
-          mnc:
-            dig1: 1
-            dig2: 1
-            dig3: 1
-  hss:
-    bootstrap:
-      enabled: true
-      users:
-        - imsi: "732111000000420"
-          msisdn: "1122334455"
-          apn: apn1
-          key: "000102030405060708090a0b0c0d0e0f"
-          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
-        - imsi: "732111000000421"
-          msisdn: "1122334455"
-          apn: apn1
-          key: "000102030405060708090a0b0c0d0e0f"
-          opc: "69d5c2eb2e2e624750541d3bbc692ba5"
-      mmes:
-        - id: 1
-          isdn: "19136246000"
-          unreachability: 1
-  spgwc:
-    cfgFiles:
-      adc_rules.cfg: |
-        [GLOBAL]
-        NUM_ADC_RULES = 5
-
-        [ADC_RULE_1]
-        ADC_TYPE = 1
-        IP = 13.1.1.111
-
-        [ADC_RULE_2]
-        ADC_TYPE = 2
-        IP = 13.1.1.0
-        PREFIX = 24
-
-        [ADC_RULE_3]
-        ADC_TYPE = 1
-        IP = 13.1.1.112
-        PREFIX = 24
-
-        [ADC_RULE_4]
-        ADC_TYPE = 0
-        DOMAIN = www.example.gov
-
-        [ADC_RULE_5]
-        ADC_TYPE = 0
-        DOMAIN = www.drop_example.com
-
-      meter_profile.cfg: |
-        [GLOBAL]
-        NUM_OF_IDX = 7
-
-        [ENTRY_1]
-        ;Committed Information Rate (CIR). Measured in bytes per second.
-        ;MBR is mapped into CIR, convert MBR from bits to Bytes and set CIR.
-        CIR = 2342400
-        ;Committed Burst Size unit = Bytes
-        CBS = 5856
-        ;Excess Burst Size unit = Bytes
-        EBS = 11712
-        ;Meter profile index. Refer this index in static_pcc.cfg to set AMBR/MBR
-        MTR_PROFILE_IDX = 3
-
-        [ENTRY_2]
-        ;1200 = 1756800
-        ;1400 = 2049600
-        ;1600 = 2342400
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 4
-
-        [ENTRY_3]
-        ; QCI5,QCI7 15.571kbps = 1947 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 5
-
-        [ENTRY_4]
-        ; QCI1, 44kbps = 5500 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 6
-
-        [ENTRY_5]
-        ; QCI9, 31.143kbps = 3893 B
-        CIR = 2342400
-        CBS = 5856
-        EBS = 11712
-        MTR_PROFILE_IDX = 7
-
-        [ENTRY_6]
-        ; 128B, 7pps
-        CIR = 2342400
-        CBS = 512
-        EBS = 1024
-        MTR_PROFILE_IDX = 8
-
-        [ENTRY_7]
-        ; 128B, 2pps
-        CIR = 2342400
-        CBS = 512
-        EBS = 1024
-        MTR_PROFILE_IDX = 9
-      pcc_rules.cfg: |
-        [GLOBAL]
-        NUM_PCC_FILTERS = 9
-        ;To config AMBR/MBR values refer meter_profile.cfg. specify only the
-        ;meter profile index to be set here.
-        UL_AMBR_MTR_PROFILE_IDX = 3
-        DL_AMBR_MTR_PROFILE_IDX = 4
-
-        ;default filter - must be first for now (until DP doesn't install any filters)
-        ;associated with default adc rule
-        [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
-        ;Specify the meter profile index from meter_profile.cfg
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of ADC filter indices
-        SDF_FILTER_IDX = 99998
-
-        [PCC_FILTER_2]
-        RULE_NAME = sdf_rule_1
-        RATING_GROUP = 5
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 2
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 1
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 5
-        DL_MBR_MTR_PROFILE_IDX = 5
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 1
-
-        [PCC_FILTER_3]
-        RULE_NAME = sdf_rule_2
-        RATING_GROUP = 1
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 3
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 18
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 6
-        DL_MBR_MTR_PROFILE_IDX = 6
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 2
-
-        [PCC_FILTER_4]
-        RULE_NAME = adc_rule_1
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Internet
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 8
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        REDIRECT_INFO = 0
-        SPONSOR_ID = Example
-        PRECEDENCE = 15
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 1
-
-        [PCC_FILTER_5]
-        RULE_NAME = adc_rule_2
-        RATING_GROUP = 0
-        SERVICE_ID = CIPA
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 9
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 4
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 0
-        DL_MBR_MTR_PROFILE_IDX = 0
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 2
-
-        [PCC_FILTER_6]
-        RULE_NAME = sdf_rule_3
-        RATING_GROUP = 7
-        SERVICE_ID = 0
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 4
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = 0
-        REDIRECT_INFO = 0
-        PRECEDENCE = 17
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 5
-        DL_MBR_MTR_PROFILE_IDX = 5
-        ;List of SDF filter indices
-        SDF_FILTER_IDX = 3
-
-        [PCC_FILTER_7]
-        RULE_NAME = adc_rule_3
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Internet
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 5
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 210
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 4
-
-        [PCC_FILTER_8]
-        RULE_NAME = adc_rule_4
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Management
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 6
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 200
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 12
-
-        [PCC_FILTER_9]
-        RULE_NAME = adc_rule_5
-        RATING_GROUP = Zero-Rate
-        SERVICE_ID = Provisioning
-        RULE_STATUS = 0
-        GATE_STATUS = 1
-        SESSION_CONT = 0
-        REPORT_LEVEL = 7
-        CHARGING_MODE = 0
-        METERING_METHOD = 0
-        MUTE_NOTIFY = 0
-        MONITORING_KEY = 0
-        SPONSOR_ID = Example
-        REDIRECT_INFO = 0
-        PRECEDENCE = 220
-        DROP_PKT_COUNT = 0
-        UL_MBR_MTR_PROFILE_IDX = 7
-        DL_MBR_MTR_PROFILE_IDX = 7
-        ;List of SDF filter indices
-        ADC_FILTER_IDX = 3
-      sdf_rules.cfg: |
-        [GLOBAL]
-        NUM_SDF_FILTERS = 4
-
-        [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
-
-        [SDF_FILTER_2]
-        DIRECTION = uplink_only
-        IPV4_LOCAL = 16.255.255.0
-        IPV4_LOCAL_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
-
-        [SDF_FILTER_3]
-        DIRECTION = downlink_only
-        IPV4_REMOTE = 130.10.0.0
-        IPV4_REMOTE_MASK = 255.255.0.0
-        PROTOCOL = 17
-        REMOTE_LOW_LIMIT_PORT = 5060
-        REMOTE_HIGH_LIMIT_PORT = 5060
-
-        [SDF_FILTER_4]
-        DIRECTION = uplink_only
-        IPV4_REMOTE = 103.1.0.0
-        IPV4_REMOTE_MASK = 255.255.0.0
-        PROTOCOL = 17
-        LOCAL_LOW_LIMIT_PORT = 17000
-        LOCAL_HIGH_LIMIT_PORT = 17010
-# CDN configuration values
-  cdnRemotes:
-  - name: remote-1
-    ip: 10.0.0.240
-    port: 30935
-    streams:
-    - name: 360p
-      value: 360
-    - name: 480p
-      value: 480
-    - name: 720p
-      value: 720
-
-nodeSelectors:
-  enabled: true
-
-# cord-platform values
-etcd-operator:
-  enabled: false
-
-# comac values
-seba-services:
-  enabled: false
diff --git a/seba-in-a-box/Makefile b/seba-in-a-box/Makefile
index 5a2b93d..b71454c 100644
--- a/seba-in-a-box/Makefile
+++ b/seba-in-a-box/Makefile
@@ -363,11 +363,14 @@
 	robot $(PYBOT_ARGS) --removekeywords wuks -e notready -i $(TESTTAGS) -v VOLTHA_DIR:$(WORKSPACE)/cord/incubator/voltha SIAB.robot
 	touch $@
 
-remove-chart-milestones:
+remove-chart-milestones: remove-bbsim-milestones
 	cd $(M); rm -f kafka-running onos voltha etcd-operator-ready etcd-cluster \
-		voltha-running ponsim mininet nem nem-running ponsim-tosca siab bbsim bbsim-tosca \
+		voltha-running ponsim mininet nem nem-running ponsim-tosca siab \
 		logging nem-monitoring seba-2.0.0-alpha1 ponX_fwd
 
+remove-bbsim-milestones:
+	cd $(M); rm -f bbsim bbsim-tosca
+
 remove-kube-milestones:
 	cd $(M); rm -f kubeadm helm-init
 
@@ -378,6 +381,15 @@
 	helm delete --purge $(shell helm ls -q | grep -v -E "docker-registry|mavenrepo|ponnet|kafka")
 	$(WORKSPACE)/cord/helm-charts/scripts/wait_for_pods.sh
 
+teardown-bbsim: remove-bbsim-milestones
+	cd $(M); rm -f voltha-running voltha 
+	cordctl model delete RCORDSubscriber --all || true
+	timeout 60s bash -c "until cordctl model list VOLTServiceInstance --format json | wc -l | grep -q 0; do echo 'Waiting for Subscribers to be removed'; sleep 5; done"
+	cordctl model delete OLTDevice --all || true
+	cordctl model delete AttWorkflowDriverServiceInstance --all || true
+	timeout 60s bash -c "until http GET http://127.0.0.1:30125/api/v1/devices | jq '.items | length' | grep -q 0; do echo 'Waiting for OLTs to be removed'; sleep 5; done"
+	helm del --purge bbsim voltha
+
 reset-kubeadm: remove-chart-milestones remove-kube-milestones remove-test-milestones
 	cd $(M); rm -f kafka ponnet
 	sudo kubeadm reset -f || true
@@ -387,3 +399,4 @@
 	sudo rm -f /var/lib/cni/networks/k8s-pod-network/* || true
 	for br in /sys/class/net/pon*; do sudo ip link delete `basename $$br` type bridge; done || true
 	for br in /sys/class/net/nni*; do sudo ip link delete `basename $$br` type bridge; done || true
+
diff --git a/voltha/voltha-kafka-dump/Dockerfile b/voltha/voltha-kafka-dump/Dockerfile
new file mode 100755
index 0000000..dfce9f0
--- /dev/null
+++ b/voltha/voltha-kafka-dump/Dockerfile
@@ -0,0 +1,44 @@
+# Copyright 2019-present the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+FROM confluentinc/cp-kafkacat:4.1.2
+
+# version of voltha-protos to use in this container
+
+ARG VOLTHA_PROTOS_VERSION=unknown
+
+SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+
+RUN apt-get update && \
+    apt-get install -y unzip=6.0-21+deb9u2 curl=7.52.1-5+deb9u9 git=1:2.11.0-3+deb9u4 libatomic1=6.3.0-18+deb9u1 ca-certificates=20161130+nmu1+deb9u1 python3.5=3.5.3-1+deb9u1 --no-install-recommends && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists/*
+
+# Install protoc
+RUN PROTOC_VERSION="3.7.0" && \
+    PROTOC_SHA256SUM="a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969" && \
+    curl -L -o /tmp/protoc-$PROTOC_VERSION-linux-x86_64.zip https://github.com/google/protobuf/releases/download/v$PROTOC_VERSION/protoc-$PROTOC_VERSION-linux-x86_64.zip && \
+    echo "$PROTOC_SHA256SUM  /tmp/protoc-$PROTOC_VERSION-linux-x86_64.zip" | sha256sum -c - && \
+    unzip /tmp/protoc-$PROTOC_VERSION-linux-x86_64.zip -d /tmp/protoc3 && \
+    mv /tmp/protoc3/bin/* /usr/local/bin/ && \
+    mv /tmp/protoc3/include/* /usr/local/include/ && \
+    chmod -R a+rx /usr/local/bin/* && \
+    chmod -R a+rX /usr/local/include/
+
+WORKDIR /opt/voltha-kafka-dump
+
+# Install voltha-protos
+RUN git clone -b $VOLTHA_PROTOS_VERSION --single-branch https://github.com/opencord/voltha-protos.git
+
+COPY callprotoc.py voltha-dump-events.sh ./
diff --git a/voltha/voltha-kafka-dump/Makefile b/voltha/voltha-kafka-dump/Makefile
new file mode 100644
index 0000000..95ff9bc
--- /dev/null
+++ b/voltha/voltha-kafka-dump/Makefile
@@ -0,0 +1,93 @@
+# Copyright 2019-present the original author or authors.
+#
+# 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 default shell
+SHELL = bash -e -o pipefail
+
+# Variables
+VERSION                    ?= $(shell cat ../../VERSION)
+
+VOLTHA_PROTOS_VERSION      ?= v2.1.2
+
+DOCKER_LABEL_VCS_DIRTY     = false
+ifneq ($(shell git ls-files --others --modified --exclude-standard 2>/dev/null | wc -l | sed -e 's/ //g'),0)
+    DOCKER_LABEL_VCS_DIRTY = true
+endif
+## Docker related
+DOCKER_EXTRA_ARGS          ?=
+DOCKER_REGISTRY            ?=
+DOCKER_REPOSITORY          ?=
+DOCKER_TAG                 ?= ${VERSION}$(shell [[ ${DOCKER_LABEL_VCS_DIRTY} == "true" ]] && echo "-dirty" || true)
+IMAGENAME                  := ${DOCKER_REGISTRY}${DOCKER_REPOSITORY}voltha-kafka-dump
+
+## Docker labels. Only set ref and commit date if committed
+DOCKER_LABEL_VCS_URL       ?= $(shell git remote get-url $(shell git remote))
+DOCKER_LABEL_VCS_REF       = $(shell git rev-parse HEAD)
+DOCKER_LABEL_BUILD_DATE    ?= $(shell date -u "+%Y-%m-%dT%H:%M:%SZ")
+DOCKER_LABEL_COMMIT_DATE   = $(shell git show -s --format=%cd --date=iso-strict HEAD)
+
+DOCKER_BUILD_ARGS ?= \
+	${DOCKER_EXTRA_ARGS} \
+	--build-arg org_label_schema_version="${VERSION}" \
+	--build-arg org_label_schema_vcs_url="${DOCKER_LABEL_VCS_URL}" \
+	--build-arg org_label_schema_vcs_ref="${DOCKER_LABEL_VCS_REF}" \
+	--build-arg org_label_schema_build_date="${DOCKER_LABEL_BUILD_DATE}" \
+	--build-arg org_opencord_vcs_commit_date="${DOCKER_LABEL_COMMIT_DATE}" \
+	--build-arg org_opencord_vcs_dirty="${DOCKER_LABEL_VCS_DIRTY}" \
+        --build-arg VOLTHA_PROTOS_VERSION="${VOLTHA_PROTOS_VERSION}"
+
+# This should to be the first and default target in this Makefile
+help:
+	@echo "Usage: make [<target>]"
+	@echo "where available targets are:"
+	@echo
+	@echo "build                : Build the docker images."
+	@echo "                         - If this is the first time you are building, choose 'make build' option."
+	@echo "clean                : Remove files created by the build and tests"
+	@echo "distclean            : Remove venv directory"
+	@echo "docker-push          : Push the docker images to an external repository"
+	@echo "lint-dockerfile      : Perform static analysis on Dockerfiles"
+	@echo "lint                 : Shorthand for lint-dockerfile"
+	@echo
+
+## Docker targets
+
+build: docker-build
+
+docker-build: voltha-kafka-dump
+
+voltha-kafka-dump:
+	docker build $(DOCKER_BUILD_ARGS) -t ${IMAGENAME}:${DOCKER_TAG} -t ${IMAGENAME}:latest -f Dockerfile .
+
+docker-push:
+	docker push ${IMAGENAME}:${DOCKER_TAG}
+
+## lint and unit tests
+
+PATH:=$(GOPATH)/bin:$(PATH)
+HADOLINT=$(shell PATH=$(GOPATH):$(PATH) which hadolint)
+lint-dockerfile:
+ifeq (,$(shell PATH=$(GOPATH):$(PATH) which hadolint))
+	mkdir -p $(GOPATH)/bin
+	curl -o $(GOPATH)/bin/hadolint -sNSL https://github.com/hadolint/hadolint/releases/download/v1.17.1/hadolint-$(shell uname -s)-$(shell uname -m)
+	chmod 755 $(GOPATH)/bin/hadolint
+endif
+	@echo "Running Dockerfile lint check ..."
+	@hadolint $$(find . -name "Dockerfile")
+	@echo "Dockerfile lint check OK"
+
+lint: lint-dockerfile
+
+# end file
diff --git a/voltha/voltha-kafka-dump/callprotoc.py b/voltha/voltha-kafka-dump/callprotoc.py
new file mode 100644
index 0000000..9e756b7
--- /dev/null
+++ b/voltha/voltha-kafka-dump/callprotoc.py
@@ -0,0 +1,63 @@
+# Copyright 2019-present the original author or authors.
+#
+# 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.
+
+# Separate the incoming stream of messages from kafkacat and call
+# protoc on each message.
+
+from __future__ import print_function
+
+import subprocess
+import sys
+
+
+def call_protoc(buf, msgName, protoFileName, includeDir, first):
+    process = subprocess.Popen(["protoc", "--decode="+msgName, protoFileName, "-I", includeDir], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+    process.stdin.write(buf)
+    if not first:
+        print(",")
+    print(process.communicate()[0].decode("utf-8"))
+    process.stdin.close()
+
+
+def main():
+    if len(sys.argv) != 4:
+        print(sys.stderr, "syntax: callprotoc.py <msgname> <protofilename> <includedir>", file=sys.stderr)
+        sys.exit(-1)
+
+    msgName = sys.argv[1]
+    protoFileName = sys.argv[2]
+    includeDir = sys.argv[3]
+
+    print ("[")
+
+    buf = b""
+    first = True
+    in_bytes = sys.stdin.buffer.read(1)
+    while in_bytes:
+        buf = buf + in_bytes
+        while b"===VOLTHA-DELIM===" in buf:
+            (part, buf) = buf.split(b"===VOLTHA-DELIM===", 1)
+            call_protoc(part, msgName, protoFileName, includeDir, first)
+            first = False
+        in_bytes = sys.stdin.buffer.read(1)
+
+    # there is likely one trailing message still to print
+    if buf:
+        call_protoc(buf, msgName, protoFileName, includeDir, first)
+
+    print ("]")
+
+
+if __name__ == "__main__":
+    main()
diff --git a/voltha/voltha-kafka-dump/voltha-dump-events.sh b/voltha/voltha-kafka-dump/voltha-dump-events.sh
new file mode 100755
index 0000000..b0eae94
--- /dev/null
+++ b/voltha/voltha-kafka-dump/voltha-dump-events.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env 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.
+
+# If the --binary flag is used then binary output will be printed.
+# Otherwise, human-readable output is printed.
+
+if [[ $* == *--binary* ]]; then
+  kafkacat -u -C -b voltha-kafka.voltha -t voltha.events -D "" -o beginning -e
+else
+  kafkacat -u -C -b voltha-kafka.voltha -t voltha.events -D "===VOLTHA-DELIM===" -o beginning -e | \
+    python3.5 ./callprotoc.py voltha.Event /opt/voltha-kafka-dump/voltha-protos/protos/voltha_protos/events.proto /opt/voltha-kafka-dump/voltha-protos/protos
+fi
