Remove dependency on clusterdao 57/20057/5
authorFlorin Coras <fcoras@cisco.com>
Mon, 11 May 2015 21:08:45 +0000 (14:08 -0700)
committerFlorin Coras <fcoras@cisco.com>
Fri, 22 May 2015 23:01:31 +0000 (16:01 -0700)
This is part of an effort to remove adsal dependencies. Instead of
clusterdao we use HashMapDb, as an in memory map-server datastore.

Change-Id: Iccf7eccefe83e36fbf98e819b88a6036f7a7d4cf
Signed-off-by: Florin Coras <fcoras@cisco.com>
features/pom.xml
features/src/main/resources/features.xml
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/Activator.java
mappingservice/implementation/src/main/java/org/opendaylight/lispflowmapping/implementation/LispMappingService.java
mappingservice/integrationtest/src/test/java/org/opendaylight/lispflowmapping/integrationtest/MappingServiceIntegrationTest.java
mappingservice/southbound/pom.xml

index 572018d2953a2b9b7e0dc73c9828c6b884ea6db2..415bce71592454a72ebc9e3a4af1e902ee5fc332 100644 (file)
       <groupId>org.opendaylight.lispflowmapping</groupId>
       <artifactId>mappingservice.api</artifactId>
     </dependency>
-    <dependency>
+<!--     <dependency>
       <groupId>org.opendaylight.lispflowmapping</groupId>
       <artifactId>mappingservice.clusterdao</artifactId>
-    </dependency>
+    </dependency> -->
     <dependency>
       <groupId>org.opendaylight.lispflowmapping</groupId>
       <artifactId>mappingservice.config</artifactId>
index bc4f278d4525ec2de36c63d8e61f1fb0ea3c2dda..15164ee8b4d06834611a4943322cd81a8208f12c 100644 (file)
@@ -31,7 +31,7 @@
         <feature version="${mdsal.version}">odl-mdsal-broker</feature>
         <feature version="${mdsal.version}">odl-mdsal-apidocs</feature>
         <feature version="${sal.version}">odl-adsal-core</feature>
-        <feature version="${clustering.services.version}">odl-adsal-clustering</feature>
+        <!-- <feature version="${clustering.services.version}">odl-adsal-clustering</feature> -->
         <feature version='${yangtools.version}'>odl-yangtools-binding</feature>
         <feature version='${yangtools.version}'>odl-yangtools-models</feature>
         <bundle>mvn:com.google.guava/guava/${guava.version}</bundle>
@@ -39,7 +39,7 @@
         <bundle>mvn:org.opendaylight.lispflowmapping/mappingservice.api/${lispflowmapping.version}</bundle>
         <bundle>mvn:org.opendaylight.lispflowmapping/mappingservice.implementation/${lispflowmapping.version}</bundle>
         <bundle>mvn:org.opendaylight.lispflowmapping/mappingservice.shell/${lispflowmapping.version}</bundle>
-        <bundle>mvn:org.opendaylight.lispflowmapping/mappingservice.clusterdao/${lispflowmapping.version}</bundle>
+        <!-- <bundle>mvn:org.opendaylight.lispflowmapping/mappingservice.clusterdao/${lispflowmapping.version}</bundle> -->
         <configfile finalname="${configfile.directory}/lfm-mappingservice.xml">
             mvn:org.opendaylight.lispflowmapping/mappingservice.implementation/${lispflowmapping.version}/xml/config
         </configfile>
index 0fd4eb85f4e2e5a2bfa43b8a8185633363f61612..ec64d94f51b3933a11a3c40f0c62b62f50fc280e 100644 (file)
@@ -81,8 +81,6 @@ public class Activator extends ComponentActivatorAbstractBase {
             Dictionary<String, String> props = new Hashtable<String, String>();
             props.put("name", "mappingservice");
             c.setInterface(new String[] { IFlowMapping.class.getName(), IFlowMappingShell.class.getName() }, props);
-            c.add(createContainerServiceDependency(containerName).setService(ILispDAO.class).setCallbacks("setLispDao", "unsetLispDao")
-                    .setRequired(true));
             c.add(createServiceDependency().setService(BindingAwareBroker.class).setRequired(true)
                     .setCallbacks("setBindingAwareBroker", "unsetBindingAwareBroker"));
         }
index da734cccb25aff40444fdb78a1dbe138d8dd1656..5e994fbf9676dd94fff80cabe20a7866f737708b 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
 import org.opendaylight.controller.sal.binding.api.NotificationListener;
 import org.opendaylight.controller.sal.binding.api.NotificationService;
 import org.opendaylight.lispflowmapping.implementation.config.ConfigIni;
+import org.opendaylight.lispflowmapping.implementation.dao.HashMapDb;
 import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceKey;
 import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceKeyUtil;
 import org.opendaylight.lispflowmapping.implementation.dao.MappingServiceNoMaskKey;
@@ -108,7 +109,11 @@ public class LispMappingService implements CommandProvider, IFlowMapping, IFlowM
         LOG.debug("BindingAwareBroker set!");
         BundleContext bundleContext = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
         bindingAwareBroker.registerProvider(this, bundleContext);
+
+        // For the time being we initialize variables here. But once we remove the activator, these should
+        // be moved to the constructor.
         lfmService = this;
+        setLispDao(new HashMapDb());
     }
 
     void unsetBindingAwareBroker(BindingAwareBroker bindingAwareBroker) {
index 3e8d600a8405d9aee11a874d8155a271f9677aaa..ee0c038934781863926030d1dca0b24aabe2415b 100644 (file)
@@ -32,7 +32,6 @@ import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.concurrent.TimeUnit;
 
 import javax.inject.Inject;
 
@@ -1512,8 +1511,10 @@ public class MappingServiceIntegrationTest {
     }
 
     private void causeEntryToBeCleaned() {
-        clusterService.setTimeUnit(TimeUnit.NANOSECONDS);
-        clusterService.cleanOld();
+        // TODO for the time being, to keep master and stable/lithium in sync, we need to remove the forceful
+        // expiration of DAO entries. Once we're past this, we'll have to expose methods to setTimeUnit(TimeUnit)
+        // and cleanOld() (expired) entries in IFlowMapping (and perhaps ILispDAO) and use them here.
+        this.lms.clean();
     }
 
     private void testTTLAfterRegister(MapRequest mapRequest) throws SocketTimeoutException {
index 01280e36f135621dd8d313c54ff445fedee0a7ef..b4808dc252acb448017312a173c17bf72d745a14 100644 (file)
@@ -61,7 +61,6 @@
               org.opendaylight.lispflowmapping.type,
               org.opendaylight.lispflowmapping.type.lisp,
               org.opendaylight.lispflowmapping.type.sbplugin,
-              org.opendaylight.controller.clustering.services,
               org.opendaylight.lispflowmapping.implementation.serializer,
               org.opendaylight.lispflowmapping.implementation.util,
               org.opendaylight.controller.sal.binding.api,