[ONOS-3538] Implement control metrics distribution logic
- Revise getLoad method to getLocalLoad
- Add new getRemoteLoad methods
- Add the capability to query remote control load
CLI and REST will be implemented in a separated patch
Change-Id: I62d4f4ab891d6d3e95cedd5af9e4ab71949c05ec
diff --git a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/ControlPlaneMonitorTest.java b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/ControlPlaneMonitorTest.java
index 1ec963d..189ca0b 100644
--- a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/ControlPlaneMonitorTest.java
+++ b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/ControlPlaneMonitorTest.java
@@ -26,6 +26,8 @@
import org.onosproject.cpman.ControlMetricType;
import org.onosproject.cpman.MetricValue;
import org.onosproject.net.DeviceId;
+import org.onosproject.store.cluster.messaging.ClusterCommunicationService;
+import org.onosproject.store.cluster.messaging.ClusterCommunicationServiceAdapter;
import java.util.Optional;
import java.util.Set;
@@ -36,8 +38,12 @@
import static org.easymock.EasyMock.replay;
import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat;
-
-import static org.onosproject.cpman.ControlResource.*;
+import static org.onosproject.cpman.ControlResource.CONTROL_MESSAGE_METRICS;
+import static org.onosproject.cpman.ControlResource.CPU_METRICS;
+import static org.onosproject.cpman.ControlResource.DISK_METRICS;
+import static org.onosproject.cpman.ControlResource.MEMORY_METRICS;
+import static org.onosproject.cpman.ControlResource.NETWORK_METRICS;
+import static org.onosproject.cpman.ControlResource.Type;
/**
* Unit test of control plane monitoring service.
@@ -48,6 +54,7 @@
private static final Integer UPDATE_INTERVAL = 1;
private ClusterService mockClusterService;
private ControllerNode mockControllerNode;
+ private ClusterCommunicationService mockCommunicationService;
private NodeId nodeId;
/**
@@ -56,7 +63,9 @@
@Before
public void setup() {
monitor = new ControlPlaneMonitor();
- monitor.activate();
+
+ mockCommunicationService = new ClusterCommunicationServiceAdapter();
+ monitor.communicationService = mockCommunicationService;
nodeId = new NodeId("1");
mockControllerNode = new MockControllerNode(nodeId);
@@ -68,6 +77,8 @@
expect(mockClusterService.getLocalNode())
.andReturn(mockControllerNode).anyTimes();
replay(mockClusterService);
+
+ monitor.activate();
}
/**
@@ -102,7 +113,7 @@
}
private void testLoadMetricWithoutId(ControlMetricType cmt, MetricValue mv) {
- assertThat(monitor.getLoad(nodeId, cmt, Optional.ofNullable(null)).latest(), is(mv.getLoad()));
+ assertThat(monitor.getLocalLoad(cmt, Optional.ofNullable(null)).latest(), is(mv.getLoad()));
}
private void testUpdateMetricWithResource(ControlMetricType cmt, MetricValue mv, String resourceName) {
@@ -111,7 +122,7 @@
}
private void testLoadMetricWithResource(ControlMetricType cmt, MetricValue mv, String resourceName) {
- assertThat(monitor.getLoad(nodeId, cmt, resourceName).latest(), is(mv.getLoad()));
+ assertThat(monitor.getLocalLoad(cmt, resourceName).latest(), is(mv.getLoad()));
}
private void testUpdateMetricWithId(ControlMetricType cmt, MetricValue mv, DeviceId did) {
@@ -120,7 +131,7 @@
}
private void testLoadMetricWithId(ControlMetricType cmt, MetricValue mv, DeviceId did) {
- assertThat(monitor.getLoad(nodeId, cmt, Optional.of(did)).latest(), is(mv.getLoad()));
+ assertThat(monitor.getLocalLoad(cmt, Optional.of(did)).latest(), is(mv.getLoad()));
}
/**