Fix for getVpnId() 21/20021/1
authorVishal Thapar <vishal.thapar@ericsson.com>
Mon, 11 May 2015 14:18:42 +0000 (19:48 +0530)
committerVishal Thapar <vishal.thapar@ericsson.com>
Mon, 11 May 2015 14:18:42 +0000 (19:48 +0530)
1. Ignore user given vpnId in config DS.
2. getVpnId() should always read from Operational DS.
3. getVpnId() should return -1 if non exists.

Change-Id: Ife24d50450cded171f04647d0d4d3cfcd0373c43
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
nexthopmgr/nexthopmgr-impl/src/main/java/org/opendaylight/vpnservice/nexthopmgr/NexthopManager.java
vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java
vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnManager.java

index 9864b61c646202ac120b0aa3d971ce763d7addb3..c9fee48716f391c0717b0f77db162d4be176c28f 100644 (file)
@@ -122,12 +122,12 @@ public class NexthopManager implements L3nexthopService, AutoCloseable {
 
         InstanceIdentifier<VpnInstance> id = idBuilder.build();
         InstanceIdentifier<VpnInstance1> idx = id.augmentation(VpnInstance1.class);
-        Optional<VpnInstance1> vpn = read(LogicalDatastoreType.CONFIGURATION, idx);
+        Optional<VpnInstance1> vpn = read(LogicalDatastoreType.OPERATIONAL, idx);
 
         if (vpn.isPresent()) {
             return vpn.get().getVpnId();
         } else {
-            return 0;
+            return -1;
         }
     }
 
index f8e04be665a623d6cdf28b56eefa7efb683a4f18..6d7d7d02ca784be62ef7e88de74e991d9b172133 100644 (file)
@@ -205,9 +205,11 @@ public class VpnInterfaceManager extends AbstractDataChangeListener<VpnInterface
     }
 
     private long getVpnId(String vpnName) {
+        //TODO: This should be a Util function
         InstanceIdentifier<VpnInstance1> id = InstanceIdentifier.builder(VpnInstances.class)
                 .child(VpnInstance.class, new VpnInstanceKey(vpnName)).augmentation(VpnInstance1.class).build();
-        Optional<VpnInstance1> vpnInstance = read(LogicalDatastoreType.CONFIGURATION, id);
+        Optional<VpnInstance1> vpnInstance = read(LogicalDatastoreType.OPERATIONAL, id);
+        //TODO: Default vpnid should be a constant.
         long vpnId = -1;
         if(vpnInstance.isPresent()) {
             vpnId = vpnInstance.get().getVpnId();
index 0e60710092a1bda755592345928e15e4fefc2aa5..ee0c56eaefaccb00bb449e3136dc43ef4f57f3e6 100644 (file)
@@ -122,13 +122,6 @@ public class VpnManager extends AbstractDataChangeListener<VpnInstance> implemen
         LOG.info("key: {}, value: {}" +identifier, value);
 
         long vpnId = getUniqueId(value.getVpnInstanceName());
-        InstanceIdentifier<VpnInstance1> augId = identifier.augmentation(VpnInstance1.class);
-        Optional<VpnInstance1> vpnAugmenation = read(LogicalDatastoreType.CONFIGURATION, augId);
-        if(vpnAugmenation.isPresent()) {
-            VpnInstance1 vpn = vpnAugmenation.get();
-            vpnId = vpn.getVpnId();
-            LOG.info("VPN ID is {}", vpnId);
-        }
 
         VpnInstance opValue = new VpnInstanceBuilder(value).
                  addAugmentation(VpnInstance1.class, new VpnInstance1Builder().setVpnId(vpnId).build()).build();