[NETCONF-148] Unable to use get-schema RPC due to unsafe class casting Created: 13/Feb/16  Updated: 15/Mar/19  Resolved: 18/Mar/16

Status: Resolved
Project: netconf
Component/s: restconf-nb
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Kevin Wang Assignee: Martin Ciglan
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Attachments: Text File karaf.log    
External issue ID: 5345

 Description   

In Beryllium, the get-schema RPC call is not working any more. The server returns a 500 error saying there is a java type casting issue.

Reproduce:

1. Grab the latest distribution code and compile it, do a fresh install
2. Install the necessary features in karaf:
feature:install odl-netconf-connector-ssh odl-mdsal-apidocs
3. Do a GET on the get-schema RPC at
/restconf/operations/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/ietf-netconf-monitoring:get-schema

You will see the following error:

<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/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/ietf-netconf-monitoring:get-schema. Reason:

<pre> Server Error</pre>
</p>
<h3>Caused by:</h3>
<pre>java.lang.ClassCastException: org.opendaylight.yangtools.yang.model.util.type.DerivedStringType cannot be cast to org.opendaylight.yangtools.yang.model.util.ExtendedType
at org.opendaylight.yangtools.yang.parser.builder.impl.BuilderUtils.wrapTypedefs(BuilderUtils.java:793)
at org.opendaylight.yangtools.yang.parser.builder.util.AbstractDocumentedDataNodeContainerBuilder.<init>(AbstractDocumentedDataNodeContainerBuilder.java:68)
at org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder.<init>(ModuleBuilder.java:141)
at org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.operationsFromModulesToNormalizedContext(RestconfImpl.java:330)
at org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.getOperations(RestconfImpl.java:316)
at org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.getOperations(StatisticsRestconfServiceWrapper.java:75)
at org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.getOperations(RestconfCompositeWrapper.java:56)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
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:294)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1467)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
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:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
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/>

</body>
</html>

Karaf log attached.



 Comments   
Comment by Kevin Wang [ 13/Feb/16 ]

Attachment karaf.log has been added with description: Karaf log

Comment by Martin Ciglan [ 15/Feb/16 ]

moving to restconf

Comment by Ryan Goulding [ 16/Feb/16 ]

Can you elaborate on why this was moved to restconf? Is it incorrectly using ModuleBuilder API?

Comment by Martin Ciglan [ 16/Feb/16 ]

Hi Ryan

In actual Restconf code base, RestconfImpl.operationsFromModulesToNormalizedContext() uses old Model API implementation, but in runtime, input parameter passed to this method is obviously implementation of new effective Model API, developed side by side with new statement parser, so that's why we're getting class cast error.

So, it's definitely issue in Restconf code base and I'm working on fix.

Best Regards

Martin

Comment by Colin Dixon [ 16/Feb/16 ]

I posted information about this here:
https://lists.opendaylight.org/pipermail/release/2016-February/005602.html

In essence, we need to figure out if this is actually a blocker for the Beryllium release requiring a respin.

Comment by Ryan Goulding [ 16/Feb/16 ]

Thanks for the additional information, Martin. To me this sounds like a blocker.

Comment by Ryan Goulding [ 16/Feb/16 ]

From: https://lists.opendaylight.org/pipermail/netconf-dev/2016-February/000265.html

1.) Is this actually blocking? e.g., is there a work-around?
There is no workaround, it is regression from Lithium behaviour. It is less used feature of RESTCONF (not aware of any user inside OpenDaylight),
But since bug was reported externally, seems there are some external users depending on this feature.

We can decrease it to non-blocking but critical, since it is clear regression and should be fixed soon.

2.) When can we expect a fix?

2016-02-17, which is too close to release date, so really considering just RELEASE-NOTEing it.

After analysis of the issue

3.) This was reported on 2/13 and commented on long before midnight UTC yesterday when we did the respin, why didn't anyone engage with the release engineering team before the respin?
At that time we still did not have analysis if this is really blocking issue and regression from Lithium, closer inspection showcased that this bug
is observable all the time thus marking it as Blocking today.

Comment by A H [ 16/Feb/16 ]

If the issue is NONBLOCKING and does not require us to delay Beryllium release, can we (1) downgrade the severity of the bug, (2) mark the target as Beryllium-1, and (3) add release notes identifying the issue and any possible workaround if one exists.

Comment by Tony Tkacik [ 16/Feb/16 ]

Workaround:

> 3. Do a GET on the get-schema RPC at
>
> /restconf/operations/opendaylight-inventory:nodes/node/controller-config/
> yang-ext:mount/ietf-netconf-monitoring:get-schema

the GET call of RPC is similar as /restconf/operations/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount/

Which returns list of all available RPCs based on schema cvontext.

The functionality to retrieve for all available RPCs is currently blocked.

Similar functionality (discovery of models and thus RPCs) could be achieved by invoking

GET /restconf/operations/opendaylight-inventory:nodes/node/controller-config/yang-ext:mount

