Merge "Switch to using yangtools version of mockito-configuration"
[controller.git] / opendaylight / md-sal / statistics-manager / src / main / java / org / opendaylight / controller / md / statistics / manager / StatisticsProvider.java
index 19cf0ed386bda52aed1ab8b572dd1c5cea821d53..bb5dea3bd5ad753ca7069169e32a9207b1599715 100644 (file)
@@ -177,34 +177,32 @@ public class StatisticsProvider implements AutoCloseable {
 
         for (Node targetNode : targetNodes){
             
-            InstanceIdentifier<Node> targetInstanceId = InstanceIdentifier.builder(Nodes.class).child(Node.class,targetNode.getKey()).toInstance();
-            NodeRef targetNodeRef = new NodeRef(targetInstanceId);
+            if(targetNode.getAugmentation(FlowCapableNode.class) != null){
+
+                spLogger.info("Send request for stats collection to node : {})",targetNode.getId());
+                
+                InstanceIdentifier<Node> targetInstanceId = InstanceIdentifier.builder(Nodes.class).child(Node.class,targetNode.getKey()).toInstance();
+                
+                NodeRef targetNodeRef = new NodeRef(targetInstanceId);
             
-            try {
+                try{
+                    sendAggregateFlowsStatsFromAllTablesRequest(targetNode.getKey());
                 
-                sendAggregateFlowsStatsFromAllTablesRequest(targetNode.getKey());
-
-                sendAllFlowsStatsFromAllTablesRequest(targetNodeRef);
+                    sendAllFlowsStatsFromAllTablesRequest(targetNodeRef);
 
-                sendAllNodeConnectorsStatisticsRequest(targetNodeRef);
+                    sendAllNodeConnectorsStatisticsRequest(targetNodeRef);
                 
-                sendAllFlowTablesStatisticsRequest(targetNodeRef);
+                    sendAllFlowTablesStatisticsRequest(targetNodeRef);
                 
-                sendAllQueueStatsFromAllNodeConnector (targetNodeRef);
-
-            }catch(Exception e){
-                spLogger.error("Exception occured while sending statistics requests : {}",e);
-            }
-
-            if(targetNode.getAugmentation(FlowCapableNode.class) != null){
-
-                spLogger.info("Send request for stats collection to node : {})",targetNode.getId());
-
-                try{
-                  sendAllGroupStatisticsRequest(targetNodeRef);
-                  sendAllMeterStatisticsRequest(targetNodeRef);
-                  sendGroupDescriptionRequest(targetNodeRef);
-                  sendMeterConfigStatisticsRequest(targetNodeRef);
+                    sendAllQueueStatsFromAllNodeConnector (targetNodeRef);
+
+                    sendAllGroupStatisticsRequest(targetNodeRef);
+                    
+                    sendAllMeterStatisticsRequest(targetNodeRef);
+                    
+                    sendGroupDescriptionRequest(targetNodeRef);
+                    
+                    sendMeterConfigStatisticsRequest(targetNodeRef);
                 }catch(Exception e){
                     spLogger.error("Exception occured while sending statistics requests : {}", e);
                 }
@@ -260,22 +258,9 @@ public class StatisticsProvider implements AutoCloseable {
                 this.multipartMessageManager.addTxIdToRequestTypeEntry(response.get().getResult().getTransactionId()
                         , StatsRequestType.AGGR_FLOW);
             }
+        }else{
+            spLogger.debug("No details found in data store for flow tables associated with Node {}",targetNodeKey);
         }
-        
-        //Note: Just for testing, because i am not able to fetch table list from datastore
-        // Bug-225 is raised for investigation.
-        
-//                spLogger.info("Send aggregate stats request for flow table {} to node {}",1,targetNodeKey);
-//                GetAggregateFlowStatisticsFromFlowTableForAllFlowsInputBuilder input = 
-//                        new GetAggregateFlowStatisticsFromFlowTableForAllFlowsInputBuilder();
-//                
-//                input.setNode(new NodeRef(InstanceIdentifier.builder(Nodes.class).child(Node.class, targetNodeKey).toInstance()));
-//                input.setTableId(new TableId((short)1));
-//                Future<RpcResult<GetAggregateFlowStatisticsFromFlowTableForAllFlowsOutput>> response = 
-//                        flowStatsService.getAggregateFlowStatisticsFromFlowTableForAllFlows(input.build());`
-//                
-//                multipartMessageManager.setTxIdAndTableIdMapEntry(response.get().getResult().getTransactionId(), (short)1);
-        
     }
 
     private void sendAllNodeConnectorsStatisticsRequest(NodeRef targetNode) throws InterruptedException, ExecutionException{
@@ -376,7 +361,7 @@ public class StatisticsProvider implements AutoCloseable {
     private List<Short> getTablesFromNode(NodeKey nodeKey){
         InstanceIdentifier<FlowCapableNode> nodesIdentifier = InstanceIdentifier.builder(Nodes.class).child(Node.class,nodeKey).augmentation(FlowCapableNode.class).toInstance();
         
-        FlowCapableNode node = (FlowCapableNode)dps.readConfigurationData(nodesIdentifier);
+        FlowCapableNode node = (FlowCapableNode)dps.readOperationalData(nodesIdentifier);
         List<Short> tablesId = new ArrayList<Short>();
         if(node != null && node.getTable()!=null){
             spLogger.info("Number of tables {} supported by node {}",node.getTable().size(),nodeKey);