<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:54:10 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[YANGTOOLS-742] Getter of BA object fails to construct class instance</title>
                <link>https://jira.opendaylight.org/browse/YANGTOOLS-742</link>
                <project id="10188" key="YANGTOOLS">yangtools</project>
                    <description>&lt;p&gt;Deserialization fails with following exception:&lt;/p&gt;

&lt;p&gt;Caused by: java.lang.IllegalArgumentException: Failed to construct instance of class org.opendaylight.yang.gen.v1.urn.ieee.params.xml.ns.yang.dot1q.types.rev150626.dot1q.tag.or.any.Dot1qTag$VlanId for input 2420&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.UnionTypeCodec.deserialize(UnionTypeCodec.java:51) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.deserializeObject(LeafNodeCodecContext.java:199) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getBindingChildValue(DataObjectCodecContext.java:329) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.getBindingData(LazyDataObject.java:148) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.bindingToString(LazyDataObject.java:205) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.invoke(LazyDataObject.java:65) ~&lt;span class=&quot;error&quot;&gt;&amp;#91;mdsal-binding-dom-codec-0.9.2-Boron-SR2.jar:na&amp;#93;&lt;/span&gt;&lt;br/&gt;
               at com.sun.proxy.$Proxy117.toString(Unknown Source) ~[n&lt;/p&gt;

&lt;p&gt;when I do &lt;/p&gt;

&lt;p&gt;dot1qTag.getVlanId()&lt;/p&gt;

&lt;p&gt;here is yang model:&lt;br/&gt;
&lt;a href=&quot;https://git.fd.io/hc2vpp/tree/v3po/api/src/main/yang/dot1q-types.yang&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.fd.io/hc2vpp/tree/v3po/api/src/main/yang/dot1q-types.yang&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;after debugging, I found that&lt;/p&gt;

&lt;p&gt;EncapsulatedValueCodec.deserialize() &lt;/p&gt;

&lt;p&gt;fails because of&lt;/p&gt;

&lt;p&gt;java.lang.ClassCastException: Cannot cast java.lang.String to java.lang.Integer&lt;/p&gt;

&lt;p&gt;In case if I use analogous restconf request, DataObject is retrieved from cache&lt;br/&gt;
at LazyDataObject.getBindingData and deserialization is not invoked.&lt;/p&gt;

&lt;p&gt;The same request works if we downgrade odl dependencies to Beryllium-SR2.&lt;/p&gt;

&lt;p&gt;I noticed that in case of beryllium, the generated Dot1qTagVlanIdBuilder was invoked.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="23162">YANGTOOLS-742</key>
            <summary>Getter of BA object fails to construct class instance</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="rovarga">Robert Varga</assignee>
                                    <reporter username="mgradzki">Marek Gradzki</reporter>
                        <labels>
                    </labels>
                <created>Wed, 8 Feb 2017 09:38:15 +0000</created>
                <updated>Sun, 10 Apr 2022 18:35:57 +0000</updated>
                            <resolved>Wed, 15 Mar 2017 13:00:59 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>10</watches>
                                                                                                                <comments>
                            <comment id="44354" author="mgradzki@cisco.com" created="Wed, 8 Feb 2017 09:38:15 +0000"  >&lt;p&gt;Attachment netconf.txt has been added with description: netconf request&lt;/p&gt;</comment>
                            <comment id="44355" author="mgradzki@cisco.com" created="Wed, 8 Feb 2017 09:39:01 +0000"  >&lt;p&gt;Attachment restconf.txt has been added with description: restconf request&lt;/p&gt;</comment>
                            <comment id="44326" author="mgradzki@cisco.com" created="Wed, 8 Feb 2017 09:39:44 +0000"  >&lt;p&gt;Honeycomb log&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.fd.io/secure/attachment/11007/full_honeycomb.zip&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jira.fd.io/secure/attachment/11007/full_honeycomb.zip&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44327" author="ivan.hrasko@pantheon.tech" created="Mon, 20 Feb 2017 11:15:08 +0000"  >&lt;p&gt;Netconf request is working fine in stable/boron (except that you are missing &amp;lt;type&amp;gt; attribute in the rpc with id m-67).&lt;/p&gt;</comment>
                            <comment id="44328" author="mgradzki@cisco.com" created="Mon, 20 Feb 2017 11:19:30 +0000"  >&lt;p&gt;You are refering to SR2 or SR3 snapshot?&lt;br/&gt;
How should valid netconf request look like?&lt;br/&gt;
Btw, we are getting the request from ODL client - we have no control over it.&lt;/p&gt;</comment>
                            <comment id="44329" author="ivan.hrasko@pantheon.tech" created="Mon, 20 Feb 2017 11:24:58 +0000"  >&lt;p&gt;I added &amp;lt;type/&amp;gt; and result is:&lt;/p&gt;

&lt;p&gt;&amp;lt;rpc message-id=&quot;m-67&quot; xmlns=&quot;urn:ietf:params:xml:ns:netconf:base:1.0&quot;&amp;gt;&lt;br/&gt;
&amp;lt;edit-config&amp;gt;&lt;br/&gt;
&amp;lt;target&amp;gt;&lt;br/&gt;
&amp;lt;candidate/&amp;gt;&lt;br/&gt;
&amp;lt;/target&amp;gt;&lt;br/&gt;
&amp;lt;config&amp;gt;&lt;br/&gt;
&amp;lt;interfaces xmlns=&quot;urn:ietf:params:xml:ns:yang:ietf-interfaces&quot;&amp;gt;&lt;br/&gt;
&amp;lt;interface&amp;gt;&lt;br/&gt;
&amp;lt;name&amp;gt;GigabitEthernet0/8/0&amp;lt;/name&amp;gt;&lt;br/&gt;
&amp;lt;type/&amp;gt;&lt;br/&gt;
&amp;lt;sub-interfaces xmlns=&quot;urn:opendaylight:params:xml:ns:yang:vpp:vlan&quot;/&amp;gt;&lt;br/&gt;
&amp;lt;/interface&amp;gt;&lt;br/&gt;
&amp;lt;/interfaces&amp;gt;&lt;br/&gt;
&amp;lt;/config&amp;gt;&lt;br/&gt;
&amp;lt;/edit-config&amp;gt;&lt;br/&gt;
&amp;lt;/rpc&amp;gt;&lt;br/&gt;
]]&amp;gt;]]&amp;gt;&lt;/p&gt;</comment>
                            <comment id="44330" author="ivan.hrasko@pantheon.tech" created="Mon, 20 Feb 2017 11:40:54 +0000"  >&lt;p&gt;Working rest request:&lt;/p&gt;

