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>
Incorrect OFStatisticsType(OFStatisticsType.FLOW) is used to query Port Statistics Change-Id: I6d146d946e721540f70065de4ca8d1b8be73d838 Signed-off-by: Pramila Singh <pramisin@cisco.com>
readAllNodeTable() API in readServiceFilter.java queries for wrong OFStatisticsType Change-Id: I5551970f89587cbc6adae931d65c164aad8b0ca1 Signed-off-by: Pramila Singh <pramisin@cisco.com>
Return singleton empty collection instead of null in Read service code Change-Id: I763bdd6178047e3de43158176c29a8bd6f478b25 Signed-off-by: Alessandro Boch <aboch@cisco.com>
Fix for cache cleanup in protocol plugin on container deletion Change-Id: I5c16211ea12c384726a5a9d3f1cc23d40c1d0d3f Signed-off-by: Pramila Singh <pramisin@cisco.com>
Fix race condition when registering services Dependency Manager is able to notify every component when a new service tracked is added/removed, this kind of operation is usually done by allocating a synchronized set or an concurrent map to store the new service reference or remove it. This works fine, just it's necessary to be aware that the services may be learnt by the Component before the "init" method of the component it's called. In fact the init method of a Dependency Manager component is called after all the required dependency have been met so that means that the services may have already been registered. Now if a component allocate the data structure needed to hold the service reference during the init time, it can run in the condition where the services already registered would be wiped out. The fix is to make sure all the Dependency Manager component init method don't allocate the data structure needed to hold the services, but they should be created or during constructor time or during field initialization. The second approach is prefered here. Change-Id: I9057351830c09736c5ad7b6777330ef14b39fe9c Signed-off-by: Giovanni Meo <gmeo@cisco.com>
OF plugin classes must have a strict dependency on Connection Service ISSUE: In scaled setup we see NPE in OF protocol plugin code as switches connect before the IPluginOUConnectionService reference is set CHANGE: - Have OF proto plugin Activator express a required dependency on IPluginOUConnectionService for the interested classes - Removed stale unused conenction mgr related code from OF plugin classes Change-Id: If8aa7239d5be0c1c206c3b4d42bfcbbe029b4588 Signed-off-by: Alessandro Boch <aboch@cisco.com>
OpenFlow Protocol_plugin changes to make use of the Connection Manager infrastructure in order to support Active-Active Clustering support. Notable changes are : 1. Interested Protocol_plugin services registers with SAL for Connection Service. 2. isLocal API is used by InventoryServiceShim to decide whether or not to advertise the learnt node on a particular controller. 3. isLocal API is used by other services to handle node specific events 4. InventoryService instance can now represent Global inventory in addition to its additional instances being container specific 5. Controller provides the disconnect API to allow the Connection manager disconnect a switch. (Connect API is stubbed out) Change-Id: I163fa7b14fa998bb4654b01c0a904c1fec09b0bb Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>
Per container flow statistics filtering to account cFlows ISSUE: ReadServiceFilter in openflow protocol plugin while trying to derive to which container a flow statistics object belongs, it does not take into account the container flows (cFlows). CHANGES: - Have ReadServiceFilter maintain a map of container to container flows - Have flowBelongToContainer() account the cFlows while filtering the Flow objects - Changed the other container maps to concurrent maps - Other minor style changes Change-Id: I2d41fa2111334d57ef3179e907fea0bf268943e7 Signed-off-by: Alessandro Boch <aboch@cisco.com>
Bug fix: flow statistics are not notified if empty Change-Id: Id685f6205bd75e666972e30a86584a0b4a1498ec Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
Bug fixes and styling - Fix using skiplistset on a non-comparable - Add missing help in SAL Read Service - Remove incorrect throws clause Change-Id: I4c3c192124e03f84d3ba5ac97e2c69ca7defdd03 Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
Move stats caching to FM StatisticsManager This commit is towards HA functionality and includes: - Cache flow, port, table and description statistics in a cluster allocated cache in functional module Statistics Manager - Add necessary interfaces to allow plugin stats updates to propagate up to Stats Manager FM: * IOFStatisticsListener - notifies plugin internal components * IReadFilterInternalListener - notifies plugin internal components (demuxed to containers). * IPluginOutReadService - SAL hook for plugins to publish reader notifications. * IReadServiceListener - SAL service, publishes reader notifications - Change statistics manager implementation to return cluster cached stats instead of calling reader service (Reader service is still available). - Style fixes - Bug fix: getOFFlowStatistics(switch,match) should consider priority. Change-Id: I7c7a32102ea43bd4e05444527ad73d2610958603 Signed-off-by: Yevgeny Khodorkovsky <ykhodork@cisco.com>
Checkstyle enforcer Started to enforce checkstyle, if the code style doesn't match the checkstyle settings build will break. This is needed in order to make sure folks comply to one code style and don't start diverging. For now the enforcement is only limited to: - make sure no TABS are present in the java files - make sure that no trailing whitespaces are present Along with code style enforcement updates all the files that didn't comply else compilation would not be successful. Added new exclusion in .gitignore Added new parent for commons.opendaylight, please read the README in the commons.parent project for the reason for it. Make sure the violation of checkstyle are reported on the console to avoid for a developer to be able to dig through the log in the target directory Change-Id: I4e35aa74e685e5cebb8182caf0b3b39da0906948 Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Revert "Checkstyle enforcer" This reverts commit 541d0a36997f292bb037a2199463431eee538358 We are going to talk a bit more about this before doing it. Change-Id: I788ecea18796c6eb325285dfaa83a6aae300634c
Checkstyle enforcer Started to enforce checkstyle, if the code style doesn't match the checkstyle settings build will break. This is needed in order to make sure folks comply to one code style and don't start diverging. For now the enforcement is only limited to: - make sure no TABS are present in the java files - make sure that no trailing whitespaces are present Along with code style enforcement updates all the files that didn't comply else compilation would not be successful. Added new exclusion in .gitignore Change-Id: Ic95da373575cec3cfe0c99b31fce92f66bc41263 Signed-off-by: Giovanni Meo <gmeo@cisco.com>
Add 'TableStatistics' to SAL and Northbound Statistics API. It is similar to the FlowStats and PortStats (NodeConnectorStats) that are present now. Change-Id: Ibecb95c9c4a4f911e5fd3847bbf1f2e77eb16be1 Signed-off-by: Aditya Prakash Vaja <aditya.vaja@bigswitch.com>
ISSUE Opendaylight controller to get node description from OF description statistics datapath description field CHANGE - Switch Mgr to expose a getNodeDescription() method which returns the description configured by user if any, otherwise the one learnt from the proto plugin - Web bunldes to make use of the above api (Currently they are ignoring the info learnt by the plugin) - OFStatisticsManager to implement a IStatistics interface for informing listeners that the description statistics info has been refreshed - Removing current logic where OFStatisticsManager was explicitely invoking the description property update on InventoryService through IOFInventoryService - Removed logic where InventoryServiceShim queries OFStatisticsManager about node description as information is not available at that time and IStatisticsListener updates will serve same purpose - Removing statistics request timeouts from OFStatisticsManager as the timeout is compeltely handled by core.internal.StatisticsCollector Change-Id: I0d2941d3012ca6dc77a386570dbbd8e5c7832a03 Signed-off-by: Alessandro Boch <aboch@cisco.com>
OpenDaylight Controller functional modules. Change-Id: I1cd6668738099e8db3cfe83f812a92c922ced38c Signed-off-by: Madhu Venugopal <vmadhu@cisco.com>