diff --git a/tests/atests/build/Makefile b/tests/atests/build/Makefile
index 9e0ed37..854c68e 100644
--- a/tests/atests/build/Makefile
+++ b/tests/atests/build/Makefile
@@ -79,8 +79,6 @@
 $(HOME)/cord/helm-charts: | $(M)/setup
 	mkdir -p $(HOME)/cord
 	cd $(HOME)/cord; git clone https://gerrit.opencord.org/helm-charts
-	helm repo add cord https://charts.opencord.org
-	helm repo update
 
 $(M)/kafka: | $(HOME)/cord/helm-charts $(M)/helm-init
 	cd $(HOME)/cord/helm-charts && \
@@ -121,12 +119,9 @@
 	touch $@
 
 $(M)/simtype-ponsim: | $(M)/voltha-running
-	#cd $(HOME)/cord/helm-charts; helm upgrade --install ponnet ponnet
-	helm install -n ponnet --version 1.1.0 cord/ponnet
+	cd $(HOME)/cord/helm-charts; helm upgrade --install ponnet ponnet
 	$(HOME)/cord/helm-charts/scripts/wait_for_pods.sh kube-system
-	## install previous ponsimv2 chart until SEBA-730 complete
-	helm install -n ponsimv2 --version 1.0.3 cord/ponsimv2
-	#cd $(HOME)/cord/helm-charts; helm upgrade --install ponsimv2 ponsimv2 -f configs/seba-ponsim.yaml --set images.olt.repository=voltha-ponsim,images.olt.tag=latest,images.olt.pullPolicy=Never,images.onu.repository=voltha-ponsim,images.onu.tag=latest,images.onu.pullPolicy=Never,images.rg.repository=voltha-tester,images.rg.tag=latest,images.rg.pullPolicy=Never
+	cd $(HOME)/cord/helm-charts; helm upgrade --install ponsimv2 ponsimv2 -f configs/seba-ponsim.yaml --set images.olt.repository=voltha-ponsim,images.olt.tag=latest,images.olt.pullPolicy=Never,images.onu.repository=voltha-ponsim,images.onu.tag=latest,images.onu.pullPolicy=Never,images.rg.repository=voltha-tester,images.rg.tag=latest,images.rg.pullPolicy=Never
 	touch $@
 
 $(M)/pon0-fwd: | $(M)/voltha-running
@@ -163,6 +158,6 @@
 reset-kubeadm: remove-chart-milestones remove-kube-milestones
 	sudo kubeadm reset -f || true
 	sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
-	sudo rm -f /var/lib/cni/networks/pon0/* || true
-	sudo rm -f /var/lib/cni/networks/pon1/* || true
+	sudo rm -f /var/lib/cni/networks/pon*/* || true
+	sudo rm -f /var/lib/cni/networks/nni*/* || true
 	sudo rm -f /var/lib/cni/networks/k8s-pod-network/* || true
diff --git a/tests/atests/build/sadis_json b/tests/atests/build/sadis_json
index 882655e..a5f1fbb 100644
--- a/tests/atests/build/sadis_json
+++ b/tests/atests/build/sadis_json
@@ -169,7 +169,7 @@
           "nasId":"B100-NASID"
         },
         {  
-          "id":"olt.voltha.svc:50060",
+          "id":"olt0.voltha.svc:50060",
           "uplinkPort":2
         },
         {
diff --git a/tests/atests/common/auto_test.py b/tests/atests/common/auto_test.py
index 4dea0ab..be52134 100755
--- a/tests/atests/common/auto_test.py
+++ b/tests/atests/common/auto_test.py
@@ -75,7 +75,7 @@
     if simtype == 'ponsim':
         olt_type = 'ponsim_olt'
         onu_type = 'ponsim_onu'
-        olt_host_ip = 'olt.voltha.svc'
+        olt_host_ip = 'olt0.voltha.svc'
         onu_count = 1
     elif simtype == 'bbsim':
         olt_type = 'openolt'
diff --git a/tests/atests/common/testCaseUtils.py b/tests/atests/common/testCaseUtils.py
index 1fe4f82..9b9b67d 100755
--- a/tests/atests/common/testCaseUtils.py
+++ b/tests/atests/common/testCaseUtils.py
@@ -171,4 +171,4 @@
 
 
 def discover_rg_pod_name():
-    return extract_pod_name('rg-').strip()
+    return extract_pod_name('rg0').strip()
diff --git a/tests/atests/common/unicast.py b/tests/atests/common/unicast.py
index 69d3d1a..1622b99 100644
--- a/tests/atests/common/unicast.py
+++ b/tests/atests/common/unicast.py
@@ -78,7 +78,7 @@
     def execute_tcpdump(self):
         logging.info('Execute tcpdump')
         process_output = open('%s/%s' % (testCaseUtils.get_dir(self, 'log'), self.TCPDUMP_FILENAME), 'w')
-        tcpdump = subprocess.Popen(['sudo', '/usr/sbin/tcpdump', '-nei', 'pon1'],
+        tcpdump = subprocess.Popen(['sudo', '/usr/sbin/tcpdump', '-nei', 'nni0'],
                                    stdout=process_output,
                                    stderr=process_output)
         self.__tcpdumpPid = tcpdump.pid