&lt;p&gt;PUT &lt;a href=&quot;http://localhost:8181/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://localhost:8181/restconf/config/ietf-interfaces:interfaces/interface/GigabitEthernet0%2F8%2F0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;{&lt;br/&gt;
	&quot;interface&quot; : &lt;/p&gt;
{
    	&quot;name&quot; : &quot;GigabitEthernet0/8/0&quot;,
    	&quot;type&quot; : &quot;&quot;
	}
&lt;p&gt;}&lt;/p&gt;</comment>
                            <comment id="44331" author="mgradzki@cisco.com" created="Mon, 20 Feb 2017 11:49:58 +0000"  >&lt;p&gt;GigabitEthernet0/8/0 was defined in cfg before edit-cfg msg was received (perhaps this is why mandatory type attribute was not included in the series of messages).&lt;/p&gt;

&lt;p&gt;What we are more interesting in&lt;br/&gt;
is the vlan-tag part (union type deserialzation).&lt;/p&gt;

&lt;p&gt;Have you checked boron SR2?&lt;/p&gt;</comment>
                            <comment id="44332" author="ivan.hrasko@pantheon.tech" created="Mon, 20 Feb 2017 12:19:24 +0000"  >&lt;p&gt;Yes I have checked release/boron-sr2 release and it worked fine.&lt;/p&gt;</comment>
                            <comment id="44333" author="mgradzki@cisco.com" created="Tue, 21 Feb 2017 06:59:40 +0000"  >&lt;p&gt;It is possible it works for honeycomb/vbd alone. But our setup is a bit different.  ODL app (honeycomb/vbd) sends netconf requests to hc2vpp. Then hc2vpp fails to deserialize vlan-id union type.&lt;/p&gt;


&lt;p&gt;Please look at attached logs (DEBUG). Let me know if you need additional logs or increasing log level for some components to reproduce issue.&lt;/p&gt;

