import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsInputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.GetAllMeterStatisticsOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.statistics.rev131111.OpendaylightMeterStatisticsService;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.GetAllPortsStatisticsInputBuilder;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.GetAllPortsStatisticsOutput;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.GetAllNodeConnectorsStatisticsInputBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.GetAllNodeConnectorsStatisticsOutput;
import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.OpendaylightPortStatisticsService;
import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsInputBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.GetAllQueuesStatisticsFromAllPortsOutput;
for (Node targetNode : targetNodes){
- InstanceIdentifier<Node> targetInstanceId = InstanceIdentifier.builder(Nodes.class).child(Node.class,targetNode.getKey()).toInstance();
- NodeRef targetNodeRef = new NodeRef(targetInstanceId);
-
- System.out.println("ANIL: Target Node object ::"+targetNode.toString());
-
- System.out.println("ANIL: FlowCapableNode augmentations ::"+targetNode.getAugmentation(FlowCapableNode.class));
+ 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);
-
- sendAllPortStatisticsRequest(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);
- Thread.sleep(1000);
- sendAllMeterStatisticsRequest(targetNodeRef);
- Thread.sleep(1000);
- sendGroupDescriptionRequest(targetNodeRef);
- Thread.sleep(1000);
- sendMeterConfigStatisticsRequest(targetNodeRef);
- Thread.sleep(1000);
+ sendAllQueueStatsFromAllNodeConnector (targetNodeRef);
+
+ sendAllGroupStatisticsRequest(targetNodeRef);
+
+ sendAllMeterStatisticsRequest(targetNodeRef);
+
+ sendGroupDescriptionRequest(targetNodeRef);
+
+ sendMeterConfigStatisticsRequest(targetNodeRef);
}catch(Exception e){
spLogger.error("Exception occured while sending statistics requests : {}", e);
}
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 sendAllPortStatisticsRequest(NodeRef targetNode) throws InterruptedException, ExecutionException{
+ private void sendAllNodeConnectorsStatisticsRequest(NodeRef targetNode) throws InterruptedException, ExecutionException{
- final GetAllPortsStatisticsInputBuilder input = new GetAllPortsStatisticsInputBuilder();
+ final GetAllNodeConnectorsStatisticsInputBuilder input = new GetAllNodeConnectorsStatisticsInputBuilder();
input.setNode(targetNode);
- Future<RpcResult<GetAllPortsStatisticsOutput>> response =
- portStatsService.getAllPortsStatistics(input.build());
+ Future<RpcResult<GetAllNodeConnectorsStatisticsOutput>> response =
+ portStatsService.getAllNodeConnectorsStatistics(input.build());
this.multipartMessageManager.addTxIdToRequestTypeEntry(response.get().getResult().getTransactionId()
, StatsRequestType.ALL_PORT);
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);