<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:21:45 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>[NETVIRT-514] QosInterfaceStateChangeListener: java.lang.IllegalArgumentException</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-514</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;Found in CSIT: &lt;a href=&quot;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-carbon/157/archives/odl1_karaf.log.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://logs.opendaylight.org/releng/jenkins092/netvirt-csit-1node-openstack-newton-nodl-v2-upstream-stateful-carbon/157/archives/odl1_karaf.log.gz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2017-03-06 15:58:07,231 | INFO  | pool-53-thread-1 | NeutronvpnManager                | 370 - org.opendaylight.netvirt.neutronvpn-impl - 0.4.0.SNAPSHOT | Creating vpn interface VpnInterface [_key=VpnInterfaceKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_name=79979446175186:br-physnet1-pa:flat&amp;#93;&lt;/span&gt;, _name=79979446175186:br-physnet1-pa:flat, _vpnInstanceName=023a3b1a-e4a9-4a32-b985-08890eca2d61, _isRouterInterface=false, augmentation=[]]&lt;br/&gt;
2017-03-06 15:58:07,231 | INFO  | pool-53-thread-1 | NeutronvpnManager                | 370 - org.opendaylight.netvirt.neutronvpn-impl - 0.4.0.SNAPSHOT | Creating vpn interface VpnInterface [_key=VpnInterfaceKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_name=52979261036746:br-physnet1-pa:flat&amp;#93;&lt;/span&gt;, _name=52979261036746:br-physnet1-pa:flat, _vpnInstanceName=023a3b1a-e4a9-4a32-b985-08890eca2d61, _isRouterInterface=false, augmentation=[]]&lt;br/&gt;
2017-03-06 15:58:07,231 | INFO  | pool-53-thread-1 | NeutronvpnManager                | 370 - org.opendaylight.netvirt.neutronvpn-impl - 0.4.0.SNAPSHOT | Creating vpn interface VpnInterface [_key=VpnInterfaceKey &lt;span class=&quot;error&quot;&gt;&amp;#91;_name=198622229657920:br-physnet1-pa:flat&amp;#93;&lt;/span&gt;, _name=198622229657920:br-physnet1-pa:flat, _vpnInstanceName=023a3b1a-e4a9-4a32-b985-08890eca2d61, _isRouterInterface=false, augmentation=[]]&lt;br/&gt;
2017-03-06 15:58:07,236 | ERROR | pool-53-thread-1 | QosInterfaceStateChangeListener  | 377 - org.opendaylight.netvirt.qosservice-impl - 0.4.0.SNAPSHOT | Qos:Exception caught in Interface Operational State Up event&lt;br/&gt;
java.lang.IllegalArgumentException: Supplied value &quot;198622229657920:br-physnet1-pa:flat&quot; does not match required pattern &quot;^&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;&lt;/p&gt;
{8}&lt;del&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{4}-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{4}&lt;/del&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{4}-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{12}$&quot;&lt;br/&gt;
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;65:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid.&amp;lt;init&amp;gt;(Uuid.java:55)&lt;span class=&quot;error&quot;&gt;&amp;#91;81:org.opendaylight.mdsal.model.ietf-yang-types-20130715:2013.7.15.10-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netvirt.qosservice.QosInterfaceStateChangeListener.add(QosInterfaceStateChangeListener.java:68)&lt;span class=&quot;error&quot;&gt;&amp;#91;377:org.opendaylight.netvirt.qosservice-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netvirt.qosservice.QosInterfaceStateChangeListener.add(QosInterfaceStateChangeListener.java:31)&lt;span class=&quot;error&quot;&gt;&amp;#91;377:org.opendaylight.netvirt.qosservice-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncDataTreeChangeListenerBase.java:143)&lt;span class=&quot;error&quot;&gt;&amp;#91;328:org.opendaylight.genius.mdsalutil-api:0.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;br/&gt;
2017-03-06 15:58:07,237 | INFO  | nPool-1-worker-1 | sedEgressServicesStateBindHelper | 358 - org.opendaylight.genius.interfacemanager-impl - 0.2.0.SNAPSHOT | bind all egress services for vlan port: 198622229657920:br-physnet1-pa:flat&lt;br/&gt;
2017-03-06 15:58:07,237 | ERROR | pool-53-thread-1 | QosInterfaceStateChangeListener  | 377 - org.opendaylight.netvirt.qosservice-impl - 0.4.0.SNAPSHOT | Qos:Exception caught in Interface Operational State Up event&lt;br/&gt;
java.lang.IllegalArgumentException: Supplied value &quot;52979261036746:br-physnet1-pa:flat&quot; does not match required pattern &quot;^&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{8}
&lt;p&gt;-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;&lt;/p&gt;
{4}-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;{4}
&lt;p&gt;-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;&lt;/p&gt;
{4}
&lt;p&gt;-&lt;span class=&quot;error&quot;&gt;&amp;#91;0-9a-fA-F&amp;#93;&lt;/span&gt;&lt;/p&gt;
{12}
&lt;p&gt;$&quot;&lt;br/&gt;
	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:145)&lt;span class=&quot;error&quot;&gt;&amp;#91;65:com.google.guava:18.0.0&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.Uuid.&amp;lt;init&amp;gt;(Uuid.java:55)&lt;span class=&quot;error&quot;&gt;&amp;#91;81:org.opendaylight.mdsal.model.ietf-yang-types-20130715:2013.7.15.10-SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netvirt.qosservice.QosInterfaceStateChangeListener.add(QosInterfaceStateChangeListener.java:68)&lt;span class=&quot;error&quot;&gt;&amp;#91;377:org.opendaylight.netvirt.qosservice-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.netvirt.qosservice.QosInterfaceStateChangeListener.add(QosInterfaceStateChangeListener.java:31)&lt;span class=&quot;error&quot;&gt;&amp;#91;377:org.opendaylight.netvirt.qosservice-impl:0.4.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at org.opendaylight.genius.datastoreutils.AsyncDataTreeChangeListenerBase$DataTreeChangeHandler.run(AsyncDataTreeChangeListenerBase.java:143)&lt;span class=&quot;error&quot;&gt;&amp;#91;328:org.opendaylight.genius.mdsalutil-api:0.2.0.SNAPSHOT&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;br/&gt;
	at java.lang.Thread.run(Thread.java:745)&lt;span class=&quot;error&quot;&gt;&amp;#91;:1.8.0_121&amp;#93;&lt;/span&gt;&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="20435">NETVIRT-514</key>
            <summary>QosInterfaceStateChangeListener: java.lang.IllegalArgumentException</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="a.vamsikrishna@ericsson.com">Vamsi krishna</assignee>
                                    <reporter username="JankiChhatbar">Janki Chhatbar</reporter>
                        <labels>
                    </labels>
                <created>Tue, 7 Mar 2017 10:18:22 +0000</created>
                <updated>Mon, 30 Oct 2017 16:55:36 +0000</updated>
                            <resolved>Thu, 30 Mar 2017 13:54:05 +0000</resolved>
                                    <version>Carbon</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="37369" author="vorburger" created="Wed, 8 Mar 2017 15:24:11 +0000"  >&lt;p&gt;I&apos;ve just hit this too, while starting to learn OpenStack with OpenDaylight using my &lt;a href=&quot;https://github.com/vorburger/openstack-devstack-opendaylight-vagrant/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/vorburger/openstack-devstack-opendaylight-vagrant/&lt;/a&gt; ..&lt;/p&gt;

&lt;p&gt;The message a slightly different in my case, but basically same problem:&lt;/p&gt;

&lt;p&gt;Supplied value &quot;tap61d7aec1-2c&quot; does not match required pattern ...&lt;/p&gt;

&lt;p&gt;I&apos;ve had a quick look at the code in QosInterfaceStateChangeListener.add, and basically that code assumes that it can do new Uuid(Interface.getName()) which is most probably wrong - Interface.getName() clearly is NOT, always, guaranteed, to be a valid UUID (above it&apos;s &quot;198622229657920:br-physnet1-pa:flat&quot;, in my case it&apos;s &quot;tap61d7aec1-2c&quot;) .. &lt;/p&gt;

&lt;p&gt;Obviously I don&apos;t understand anything of this code, but I do see that INeutronVpnManager&apos;s Port getNeutronPort(Uuid portId) has an alternative Port getNeutronPort(String name) variant - should that be used instead?  Is that &quot;name&quot; an Interface.getName() ?  Or could you get the UUID from the Interface&apos;s getPhysAddress(), somehow?&lt;/p&gt;

&lt;p&gt;PS: In general, these kind of conversions to String are a bad idea .. ideally, everything should be &quot;strongly typed&quot; - should INeutronVpnManager perhaps directly have a getNeutronPort taken an Interface arg?&lt;/p&gt;</comment>
                            <comment id="37370" author="vorburger" created="Thu, 9 Mar 2017 10:23:07 +0000"  >&lt;p&gt;&amp;gt; INeutronVpnManager&apos;s Port getNeutronPort(Uuid portId) has an alternative Port &amp;gt; getNeutronPort(String name) variant - should that be used instead? &lt;/p&gt;

&lt;p&gt;no that was a stupid idea - org.opendaylight.netvirt.neutronvpn.NeutronvpnManager.getNeutronPort(String) internally just does a new Uuid(name), so this would not solve the problem.&lt;/p&gt;

&lt;p&gt;&amp;gt; Or could you get the UUID from the Interface&apos;s getPhysAddress(), somehow?&lt;/p&gt;

&lt;p&gt;that&apos;s probably the right fix here - but how to you obtain that UUID from an Interface?&lt;/p&gt;</comment>
                            <comment id="37371" author="jankichhatbar" created="Fri, 10 Mar 2017 09:17:53 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53118/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53118/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="37372" author="vorburger" created="Wed, 15 Mar 2017 16:49:40 +0000"  >&lt;p&gt;Possible future enhancement (not short term) resulting from this code in &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53363/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53363/&lt;/a&gt; &amp;amp; &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-239&quot; title=&quot;YANG gen. binding classes with Optional&amp;lt;XYZ&amp;gt; newXYZIfValidPattern() kind of utility factory method&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-239&quot;&gt;&lt;del&gt;MDSAL-239&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.opendaylight.org/browse/MDSAL-238&quot; title=&quot;YANG gen. binding classes should offer a matches(CharSequence input) [or expose Pattern[] patterns public instead private]&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MDSAL-238&quot;&gt;&lt;del&gt;MDSAL-238&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                            <comment id="37373" author="shague@redhat.com" created="Tue, 28 Mar 2017 12:30:34 +0000"  >&lt;p&gt;Could you cherry-pick this fix to stable/boron also?&lt;/p&gt;</comment>
                            <comment id="37374" author="vorburger" created="Tue, 28 Mar 2017 13:12:48 +0000"  >&lt;p&gt;&amp;gt; Could you cherry-pick this fix to stable/boron also?&lt;/p&gt;

&lt;p&gt;==&amp;gt; &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53975/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53975/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was more of a &quot;manual reconstruct&quot; than an actual simple technical git cherry-pick, as (apparently) the code has moved to another bundle (vpnservice/qosservice VS vpnservice/neutronvpn/neutronvpn-impl), and looked quite different in stable/boron, you may want to carefully review c/53975 ...&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10002">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="19844">GENIUS-63</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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>7913</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=7913]]></customfieldvalue>

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

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10203" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>Status Whiteboard</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>csit:exception</customfieldvalue>

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