&lt;p&gt;Ultimate solution to reproduce bug is to install and run hc2vpp &lt;a href=&quot;https://docs.fd.io/hc2vpp/1.17.01-SNAPSHOT/release-notes-aggregator/release_notes.html#_install_guide&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://docs.fd.io/hc2vpp/1.17.01-SNAPSHOT/release-notes-aggregator/release_notes.html#_install_guide&lt;/a&gt; (will try to simplify the setup).&lt;/p&gt;</comment>
                            <comment id="44334" author="ivan.hrasko@pantheon.tech" created="Thu, 23 Feb 2017 14:51:23 +0000"  >&lt;p&gt;cherry picked &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/52203/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/52203/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44335" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 14:50:20 +0000"  >&lt;p&gt;Steps to reproduce:&lt;/p&gt;

&lt;p&gt;Add to software repositories:&lt;br/&gt;
&lt;a href=&quot;https://nexus.fd.io/content/repositories/fd.io.stable.1701.ubuntu.xenial.main/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://nexus.fd.io/content/repositories/fd.io.stable.1701.ubuntu.xenial.main/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;then install:&lt;/p&gt;

&lt;p&gt;sudo apt-get install vpp vpp-lib&lt;/p&gt;

&lt;p&gt;the start vpp:&lt;/p&gt;

&lt;p&gt;sudo service vpp start&lt;/p&gt;

&lt;p&gt;check:&lt;br/&gt;
sudo vppctl show version&lt;br/&gt;
sudo vppctl show int&lt;/p&gt;

&lt;p&gt;Download from honeycomb (if you want to change odl dependencies) and hc2vpp.&lt;/p&gt;

&lt;p&gt;Build hc2vpp and run it:&lt;br/&gt;
sudo sh vpp-integration/minimal-distribution/target/vpp-integration-distribution-1.17.01-hc/vpp-integration-distribution-1.17.01/honeycomb-debug&lt;/p&gt;

&lt;p&gt;Debugging port is 5005.&lt;/p&gt;

&lt;p&gt;You can connect to honeycomb:&lt;br/&gt;
ssh admin@localhost -p 2831 -s netconf&lt;/p&gt;

&lt;p&gt;Send hello message and run rpcs from file local0.txt (this file uses interface local0)&lt;/p&gt;

&lt;p&gt;Check if interface local0 exists and/or create it with postman.collection.json.&lt;/p&gt;</comment>
                            <comment id="44356" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 14:51:19 +0000"  >&lt;p&gt;Attachment local0.txt has been added with description: local0.txt file with requests to reproduce bug&lt;/p&gt;</comment>
                            <comment id="44357" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 15:08:56 +0000"  >&lt;p&gt;Attachment postman.collection.json has been added with description: postman.collection.json file&lt;/p&gt;</comment>
                            <comment id="44336" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 15:11:10 +0000"  >&lt;p&gt;In honeycomb project an hcv2vpp I used branch (stable/1701.&lt;/p&gt;

&lt;p&gt;honeycomb and hc2vpp sources can be downloaded from: &lt;br/&gt;
&lt;a href=&quot;https://gerrit.fd.io/r/#/admin/projects/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/admin/projects/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44337" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 15:17:24 +0000"  >&lt;p&gt;In honeycomb master they use workaround:&lt;br/&gt;
&lt;a href=&quot;https://jira.fd.io/browse/HC2VPP-62&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jira.fd.io/browse/HC2VPP-62&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44338" author="mgradzki@cisco.com" created="Wed, 8 Mar 2017 06:13:19 +0000"  >&lt;p&gt;I also noticed that union types handling in general fails in our scenario&lt;br/&gt;
(string type is choosen regardless type order or deserialization fails if &lt;br/&gt;
there is no string type).&lt;/p&gt;

&lt;p&gt;Perhaps some simple model with union type would speed up issue identification.&lt;/p&gt;

&lt;p&gt;We use BindingToNormalizedNodeCodec for BA&amp;lt;&amp;gt;BI translation:&lt;/p&gt;

&lt;p&gt; StreamWriterGenerator serializerGenerator =&lt;br/&gt;
                new StreamWriterGenerator(JavassistUtils.forClassPool(ClassPool.getDefault()));&lt;br/&gt;
        BindingNormalizedNodeCodecRegistry codecRegistry = new BindingNormalizedNodeCodecRegistry(serializerGenerator);&lt;br/&gt;
        BindingRuntimeContext ctx = BindingRuntimeContext.create(mibCtx, mibCtx.getSchemaContext());&lt;br/&gt;
        codecRegistry.onBindingRuntimeContextUpdated(ctx);&lt;br/&gt;
        BindingToNormalizedNodeCodec codec = new BindingToNormalizedNodeCodec(mibCtx, codecRegistry);&lt;br/&gt;
        codec.onGlobalContextUpdated(mibCtx.getSchemaContext());&lt;/p&gt;

