import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.opendaylight.yangtools.yang.common.RpcResult;
import org.osgi.framework.BundleContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class OpenflowpluginMeterTestCommandProvider implements CommandProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(OpenflowpluginMeterTestCommandProvider.class);
private DataBrokerService dataBrokerService;
private ProviderContext pc;
private final BundleContext ctx;
@Override
public void onMeterAdded(MeterAdded notification) {
- System.out.println("Meter to be added.........................."+notification.toString());
- System.out.println("Meter Xid........................."+notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("Meter to be added.........................."+notification.toString());
+ LOG.info("Meter Xid........................."+notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
}
@Override
public void onMeterRemoved(MeterRemoved notification) {
- System.out.println("Meter to be removed.........................."+notification.toString());
- System.out.println("Meter Xid........................."+notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("Meter to be removed.........................."+notification.toString());
+ LOG.info("Meter Xid........................."+notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
}
@Override
public void onMeterUpdated(MeterUpdated notification) {
- System.out.println("Meter to be updated.........................."+notification.toString());
- System.out.println("Meter Xid........................."+notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("Meter to be updated.........................."+notification.toString());
+ LOG.info("Meter Xid........................."+notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
}
}
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.AggregateFlowStatisticsData;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.statistics.rev130819.FlowStatisticsData;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.table.statistics.rev131215.FlowTableStatisticsData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.queues.Queue;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.port.rev130925.queues.QueueKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnectorKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.NodeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.port.statistics.rev131214.FlowCapableNodeConnectorStatisticsData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.queue.statistics.rev131216.FlowCapableNodeConnectorQueueStatisticsData;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.osgi.framework.BundleContext;
}
+ public void _queueStats(CommandInterpreter ci) {
+ boolean isFound = false;
+ List<Node> nodes = getNodes();
+ for (Iterator<Node> iterator = nodes.iterator(); iterator.hasNext();) {
+ NodeKey nodeKey = iterator.next().getKey();
+ InstanceIdentifier<Node> nodeRef = InstanceIdentifier.builder(Nodes.class).child(Node.class, nodeKey)
+ .toInstance();
+ Node node = (Node) dataProviderService.readOperationalData(nodeRef);
+ List<NodeConnector> ports = node.getNodeConnector();
+ for (Iterator<NodeConnector> iterator2 = ports.iterator(); iterator2.hasNext();) {
+ NodeConnectorKey nodeConnectorKey = iterator2.next().getKey();
+ InstanceIdentifier<FlowCapableNodeConnector> connectorRef = InstanceIdentifier.builder(Nodes.class)
+ .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)
+ .augmentation(FlowCapableNodeConnector.class).toInstance();
+ FlowCapableNodeConnector nodeConnector = (FlowCapableNodeConnector) dataProviderService
+ .readOperationalData(connectorRef);
+ // queue list is always empty, bug 307 is raised.
+ List<Queue> queueList = nodeConnector.getQueue();
+
+ for (Iterator<Queue> iterator3 = queueList.iterator(); iterator3.hasNext();) {
+ QueueKey queueKey = iterator3.next().getKey();
+ InstanceIdentifier<Queue> queueRef = InstanceIdentifier.builder(Nodes.class)
+ .child(Node.class, nodeKey).child(NodeConnector.class, nodeConnectorKey)
+ .augmentation(FlowCapableNodeConnector.class).child(Queue.class, queueKey).toInstance();
+ Queue queue = (Queue) dataProviderService.readOperationalData(queueRef);
+ FlowCapableNodeConnectorQueueStatisticsData data = queue
+ .getAugmentation(FlowCapableNodeConnectorQueueStatisticsData.class);
+ if (null != data) {
+ isFound = true;
+ }
+ }
+ }
+ }
+
+ if (isFound) {
+ ci.println("queueStats - Success");
+ } else {
+ ci.println("queueStats - Failed");
+ ci.println("System fetchs stats data in 50 seconds interval, so pls wait and try again.");
+ }
+
+ }
public void _tableStats(CommandInterpreter ci) {
int tableCount = 0;
@Override
public void onFlowAdded(FlowAdded notification) {
- System.out.println("flow to be added.........................." + notification.toString());
- System.out.println("added flow Xid........................." + notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("flow to be added.........................." + notification.toString());
+ LOG.info("added flow Xid........................." + notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
addedFlows.add(notification);
}
@Override
public void onFlowRemoved(FlowRemoved notification) {
- System.out.println("removed flow.........................." + notification.toString());
- System.out.println("remove flow Xid........................." + notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("removed flow.........................." + notification.toString());
+ LOG.info("remove flow Xid........................." + notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
removedFlows.add(notification);
};
@Override
public void onFlowUpdated(FlowUpdated notification) {
- System.out.println("updated flow.........................." + notification.toString());
- System.out
- .println("updated flow Xid........................." + notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("updated flow.........................." + notification.toString());
+ LOG.info("updated flow Xid........................." + notification.getTransactionId().getValue());
+ LOG.info("-----------------------------------------------------------------------------------");
updatedFlows.add(notification);
}
@Override
public void onNodeErrorNotification(NodeErrorNotification notification) {
- System.out.println("Error notification flow Xid........................."
+ LOG.info("Error notification flow Xid........................."
+ notification.getTransactionId().getValue());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("-----------------------------------------------------------------------------------");
}
@Override
@Override
public void onSwitchFlowRemoved(SwitchFlowRemoved notification) {
- System.out
- .println("Switch flow removed : Cookies..................." + notification.getCookie().toString());
- System.out.println("-----------------------------------------------------------------------------------");
+ LOG.info("Switch flow removed : Cookies..................." + notification.getCookie().toString());
+ LOG.info("-----------------------------------------------------------------------------------");
}
}
@Override
public void onNodeConnectorRemoved(NodeConnectorRemoved notification) {
- System.out.println("NodeConnectorRemoved Notification ...................");
- System.out.println(notification.getNodeConnectorRef());
- System.out.println("----------------------------------------------------------------------");
+ LOG.info("NodeConnectorRemoved Notification ...................");
+ LOG.info(notification.getNodeConnectorRef().toString());
+ LOG.info("----------------------------------------------------------------------");
nodeConnectorRemoved.add(notification);
}
@Override
public void onNodeConnectorUpdated(NodeConnectorUpdated notification) {
- System.out.println("NodeConnectorUpdated Notification...................");
- System.out.println(notification.getNodeConnectorRef());
- System.out.println("----------------------------------------------------------------------");
+ LOG.info("NodeConnectorUpdated Notification...................");
+ LOG.info(notification.getNodeConnectorRef().toString());
+ LOG.info("----------------------------------------------------------------------");
nodeConnectorUpdated.add(notification);
}
@Override
public void onNodeRemoved(NodeRemoved notification) {
- System.out.println("NodeConnectorUpdated Notification ...................");
- System.out.println(notification.getNodeRef());
- System.out.println("----------------------------------------------------------------------");
+ LOG.info("NodeConnectorUpdated Notification ...................");
+ LOG.info(notification.getNodeRef().toString());
+ LOG.info("----------------------------------------------------------------------");
nodeRemoved.add(notification);
}
@Override
public void onNodeUpdated(NodeUpdated notification) {
- System.out.println("NodeConnectorUpdated Notification ...................");
- System.out.println(notification.getNodeRef());
- System.out.println("----------------------------------------------------------------------");
+ LOG.info("NodeConnectorUpdated Notification ...................");
+ LOG.info(notification.getNodeRef().toString());
+ LOG.info("----------------------------------------------------------------------");
nodeUpdated.add(notification);
}
}