Have you checked this?

https://github.com/opendaylight/openflowplugin/blob/master/applications/bulk-o-matic/src/site/asciidoc/bulk-o-matic.adoc
 
<https://github.com/opendaylight/openflowplugin/blob/master/applications/bulk-o-matic/src/site/asciidoc/bulk-o-matic.adoc>

BR/Luis

> On Jun 16, 2016, at 11:52 PM, Muthukrishnan Thangasamy 
> <[email protected]> wrote:
> 
> Hello Team ,
> 
> Can anyone tell how to add multiple ( more than 100 flows ) flows to switches 
>  using single REST API call either through Config Data store or RPC .
> 
> I tried using Bulk-o-matic application  But I am Getting Null Pointer 
> Exception in 
> org.opendaylight.openflowplugin.applications.bulk.o.matic.SalBulkFlowServiceImpl.addFlowsDs(SalBulkFlowServiceImpl.java:72)
>  
> 
> Can anyone tell me whats is the issue with my restcall?
> 
> Bulk-o-matic yang 
> ==============
> https://github.com/opendaylight/openflowplugin/blob/master/applications/bulk-o-matic/src/main/yang/sal-bulk-flow.yang
>  
> <https://github.com/opendaylight/openflowplugin/blob/master/applications/bulk-o-matic/src/main/yang/sal-bulk-flow.yang>
> 
> 
> REST Call ( tried to add only single flow )
> ==================
> curl -v --user "admin":"admin" -H "Accept: application/xml" -H "Content-type: 
> application/xml" -k -X POST -d '
> <input xmlns="urn:opendaylight:bulk-flow:service">
>     <always-create-parents>false</always-create-parents>
> <flow_id>3</flow_id>
>     <cookie_mask>255</cookie_mask>
>     <cookie>105</cookie>
>     <table_id>0</table_id>
>     <priority>65530</priority>
>     <hard-timeout>0</hard-timeout>
>     <idle-timeout>0</idle-timeout>
> <installHW>false</installHW>
>     <instructions>
>         <instruction>
>             <order>0</order>
>             <apply-actions>
>                 <action>
>                     <order>0</order>
>                     <output-action>
>                         <output-node-connector>3</output-node-connector>
>                     </output-action>
>                 </action>
>             </apply-actions>
>         </instruction>
>     </instructions>
>     <match>
>         <in-port>2</in-port>
>     </match>
> </input>' 
> https://10.45.0.227:8443/restconf/operations/sal-bulk-flow:add-flows-ds 
> <https://10.45.0.227:8443/restconf/operations/sal-bulk-flow:add-flows-ds>
> 
> 
> Curl Response
> ============
> * Connection #0 to host 10.45.0.227 left intact
> tel@tel-ProLiant-ML150-Gen9:~$ curl -v --user "admin":"admin" -H "Accept: 
> application/xml" -H "Content-type: application/xml" -k -X POST -d '
> > <input xmlns="urn:opendaylight:bulk-flow:service">
> >     <always-create-parents>false</always-create-parents>
> > <flow_id>3</flow_id>
> >     <cookie_mask>255</cookie_mask>
> >     <cookie>105</cookie>
> >     <table_id>0</table_id>
> >     <priority>65530</priority>
> >     <hard-timeout>0</hard-timeout>
> >     <idle-timeout>0</idle-timeout>
> > <installHW>false</installHW>
> >     <instructions>
> >         <instruction>
> >             <order>0</order>
> >             <apply-actions>
> >                 <action>
> >                     <order>0</order>
> >                     <output-action>
> >                         <output-node-connector>3</output-node-connector>
> >                     </output-action>
> >                 </action>
> >             </apply-actions>
> >         </instruction>
> >     </instructions>
> >     <match>
> >         <in-port>2</in-port>
> >     </match>
> > </input>' 
> > https://10.45.0.227:8443/restconf/operations/sal-bulk-flow:add-flows-ds 
> > <https://10.45.0.227:8443/restconf/operations/sal-bulk-flow:add-flows-ds>
> *   Trying 10.45.0.227...
> * Connected to 10.45.0.227 (10.45.0.227) port 8443 (#0)
> * found 187 certificates in /etc/ssl/certs/ca-certificates.crt
> * found 753 certificates in /etc/ssl/certs
> * ALPN, offering http/1.1
> * SSL connection using TLS1.2 / ECDHE_RSA_AES_128_CBC_SHA1
> *        server certificate verification SKIPPED
> *        server certificate status verification SKIPPED
> *        common name: Sanket Tandulwadkar (does not match '10.45.0.227')
> *        server certificate expiration date OK
> *        server certificate activation date OK
> *        certificate public key: RSA
> *        certificate version: #3
> *        subject: C=US,ST=MA,L=Billerica,O=Avaya,OU=VEGA,CN=Sanket 
> Tandulwadkar
> *        start date: Tue, 19 Jan 2016 15:10:59 GMT
> *        expire date: Fri, 16 Jan 2026 15:10:59 GMT
> *        issuer: C=US,ST=MA,L=Billerica,O=Avaya,OU=VEGA,CN=Sanket Tandulwadkar
> *        compression: NULL
> * ALPN, server did not agree to a protocol
> * Server auth using Basic with user 'admin'
> > POST /restconf/operations/sal-bulk-flow:add-flows-ds HTTP/1.1
> > Host: 10.45.0.227:8443
> > Authorization: Basic YWRtaW46YWRtaW4=
> > User-Agent: curl/7.43.0
> > Accept: application/xml
> > Content-type: application/xml
> > Content-Length: 813
> >
> * upload completely sent off: 813 out of 813 bytes
> < HTTP/1.1 500 Server Error
> < Content-Type: text/html;charset=ISO-8859-1
> < Cache-Control: must-revalidate,no-cache,no-store
> < Content-Length: 7648
> < Server: Jetty(8.1.15.v20140411)
> <
> <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/sal-bulk-flow:add-flows-ds. Reason:
> <pre>    Server Error</pre></p><h3>Caused 
> by:</h3><pre>java.lang.NullPointerException
>         at 
> org.opendaylight.openflowplugin.applications.bulk.o.matic.SalBulkFlowServiceImpl.addFlowsDs(SalBulkFlowServiceImpl.java:72)
>         at 
> org.opendaylight.yangtools.yang.binding.util.RpcMethodInvokerWithInput.invokeOn(RpcMethodInvokerWithInput.java:30)
>         at 
> org.opendaylight.yangtools.yang.binding.util.AbstractMappedRpcInvoker.invokeRpc(AbstractMappedRpcInvoker.java:52)
>         at 
> org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invoke(BindingDOMRpcImplementationAdapter.java:85)
>         at 
> org.opendaylight.controller.md.sal.binding.impl.BindingDOMRpcImplementationAdapter.invokeRpc(BindingDOMRpcImplementationAdapter.java:72)
>         at 
> org.opendaylight.controller.md.sal.dom.broker.impl.GlobalDOMRpcRoutingTableEntry.invokeRpc(GlobalDOMRpcRoutingTableEntry.java:40)
>         at 
> org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRoutingTable.invokeRpc(DOMRpcRoutingTable.java:186)
>         at 
> org.opendaylight.controller.md.sal.dom.broker.impl.DOMRpcRouter.invokeRpc(DOMRpcRouter.java:124)
>         at 
> org.opendaylight.controller.sal.restconf.impl.BrokerFacade.invokeRpc(BrokerFacade.java:176)
>         at 
> org.opendaylight.controller.sal.restconf.impl.RestconfImpl.invokeRpc(RestconfImpl.java:449)
>         at 
> org.opendaylight.controller.sal.restconf.impl.StatisticsRestconfServiceWrapper.invokeRpc(StatisticsRestconfServiceWrapper.java:81)
>         at 
> org.opendaylight.controller.sal.rest.impl.RestconfCompositeWrapper.invokeRpc(RestconfCompositeWrapper.java:53)
>         at sun.reflect.GeneratedMethodAccessor412.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>         at 
> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
>         at 
> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>         at 
> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>         at 
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>         at 
> com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100)
>         at 
> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>         at 
> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
>         at 
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
>         at 
> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>         at 
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
>         at 
> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
>         at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
>         at 
> org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
>         at 
> org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
>         at 
> org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:82)
>         at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
>         at 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
>         at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
>         at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
>         at 
> org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
>         at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>         at 
> org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)
>         at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>         at org.eclipse.jetty.server.Server.handle(Server.java:366)
>         at 
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
>         at 
> org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:982)
>         at 
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1043)
>         at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
>         at 
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>         at 
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>         at 
> org.eclipse.jetty.io.nio.SslConnection.handle(SslConnection.java:196)
>         at 
> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
>         at 
> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>         at java.lang.Thread.run(Thread.java:745)
> </pre>
> <hr /><i><small>Powered by Jetty://</small></i><br/>
> 
> 
> 
> _______________________________________________
> openflowplugin-dev mailing list
> [email protected] 
> <mailto:[email protected]>
> https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev 
> <https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev>
_______________________________________________
openflowplugin-dev mailing list
[email protected]
https://lists.opendaylight.org/mailman/listinfo/openflowplugin-dev

Reply via email to