&lt;p&gt;...&lt;/p&gt;

&lt;p&gt;codec.fromNormalizedNode(id, data)&lt;/p&gt;

&lt;p&gt;BI data we deserialize is present in the full log&lt;br/&gt;
(link attached in one of previous comments).&lt;br/&gt;
Please let us know if you need to increase log level of some component.&lt;/p&gt;

&lt;p&gt;If it is not enough to reproduce issue with non HC environment,&lt;br/&gt;
I can try to at least remove VPP from the picture.&lt;/p&gt;</comment>
                            <comment id="44339" author="ivan.hrasko@pantheon.tech" created="Thu, 9 Mar 2017 10:12:33 +0000"  >&lt;p&gt;In Beryllium-2 it worked because there was always used string constructor to deserialize. Now there is type checking, so data must have correct type.&lt;/p&gt;

&lt;p&gt;Problem is probably somewhere outside mdsal.&lt;/p&gt;</comment>
                            <comment id="44340" author="jatoth@cisco.com" created="Thu, 9 Mar 2017 10:35:31 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I tried to write test for this (added you to review) - &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53067/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53067/&lt;/a&gt; - and it seems to be working for us (mdsal). Can you confirm this test?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                            <comment id="44341" author="mgradzki@cisco.com" created="Thu, 9 Mar 2017 14:07:13 +0000"  >&lt;p&gt;We use ModuleInfoBackedContext, except for that test looks good.&lt;br/&gt;
But after updating your test still no exception...&lt;/p&gt;

&lt;p&gt;Codec and schema service is shared among various ODL componets,&lt;br/&gt;
so perhaps issue is in how components interact.&lt;/p&gt;

&lt;p&gt;Will try to simplify the setup needed to reproduce issue...&lt;/p&gt;</comment>
                            <comment id="44342" author="mgradzki@cisco.com" created="Fri, 10 Mar 2017 08:04:32 +0000"  >&lt;p&gt;Here is simplified version of our setup with instructions how to reproduce issue:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gerrit.fd.io/r/#/c/5699/2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/c/5699/2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I checked also SR3 snapshots:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://gerrit.fd.io/r/#/c/5699/3&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/c/5699/3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;and the issue is also present&lt;/p&gt;</comment>
                            <comment id="44343" author="jatoth@cisco.com" created="Tue, 14 Mar 2017 10:25:04 +0000"  >&lt;p&gt;Codecs prepared in mdsal are used only in mdsal with specific input data. I added test to previous test&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; - negative test - where input data (NormalizedNode) contains other type of value like it is defined by yang and I got your case with IllegalArgumentException. This mean, that you have to have good type of value in input data according to type of value define by yang. This is why you can&apos;t deserialize input data with string if there has to be int. Our codecs are OK + generated code from yangs is OK.&lt;/p&gt;


&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0&amp;#93;&lt;/span&gt; - &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53264/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53264/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44344" author="rovarga" created="Tue, 14 Mar 2017 17:19:09 +0000"  >&lt;p&gt;Looking at the log, I see the following:&lt;/p&gt;

&lt;p&gt;2017-02-08 09:57:18.527 CET &lt;span class=&quot;error&quot;&gt;&amp;#91;netconf-netty-1&amp;#93;&lt;/span&gt; DEBUG o.o.y.b.d.c.i.UnionValueOptionContext - Codec org.opendaylight.yangtools.binding.data.codec.impl.EnumerationCodec@1b169815 failed to deserialize input 2420&lt;br/&gt;
java.lang.IllegalArgumentException: Invalid enumeration value 2420. Valid values are &lt;span class=&quot;error&quot;&gt;&amp;#91;any&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Based on the example case you have provided, this makes sense, your JSON has quotes around the number, which means it is a String and treated as such, hence the integer-based union members are immediately skipped and it hits EnumerationCodec directly.&lt;/p&gt;

&lt;p&gt;At some point we will need to parse values more strictly in the JSON/XML world, but that is a change we cannot do this late in the release.&lt;/p&gt;</comment>
                            <comment id="44345" author="rovarga" created="Tue, 14 Mar 2017 18:12:57 +0000"  >&lt;p&gt;Looking at the codec infrastructure, though, I am failing to see how that string could have passed through.&lt;/p&gt;

