HostTracker hosts DB key scheme implementation 17/2817/9
authorDeepak <dudapudi@in.ibm.com>
Mon, 18 Nov 2013 10:19:47 +0000 (15:49 +0530)
committerDeepak <dudapudi@in.ibm.com>
Mon, 25 Nov 2013 09:52:42 +0000 (15:22 +0530)
commit1b50bf01cd8dab4b32ce696f58d722d6c81db1af
tree9c7d3eb3e897c7859c2e1e5a6b58400fdfed18df
parent3c86b6b85f0e3a2240cb249c2d6bef4fd96c6512
HostTracker hosts DB key scheme implementation

Requirements :-

i) IP only scheme for hosttracker hosts db key is by default supported.
ii) IP + MAC scheme for hosttracker hosts db key addition.
iii) Only one scheme at a time will be active. The configuration is
controller by the setting hosttracker.keyscheme in config.ini. By default
it has a value of zero which indicates IP only scheme.
The value 1 can be set for choosing IP+MAC scheme.

Changes done :-

i) Marker interface named IHostId is used for the implementation.
ii) IPHostId and IPMacHostId are the classes which implement the marker
interface.
iii) All the hostttracker apis have been aligned to the new key using the
marker interface IHostId as the key.
iv) Version of the hosttracker and it's dependent bundles like
arphandler,loadbalancer,static routing etc.. have been bumped up.
v) HostIdFactory has been provided to create the keys based on the scheme
the user is using.

Tests done :-

i) pingall has worked.
ii) NB APIs of hosttracker.

Made distribution changes which were needed and other pom changes as well.
Integration test for hosttracker has been fixed with the right version.
Other module integration test failures and review comments have been taken
care off.
Host DB Key classes have been serialized.

Change-Id: I328a1b6d3702d5268832f0e3ea6ee47122f20205
Signed-off-by: Deepak <dudapudi@in.ibm.com>
32 files changed:
opendaylight/arphandler/pom.xml
opendaylight/arphandler/src/main/java/org/opendaylight/controller/arphandler/internal/ArpHandler.java
opendaylight/commons/opendaylight/pom.xml
opendaylight/configuration/integrationtest/pom.xml
opendaylight/distribution/opendaylight/pom.xml
opendaylight/distribution/opendaylight/src/main/resources/configuration/config.ini
opendaylight/forwarding/staticrouting/pom.xml
opendaylight/forwarding/staticrouting/src/main/java/org/opendaylight/controller/forwarding/staticrouting/internal/StaticRoutingImplementation.java
opendaylight/forwardingrulesmanager/api/pom.xml
opendaylight/forwardingrulesmanager/implementation/pom.xml
opendaylight/forwardingrulesmanager/integrationtest/pom.xml
opendaylight/hosttracker/api/pom.xml
opendaylight/hosttracker/api/src/main/java/org/opendaylight/controller/hosttracker/HostIdFactory.java [new file with mode: 0644]
opendaylight/hosttracker/api/src/main/java/org/opendaylight/controller/hosttracker/IHostId.java [new file with mode: 0644]
opendaylight/hosttracker/api/src/main/java/org/opendaylight/controller/hosttracker/IPHostId.java [new file with mode: 0644]
opendaylight/hosttracker/api/src/main/java/org/opendaylight/controller/hosttracker/IPMacHostId.java [new file with mode: 0644]
opendaylight/hosttracker/api/src/main/java/org/opendaylight/controller/hosttracker/IfIptoHost.java
opendaylight/hosttracker/implementation/pom.xml
opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTracker.java
opendaylight/hosttracker/implementation/src/main/java/org/opendaylight/controller/hosttracker/internal/HostTrackerCallable.java
opendaylight/hosttracker/implementation/src/test/java/org/opendaylight/controller/hosttracker/internal/HostTrackerTest.java
opendaylight/hosttracker/integrationtest/pom.xml
opendaylight/hosttracker/integrationtest/src/test/java/org/opendaylight/controller/hosttracker/internal/HostTrackerIT.java
opendaylight/northbound/hosttracker/pom.xml
opendaylight/northbound/integrationtest/pom.xml
opendaylight/northbound/staticrouting/pom.xml
opendaylight/samples/loadbalancer/pom.xml
opendaylight/samples/loadbalancer/src/main/java/org/opendaylight/controller/samples/loadbalancer/internal/LoadBalancerService.java
opendaylight/samples/northbound/loadbalancer/pom.xml
opendaylight/statisticsmanager/integrationtest/pom.xml
opendaylight/topologymanager/integrationtest/pom.xml
opendaylight/web/devices/pom.xml