(In reply to Kevin Wang from comment #0)
> Created attachment 827 [details]
> Karaf log
>
> In Beryllium, the get-schema RPC call is not working any more. The server
> returns a 500 error saying there is a java type casting issue.
>
> Reproduce:
>
> 1. Grab the latest distribution code and compile it, do a fresh install
> 2. Install the necessary features in karaf:
> feature:install odl-netconf-connector-ssh odl-mdsal-apidocs

>
>
> You will see the following error:
>
> <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/opendaylight-inventory:nodes/node/controller-config/
> yang-ext:mount/ietf-netconf-monitoring:get-schema. Reason:
>
> <pre> Server Error</pre>
> </p>
> <h3>Caused by:</h3>
> <pre>java.lang.ClassCastException:
> org.opendaylight.yangtools.yang.model.util.type.DerivedStringType cannot be
> cast to org.opendaylight.yangtools.yang.model.util.ExtendedType
> at
> org.opendaylight.yangtools.yang.parser.builder.impl.BuilderUtils.
> wrapTypedefs(BuilderUtils.java:793)
> at
> org.opendaylight.yangtools.yang.parser.builder.util.
> AbstractDocumentedDataNodeContainerBuilder.<init>
> (AbstractDocumentedDataNodeContainerBuilder.java:68)
> at
> org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder.<
> init>(ModuleBuilder.java:141)
> at
> org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.
> operationsFromModulesToNormalizedContext(RestconfImpl.java:330)
> at
> org.opendaylight.netconf.sal.restconf.impl.RestconfImpl.
> getOperations(RestconfImpl.java:316)
> at
> org.opendaylight.netconf.sal.restconf.impl.StatisticsRestconfServiceWrapper.
> getOperations(StatisticsRestconfServiceWrapper.java:75)
> at
> org.opendaylight.netconf.sal.rest.impl.RestconfCompositeWrapper.
> getOperations(RestconfCompositeWrapper.java:56)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 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:294)
> at
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.
> java:1467)
> at
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.
> java:61)
> at
> org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
> at
> org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:
> 137)
> at
> org.apache.shiro.web.servlet.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:125)
> at
> org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.
> java:66)
> at
> org.apache.shiro.web.servlet.AbstractShiroFilter.
> executeChain(AbstractShiroFilter.java:449)
> at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.
> java:365)
> at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:
> 90)
> at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:
> 83)
> at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.
> java:383)
> at
> org.apache.shiro.web.servlet.AbstractShiroFilter.
> doFilterInternal(AbstractShiroFilter.java:362)
> at
> org.apache.shiro.web.servlet.OncePerRequestFilter.
> doFilter(OncePerRequestFilter.java:125)
> 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:370)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.
> handleRequest(AbstractHttpConnection.java:494)
> at
> org.eclipse.jetty.server.AbstractHttpConnection.
> headerComplete(AbstractHttpConnection.java:971)
> at
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.
> headerComplete(AbstractHttpConnection.java:1033)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
> at
> org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:
> 82)
> 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/>
>
>
> </body>
> </html>
>
>
>
>
> Karaf log attached.

Comment by Ryan Goulding [ 03/Mar/16 ]

Hi Martin,

I notice it is slotted for Beryllium-SR1, is this still the case? Not trying to be a nuisance or add more work to your plate, I am curious since we are quickly approaching the deadline for SR-1.

Thanks,
Ryan

Comment by Martin Ciglan [ 07/Mar/16 ]

Hi Ryan

Solution, I started to implement around time of discovery of this bug, turned out to be wrong way. We need to think about really custom solution for this particular case. Thanks to existence of workaround for this issue, I am working on other various tasks with higher priority, so we might want to postpone this issue for now. Please let me know if you're OK with this status. Thank you.

Best Regards

Martin

Comment by Ryan Goulding [ 07/Mar/16 ]

Hi Martin,

Although a workaround does exist, I still think we should prioritize fixing this endpoint. Can you explain a bit further by what you mean by a "custom solution".

This comment:

"RestconfImpl.operationsFromModulesToNormalizedContext() uses old Model API implementation, but in runtime, input parameter passed to this method is obviously implementation of new effective Model API, developed side by side with new statement parser, so that's why we're getting class cast error."

Implies that we should migrate "RestconfImpl.operationsFromModulesToNormalizedContext()" from the old model API to the new model API? After investigating this, do you think this is still the case? Or is there something else lurking here?

Any information you can provide is greatly appreciated!

Thanks,
Ryan

Comment by Martin Ciglan [ 08/Mar/16 ]

Hi Ryan

Obviously, this issue is still hot on our plate and certainly not forgotten.

I don't see the solution as a simple migration, but rather custom implementation for this and only particular case. We're currently discussing this issue in dev team in order to deliver as soon as we can for Beryllium. Hope this helps for now and we'll come back to you.

Best Regards

Martin

Comment by Ryan Goulding [ 08/Mar/16 ]

Intermediate fix is targeted for Beryllium-1

Comment by Martin Ciglan [ 09/Mar/16 ]

fixes pushed:

yangtools:
https://git.opendaylight.org/gerrit/35991

restconf:
https://git.opendaylight.org/gerrit/35992

Note: Beryllium code base only, we need to implement brand new solution for Boron

Comment by Ryan Goulding [ 15/Mar/16 ]

Is this fixed in Boron? This is marked as "Resolved Fixed", but it appears that the patches listed below are for Beryllium only?

Comment by Martin Ciglan [ 16/Mar/16 ]

Hi Ryan

Because target and solution differs, I will rather open new bug for this issue.

Martin

Comment by Martin Ciglan [ 18/Mar/16 ]

Boron tracked here:

https://bugs.opendaylight.org/show_bug.cgi?id=5553

Generated at Wed Feb 07 20:14:17 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.