&lt;p&gt;Are you getting the same results via RESTCONF and NETCONF?&lt;/p&gt;</comment>
                            <comment id="44346" author="rovarga" created="Tue, 14 Mar 2017 18:36:15 +0000"  >&lt;p&gt;Looking at the various classes, I am not sure which codec we are hitting and they do have slight variances:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/UnionStringCodec.java&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;does the wrong thing by returning the original string representation and it seems to be hooked into NETCONF.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/yangtools/blob/master/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractStringUnionCodec.java&lt;/a&gt; seems to be doing the right thing (in most cases, I am not sure about edge cases) and is hooked into RESTCONF (for both XML and JSON).&lt;/p&gt;

&lt;p&gt;I am positive MD-SAL is off the hook and this needs to be fixed either in yangtools  (by fixing the old codecs) or (better) netconf (by switching to yang-data-codec-xml).&lt;/p&gt;

&lt;p&gt;Can you guys confirm the following:&lt;/p&gt;

&lt;p&gt;1) this issue occurs when the data is introduced via RESTCONF (if HC has such a thing) (both XML and JSON formats)&lt;br/&gt;
2) which union codec is being used when the request is deserialized in EditConfig.parseIntoNormalizedNode()&lt;/p&gt;

&lt;p&gt;After we have the results we can decide which strategy to take.&lt;/p&gt;</comment>
                            <comment id="44347" author="rovarga" created="Tue, 14 Mar 2017 19:00:01 +0000"  >&lt;p&gt;I stand corrected, netconf is still using yang-data-impl XML codecs across the board.&lt;/p&gt;</comment>
                            <comment id="44348" author="rovarga" created="Tue, 14 Mar 2017 19:25:28 +0000"  >&lt;p&gt;This needs to gate Boron-3, because it is a regression from a previous release.&lt;/p&gt;</comment>
                            <comment id="44349" author="rovarga" created="Tue, 14 Mar 2017 19:47:29 +0000"  >&lt;p&gt;master: &lt;a href=&quot;https://git.opendaylight.org/gerrit/53297&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/53297&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44350" author="jmorvay@cisco.com" created="Tue, 14 Mar 2017 20:23:37 +0000"  >&lt;p&gt;(In reply to Robert Varga from comment #25)&lt;br/&gt;
&amp;gt; I stand corrected, netconf is still using yang-data-impl XML codecs across&lt;br/&gt;
&amp;gt; the board.&lt;/p&gt;

&lt;p&gt;Yeah, you are correct. Netconf and also Restconf is using data.impl.schema.transform parser/serializer infrastructure.&lt;/p&gt;</comment>
                            <comment id="44351" author="rovarga" created="Tue, 14 Mar 2017 22:35:23 +0000"  >&lt;p&gt;boron: &lt;a href=&quot;https://git.opendaylight.org/gerrit/53308&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/53308&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="44352" author="jsrnicek@cisco.com" created="Wed, 15 Mar 2017 11:46:23 +0000"  >&lt;p&gt;Verified with test patch &lt;a href=&quot;https://gerrit.fd.io/r/#/c/5699/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/c/5699/&lt;/a&gt;, no issue present&lt;/p&gt;</comment>
                            <comment id="44353" author="jsrnicek@cisco.com" created="Wed, 15 Mar 2017 11:47:26 +0000"  >&lt;p&gt;(In reply to Jan Srnicek from comment #30)&lt;br/&gt;
&amp;gt; Verified with test patch &lt;a href=&quot;https://gerrit.fd.io/r/#/c/5699/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://gerrit.fd.io/r/#/c/5699/&lt;/a&gt;, no issue present&lt;br/&gt;
+ &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53308/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53308/&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="13072" name="local0.txt" size="1518" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 14:51:19 +0000"/>
                            <attachment id="13070" name="netconf.txt" size="2311" author="mgradzki" created="Wed, 8 Feb 2017 09:38:15 +0000"/>
                            <attachment id="13073" name="postman.collection.json" size="75768" author="ivan.hrasko@pantheon.tech" created="Mon, 27 Feb 2017 15:08:56 +0000"/>
                            <attachment id="13071" name="restconf.txt" size="831" author="mgradzki" created="Wed, 8 Feb 2017 09:39:01 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>7759</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=7759]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10344"><![CDATA[Boron-3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10312"><![CDATA[High]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i0293r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>