Various fixes in preparation of Stratum demo at ONS 2019
- Do not read counters with table entries for Barefoot drivers
- If driver behavior setup fails, log which operation we are aborting
- Remove unnecessary setup steps in Stratum-related drivers
- Always get clients by their key in gRPC-based drivers
- Log when P4Runtime group operation fails because of missing group in
store
- Fix polling of table entry counters for P4Runtime driver
Change-Id: Ic9bf19b76d8cb5a191aec24852af4410fea8b998
diff --git a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/AbstractGnmiHandlerBehaviour.java b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/AbstractGnmiHandlerBehaviour.java
index 3774bfb..72233fc 100644
--- a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/AbstractGnmiHandlerBehaviour.java
+++ b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/AbstractGnmiHandlerBehaviour.java
@@ -20,7 +20,6 @@
import org.onosproject.gnmi.api.GnmiClient;
import org.onosproject.gnmi.api.GnmiClientKey;
import org.onosproject.gnmi.api.GnmiController;
-import org.onosproject.net.Device;
import org.onosproject.net.DeviceId;
import org.onosproject.net.config.NetworkConfigService;
import org.onosproject.net.config.basics.BasicDeviceConfig;
@@ -40,18 +39,14 @@
protected final Logger log = LoggerFactory.getLogger(getClass());
protected DeviceId deviceId;
protected DeviceService deviceService;
- protected Device device;
- protected GnmiController controller;
protected GnmiClient client;
- protected boolean setupBehaviour() {
+ protected boolean setupBehaviour(String opName) {
deviceId = handler().data().deviceId();
deviceService = handler().get(DeviceService.class);
- controller = handler().get(GnmiController.class);
- client = controller.getClient(deviceId);
-
+ client = getClientByKey();
if (client == null) {
- log.warn("Unable to find client for {}, aborting operation", deviceId);
+ log.warn("Missing client for {}, aborting {}", deviceId, opName);
return false;
}
diff --git a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiDeviceDescriptionDiscovery.java b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiDeviceDescriptionDiscovery.java
index ce134ad..a85cdfb 100644
--- a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiDeviceDescriptionDiscovery.java
+++ b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiDeviceDescriptionDiscovery.java
@@ -76,7 +76,7 @@
@Override
public List<PortDescription> discoverPortDetails() {
- if (!setupBehaviour()) {
+ if (!setupBehaviour("discoverPortDetails()")) {
return Collections.emptyList();
}
log.debug("Discovering port details on device {}", handler().data().deviceId());
diff --git a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
index a41144e..fa7231f 100644
--- a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
+++ b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
@@ -50,7 +50,7 @@
@Override
public Collection<PortStatistics> discoverPortStatistics() {
- if (!setupBehaviour()) {
+ if (!setupBehaviour("discoverPortStatistics()")) {
return Collections.emptyList();
}