Enable to query the control metrics from remote node
Change-Id: Ifef1c6eafd7cc79ed99be51f7faa26d97aeb2f67
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 62502f9..39198af 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
@@ -31,6 +31,7 @@
import java.util.Optional;
import java.util.Set;
+import java.util.concurrent.ExecutionException;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.createMock;
@@ -109,11 +110,17 @@
private void testUpdateMetricWithoutId(ControlMetricType cmt, MetricValue mv) {
ControlMetric cm = new ControlMetric(cmt, mv);
- monitor.updateMetric(cm, UPDATE_INTERVAL, Optional.ofNullable(null));
+ monitor.updateMetric(cm, UPDATE_INTERVAL, Optional.empty());
}
- private void testLoadMetricWithoutId(ControlMetricType cmt, MetricValue mv) {
- assertThat(monitor.getLocalLoad(cmt, Optional.ofNullable(null)).latest(), is(mv.getLoad()));
+ private void testLoadMetric(NodeId nodeId, ControlMetricType cmt, MetricValue mv) {
+ try {
+ assertThat(monitor.getLoad(nodeId, cmt, Optional.empty()).get().latest(), is(mv.getLoad()));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } catch (ExecutionException e) {
+ e.printStackTrace();
+ }
}
private void testUpdateMetricWithResource(ControlMetricType cmt, MetricValue mv, String resourceName) {
@@ -121,8 +128,14 @@
monitor.updateMetric(cm, UPDATE_INTERVAL, resourceName);
}
- private void testLoadMetricWithResource(ControlMetricType cmt, MetricValue mv, String resourceName) {
- assertThat(monitor.getLocalLoad(cmt, resourceName).latest(), is(mv.getLoad()));
+ private void testLoadMetricWithResource(NodeId nodeId, ControlMetricType cmt, MetricValue mv, String resourceName) {
+ try {
+ assertThat(monitor.getLoad(nodeId, cmt, resourceName).get().latest(), is(mv.getLoad()));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } catch (ExecutionException e) {
+ e.printStackTrace();
+ }
}
private void testUpdateMetricWithId(ControlMetricType cmt, MetricValue mv, DeviceId did) {
@@ -130,8 +143,14 @@
monitor.updateMetric(cm, UPDATE_INTERVAL, Optional.of(did));
}
- private void testLoadMetricWithId(ControlMetricType cmt, MetricValue mv, DeviceId did) {
- assertThat(monitor.getLocalLoad(cmt, Optional.of(did)).latest(), is(mv.getLoad()));
+ private void testLoadMetricWithId(NodeId nodeId, ControlMetricType cmt, MetricValue mv, DeviceId did) {
+ try {
+ assertThat(monitor.getLoad(nodeId, cmt, Optional.of(did)).get().latest(), is(mv.getLoad()));
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } catch (ExecutionException e) {
+ e.printStackTrace();
+ }
}
/**
@@ -142,7 +161,7 @@
MetricValue mv = new MetricValue.Builder().load(30).add();
CPU_METRICS.forEach(cmt -> testUpdateMetricWithoutId(cmt, mv));
- CPU_METRICS.forEach(cmt -> testLoadMetricWithoutId(cmt, mv));
+ CPU_METRICS.forEach(cmt -> testLoadMetric(nodeId, cmt, mv));
}
/**
@@ -153,7 +172,7 @@
MetricValue mv = new MetricValue.Builder().load(40).add();
MEMORY_METRICS.forEach(cmt -> testUpdateMetricWithoutId(cmt, mv));
- MEMORY_METRICS.forEach(cmt -> testLoadMetricWithoutId(cmt, mv));
+ MEMORY_METRICS.forEach(cmt -> testLoadMetric(nodeId, cmt, mv));
}
/**
@@ -169,7 +188,7 @@
testUpdateMetricWithResource(cmt, mv, disk)));
set.forEach(disk -> DISK_METRICS.forEach(cmt ->
- testLoadMetricWithResource(cmt, mv, disk)));
+ testLoadMetricWithResource(nodeId, cmt, mv, disk)));
}
/**
@@ -185,7 +204,7 @@
testUpdateMetricWithResource(cmt, mv, network)));
set.forEach(network -> NETWORK_METRICS.forEach(cmt ->
- testLoadMetricWithResource(cmt, mv, network)));
+ testLoadMetricWithResource(nodeId, cmt, mv, network)));
}
/**
@@ -201,7 +220,7 @@
testUpdateMetricWithId(cmt, mv, devId)));
set.forEach(devId -> CONTROL_MESSAGE_METRICS.forEach(cmt ->
- testLoadMetricWithId(cmt, mv, devId)));
+ testLoadMetricWithId(nodeId, cmt, mv, devId)));
}
/**
diff --git a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
index dbc991b..087b1ab 100644
--- a/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
+++ b/apps/cpman/app/src/test/java/org/onosproject/cpman/impl/message/ControlPlaneMonitorServiceAdaptor.java
@@ -16,7 +16,7 @@
package org.onosproject.cpman.impl.message;
import org.onosproject.cluster.NodeId;
-import org.onosproject.cpman.ControlLoad;
+import org.onosproject.cpman.ControlLoadSnapshot;
import org.onosproject.cpman.ControlMetric;
import org.onosproject.cpman.ControlMetricType;
import org.onosproject.cpman.ControlPlaneMonitorService;
@@ -26,6 +26,7 @@
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
/**
* Test adapter control plane monitoring service.
@@ -44,27 +45,32 @@
}
@Override
- public ControlLoad getLocalLoad(ControlMetricType type,
- Optional<DeviceId> deviceId) {
+ public CompletableFuture<ControlLoadSnapshot> getLoad(NodeId nodeId,
+ ControlMetricType type,
+ Optional<DeviceId> deviceId) {
return null;
}
@Override
- public ControlLoad getLocalLoad(ControlMetricType type, String resourceName) {
+ public CompletableFuture<ControlLoadSnapshot> getLoad(NodeId nodeId,
+ ControlMetricType type,
+ String resourceName) {
return null;
}
@Override
- public CompletableFuture<ControlLoad> getRemoteLoad(NodeId nodeId,
- ControlMetricType type,
- Optional<DeviceId> deviceId) {
+ public CompletableFuture<ControlLoadSnapshot> getLoad(NodeId nodeId,
+ ControlMetricType type,
+ int duration, TimeUnit unit,
+ Optional<DeviceId> deviceId) {
return null;
}
@Override
- public CompletableFuture<ControlLoad> getRemoteLoad(NodeId nodeId,
- ControlMetricType type,
- String resourceName) {
+ public CompletableFuture<ControlLoadSnapshot> getLoad(NodeId nodeId,
+ ControlMetricType type,
+ int duration, TimeUnit unit,
+ String resourceName) {
return null;
}
diff --git a/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsResourceTest.java b/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsResourceTest.java
index cfcb092..fd6d2c7 100644
--- a/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsResourceTest.java
+++ b/apps/cpman/app/src/test/java/org/onosproject/cpman/rest/ControlMetricsResourceTest.java
@@ -15,11 +15,7 @@
*/
package org.onosproject.cpman.rest;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import javax.ws.rs.client.WebTarget;
-
+import com.google.common.collect.ImmutableSet;
import org.glassfish.jersey.server.ResourceConfig;
import org.junit.Before;
import org.junit.Test;
@@ -33,11 +29,14 @@
import org.onosproject.codec.CodecService;
import org.onosproject.codec.impl.CodecManager;
import org.onosproject.cpman.ControlLoad;
+import org.onosproject.cpman.ControlLoadSnapshot;
import org.onosproject.cpman.ControlPlaneMonitorService;
-import org.onosproject.cpman.codec.ControlLoadCodec;
+import org.onosproject.cpman.codec.ControlLoadSnapshotCodec;
import org.onosproject.rest.resources.ResourceTest;
-import com.google.common.collect.ImmutableSet;
+import javax.ws.rs.client.WebTarget;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
import static org.easymock.EasyMock.anyObject;
import static org.easymock.EasyMock.anyString;
@@ -145,7 +144,7 @@
public void setUpTest() {
final CodecManager codecService = new CodecManager();
codecService.activate();
- codecService.registerCodec(ControlLoad.class, new ControlLoadCodec());
+ codecService.registerCodec(ControlLoadSnapshot.class, new ControlLoadSnapshotCodec());
ServiceDirectory testDirectory =
new TestServiceDirectory()
.add(ControlPlaneMonitorService.class,
@@ -184,7 +183,7 @@
public void testResourcePopulatedArray() {
expect(mockControlPlaneMonitorService.availableResources(anyObject()))
.andReturn(resourceSet).once();
- expect(mockControlPlaneMonitorService.getLocalLoad(anyObject(),
+ expect(mockControlPlaneMonitorService.getLoad(anyObject(), anyObject(),
anyString())).andReturn(null).times(4);
replay(mockControlPlaneMonitorService);