-
Bug
-
Resolution: Unresolved
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
4812
. While running netconf performance test for 16 devices and 16 threads:
- Started as:
o java -jar netconf-simulator.jar --schemas-dir ./xrmodels/src/main/yang --ssh false --distribution-folder ./karaf/target/assembly/ --device-count 16
o [root@ucs-sdn-2 ncmount]# java -jar rest-stress-client.jar --ip localhost --port 8181 --destination /restconf/operations/ncmount:write-routes --edits 10000 --edit-content json_routes_1_multiple-devices.json --async-requests false --thread-amount=16 --same-device false --throttle 10000 }
Error: 06:16:38.421 [pool-50-thread-14] WARN o.o.c.n.t.t.c.h.p.SyncExecutionStrategy - url: http://localhost:8181/restconf/operations/ncmount:write-routes
06:16:38.421 [pool-50-thread-12] WARN o.o.c.n.t.t.c.h.p.SyncExecutionStrategy - <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 Server Error</title>
</head>
<body><h2>HTTP ERROR 500</h2>
<p>Problem accessing /restconf/operations/ncmount:write-routes. Reason:
<pre> Server Error</pre></p><h3>Caused by:</h3><pre>java.lang.IllegalStateException: Optional.get() cannot be called on an absent value
at com.google.common.base.Absent.get(Absent.java:47)
at ncmount.impl.NcmountProvider.writeRoutes(NcmountProvider.java:349)
This seems to be a small issue in the rest stress client. It cannot generate proper inputs for 10 or more devices. The inputs contain node-id (so that RPC handler knows which device should handle the request) but rest stress client cannot substitute those for you. Only can substitute THREAD_NUMBER and REQUEST_NUMBER. In the requests I used node id defined as: “sim-device-1783
{THREAD_NUMBER}and that produces wrong format of the node-id. This needs to be fixed in the client and in the request templates.