[SDFAB-1015] Use gNOI to probe reachability and increase short timeouts
p4runtime probe reachability is based on GetPipelineConfig gRPC that
can timeout if we are setting in parallel the pipeline: the two requests
concur for the same lock. For our purposes it is enough to check if the
device is still there; for this reason stratum handshaker now relies
on gNOI reachability which is based on getTime RPC.
Additionally increase short timeouts: we have consistenly measured a
time of 14s to push the pipeline on the new QS devices.
Change-Id: I8837540241d8a68f648e47ae165ea53a2d0a865c
diff --git a/drivers/stratum/src/main/java/org/onosproject/drivers/stratum/StratumHandshaker.java b/drivers/stratum/src/main/java/org/onosproject/drivers/stratum/StratumHandshaker.java
index ac9a534..7b41f85 100644
--- a/drivers/stratum/src/main/java/org/onosproject/drivers/stratum/StratumHandshaker.java
+++ b/drivers/stratum/src/main/java/org/onosproject/drivers/stratum/StratumHandshaker.java
@@ -64,7 +64,12 @@
@Override
public CompletableFuture<Boolean> probeReachability() {
- return p4runtime.probeReachability();
+ // p4runtime probe reachability is based on GetPipelineConfig gRPC that
+ // can timeout if we are setting in parallel the pipeline: the two requests
+ // can concur for the same lock. For our purposes it is enough to check if
+ // the device is still there; for this reason stratum handshaker now relies
+ // on gNOI reachability which is based on getTime RPC.
+ return gnoi.probeReachability();
}
@Override