Move adsal into its own subdirectory. Moved various adsal components into an opendaylight/adsal subdir, gave it a parent pom, and changed the root parent pom to have the opendaylight/adsal as a module. Change-Id: I1d0e5a7b2a50c65559c2f80dd47cab491b68d561 Signed-off-by: Ed Warnicke <eaw@cisco.com>
When node disconnects from master controller, no node takes over - Node connections caches in connection manager were allocated after configureInstance call, thus failing CacheUpdateAware registration. - Fix couple of NPEs in devices.web Change-Id: I51975a4a984606ecfad8db0941315164eedc83cb Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
Bulk-add copyright headers to java files Change-Id: I8c23739a21f3f6cecb138f62a54efbabf03b9c55 Signed-off-by: Robert Varga <rovarga@cisco.com>
Add support to resolve docker container names for clustering support. Currently on works when all containers are on a single docker host Change-Id: Ie141e80712e15e037d39ae788a739cb4d51db403 Signed-off-by: David K. Bainbridge <dbainbri@ciena.com>
fix typos and some Java improvements in ClusterManager Fix typos in error messages, use StringBuilder instead of StringBuffer, append strings more efficiently, and move a local variable to be a constant. Change-Id: I23a4436449909cf02a6fce47e0f1f9a0ce80f0e4 Signed-off-by: Alissa Bonas <abonas@redhat.com>
Use Java 7 new method getLoopbackAddress in ClusterManager Replaces a hardcoded string 127.0.0.1 Change-Id: I321c5bfe1352e1f02664823bb45dbc8d112417b9 Signed-off-by: Alissa Bonas <abonas@redhat.com>
Addding a new method to let the clients of clustering service specify a transaction timeout when they start a transaction Change-Id: Icad02808e37d7852907a417436c72cbcff8e62f1 Signed-off-by: Asad Ahmed <asaahmed@cisco.com>
Make existCache more efficient in ClusterManager Allocate cacheName only when it's needed, when manager is null the concatenation of strings is redundant. Change-Id: I031e923d2d725b3e295ed7be53ceba19a6892e96 Signed-off-by: Alissa Bonas <abonas@redhat.com>
Clean all unused and redundant imports in controller. Enable verification of unused and redundant imports via checkstyle. Rename checkstyle configuration file because it no longer checks only for tabs. Change-Id: Id94a92fbc8a79aba01a4177aec3d80a2b3394508 Signed-off-by: Alissa Bonas <abonas@redhat.com>
JGroups AUTH handler in Clustering Services It is possible to add Jgroups AUTH as part of the protocol stack below infinispan if the deployment requires more secured clustered controllers. Failing on such Authentication must be treated critical and the controller must exit. Change-Id: Ifa2b5cb2588b82038dcd6fcf7785a48ae2af8bf4 Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
Introduce ASYNC caches and use them in FRM - Add the option in clustering.services contract to allocate caches that are async - Use them for FRM workOrder and workStatus - Add unit tests for sync/async incompatibility Change-Id: Icfc8d9b8a9277d97b095805cb4323a950c82ef78 Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Merge "Move init and destroy empty impl from Activator classes. Have only one empty implementation in parent class instead of having it in more than 20 classes. Only one class actually has a non empty implementation and it overrides the empty implementation from the parent."
Move init and destroy empty impl from Activator classes. Have only one empty implementation in parent class instead of having it in more than 20 classes. Only one class actually has a non empty implementation and it overrides the empty implementation from the parent. Change-Id: Ibbe43ba3e48e4eb80402c158cd45be0afc497fae Signed-off-by: Alissa Bonas <abonas@redhat.com>
Removing the Container Aware dependency from Clustering Services. Clustering Services implementation is ContainerAware to handle the case of Container deletion. More appropriate way to handle it is to have an explicit API in global cluster manager to expose a functionality to clean all the caches assocaited with a Container. This API can be used by the Container Manager to clean up the caches. Change-Id: I9758a01da13ffa7d951307a116df34a7fe9c19f6 Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
Few debug enhancements to debug hashing issues Change-Id: I4a173c0a423d740ef75249f777aa35e5d2772d9c Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Reorder public/private modifiers as per JLS. (fixes sonar warnings) Signed-off-by: Alissa Bonas <abonas@redhat.com> Change-Id: I9a8d36a812443aa2e33a01bd30ab9e54758e693a Signed-off-by: Alissa Bonas <abonas@redhat.com>
Supply from filesystem infinispan configuration - In order to speed up the prototyping time, allow to supply an infinispan configuration from the filesystem along the one embedded in the clustering.services-implementation. This can be specified by supplying the property org.infinispan.config.file - Align to 5.3 the XSD used in the infinispan config file, seems there are different defaults between 5.1 XSD and 5.3 Change-Id: Ied87ecc56725b89b5c85ff21ae185f5d68988ab1 Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Fix a ClassNotFoundException raised during demarshalling Under certain conditions an error like: Caused by: java.lang.ClassNotFoundException: org.opendaylight.controller.sal.reader.FlowOnNode at org.eclipse.gemini.web.tomcat.internal.loading.BundleWebappClassLoader.loadClass(BundleWebappClassLoader.java:312) ~[na:na] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0_09] at java.lang.Class.forName0(Native Method) ~[na:1.7.0_09] at java.lang.Class.forName(Class.java:264) ~[na:1.7.0_09] at org.jboss.marshalling.AbstractClassResolver.loadClass(AbstractClassResolver.java:135) ~[na:na] at org.jboss.marshalling.AbstractClassResolver.resolveClass(AbstractClassResolver.java:116) ~[na:na] at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:893) ~[na:na] at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1205) ~[na:na] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272) ~[na:na] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209) ~[na:na] this is due to the fact that by default the Jboss Marshaller used by Infinispan uses the Thread Context Class Loader to retrieve the classloader to be used in the demarshalling function. Equinox provides a default one (org.eclipse.core.runtime.internal.adaptor.ContextFinder) as TCCL, however it heuristically try to find the classloader and in some cases can fetch the wrong one. Now given that all the classes managed by clustering services must go via OSGi it make sense to force the usage of only the bundle class loader and we let OSGi framework to figure out how to load the class. Change-Id: I24a9056eda5f6ab7b8cf0ab2e476be56cb61f6c1 Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Allow controller to be managed via JMX remotely - In order to inspect the controller remotely JMX comes very handy especially in clustered environment, this patch allow to start the controller and to enable JMX remotely, this is still only the unsecure version, for secure version a subsequent patch will be provided Change-Id: I47c8651f19e4207b37b064161bb88476f3e31d0b Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Cluster mgr to remove caches when container is destroyed DESCRIPTION: When a container is destroyed, cluster manager should clear all the caches that were allocated in that container. CHANGE: Have cluster mgr implement IContainerAware and cleanup the caches on the container destroy notification Signed-off-by: Alessandro Boch <aboch@cisco.com>