<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:22:24 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-761] aclservice component tests broken</title>
                <link>https://jira.opendaylight.org/browse/NETVIRT-761</link>
                <project id="10144" key="NETVIRT">netvirt</project>
                    <description>&lt;p&gt;While starting to investigate the sporadic test failures we see in the aclservice component tests (AclServiceTestBase: AclServiceStatefulTest, AclServiceStatelessTest, AclServiceTestBaseIPv6, AclServiceStatefulIPv6Test), I realized that before &amp;amp; in parallel to solving that, we should probably tackle a bigger problem in those tests... they don&apos;t actually work and don&apos;t really test much, anymore! &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/wink.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;The following messages appear in the log of e.g. AclServiceStatefulTest&apos;s newInterfaceWithMultipleAcl() :&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;main&amp;#93;&lt;/span&gt; WARN org.opendaylight.genius.mdsalutil.interfaces.testutils.TestIMdsalApiManager - assert containsExactlyElementsIn() failed&lt;br/&gt;
java.lang.AssertionError: Not true that &amp;lt;&lt;span class=&quot;error&quot;&gt;&amp;#91;FlowEntity ...&amp;#93;&lt;/span&gt;&amp;gt; contains exactly &amp;lt;&lt;span class=&quot;error&quot;&gt;&amp;#91;FlowEntity ...&amp;#93;&lt;/span&gt;&amp;gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;main&amp;#93;&lt;/span&gt; WARN org.opendaylight.genius.mdsalutil.interfaces.testutils.TestIMdsalApiManager - assert failed &lt;span class=&quot;error&quot;&gt;&amp;#91;order ignored!&amp;#93;&lt;/span&gt;; expected flows: &lt;span class=&quot;error&quot;&gt;&amp;#91;FlowEntity ...&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;main&amp;#93;&lt;/span&gt; WARN org.opendaylight.genius.mdsalutil.interfaces.testutils.TestIMdsalApiManager - assert failed &lt;span class=&quot;error&quot;&gt;&amp;#91;order ignored!&amp;#93;&lt;/span&gt;; actual flows  : &lt;span class=&quot;error&quot;&gt;&amp;#91;FlowEntity ...&amp;#93;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;which points out a mismatch between expected and actual flows - but the test does not fail, when this occurs! &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.opendaylight.org/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;

&lt;p&gt;This is an impact of the FlowEntity-immutable changes &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/53763/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/53763/&lt;/a&gt; and &lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/54390/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/54390/&lt;/a&gt; from a few 2-3 months - which we, apparently, completely missed (I&apos;ll create a new non-regression test to avoid this in the future).&lt;/p&gt;

&lt;p&gt;What happened is that the new FlowEntityBuilder, generated by &lt;a href=&quot;https://immutables.github.io&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://immutables.github.io&lt;/a&gt; through the @Immutable&lt;br/&gt;
@OpenDaylightImmutableStyle annotations on the abstract class FlowEntity, does not have getters anymore (as the original FlowEntity used to have) - only setters.  This is how Immutables.org does it (see also &lt;a href=&quot;https://github.com/immutables/immutables/issues/432&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/immutables/immutables/issues/432&lt;/a&gt;), and &lt;b&gt;normally&lt;/b&gt; is fine and should not be a problem.&lt;/p&gt;

&lt;p&gt;BUT &lt;a href=&quot;https://github.com/vorburger/xtendbeans&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/vorburger/xtendbeans&lt;/a&gt;, due to a &quot;bug&quot; (this was never needed before) did not support this (it returned almost empty object initialization literals; because it did not &quot;see&quot; the properties, when there is no getter on a Builder).&lt;/p&gt;

&lt;p&gt;And due to an oversight / bug in TestIMdsalApiManager&apos;s assertFlowsInAnyOrder(), this caused only the logs above, but not the tests to fail!&lt;/p&gt;

&lt;p&gt;The solution includes a number of steps, including:&lt;/p&gt;

&lt;p&gt;1. fixing xtendbeans to support Builders which have no getters, only setters; upgrade ODL (mdsal) to use new release&lt;/p&gt;

&lt;p&gt;2. fixing TestIMdsalApiManager&apos;s assertFlowsInAnyOrder() to actually fail when flows mismatch&lt;/p&gt;

&lt;p&gt;3. fixing aclservice code (or just updating FlowEntryObjectsStateful.xtend) to fix failures that have crept in (not noticed)&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="20682">NETVIRT-761</key>
            <summary>aclservice component tests broken</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="-1">Unassigned</assignee>
                                    <reporter username="vorburger">Michael Vorburger</reporter>
                        <labels>
                    </labels>
                <created>Tue, 4 Jul 2017 21:45:46 +0000</created>
                <updated>Thu, 19 Oct 2017 21:28:01 +0000</updated>
                            <resolved>Tue, 11 Jul 2017 09:21:22 +0000</resolved>
                                    <version>Nitrogen</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="38048" author="vorburger" created="Tue, 4 Jul 2017 22:22:33 +0000"  >&lt;p&gt;&amp;gt; fixing aclservice code (or just updating FlowEntryObjectsStateful.xtend) to fix failures that have crept in&lt;/p&gt;

&lt;p&gt;TBD next, and BEFORE merging the following changes (because they will cause aclservice test failures otherwise)&lt;/p&gt;

&lt;p&gt;One can locally see the test failures by adding this to the aclservice-impl/pom.xml:&lt;/p&gt;

&lt;p&gt;    &amp;lt;dependency&amp;gt;&lt;br/&gt;
      &amp;lt;!-- TODO Remove this again; this is just temporary, for local testing; c/59950 will do this in mdsal --&amp;gt;&lt;br/&gt;
      &amp;lt;groupId&amp;gt;ch.vorburger&amp;lt;/groupId&amp;gt;&lt;br/&gt;
      &amp;lt;artifactId&amp;gt;xtendbeans&amp;lt;/artifactId&amp;gt;&lt;br/&gt;
      &amp;lt;version&amp;gt;1.3.0&amp;lt;/version&amp;gt;&lt;br/&gt;
      &amp;lt;scope&amp;gt;test&amp;lt;/scope&amp;gt;&lt;br/&gt;
    &amp;lt;/dependency&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;gt; fixing xtendbeans to support Builders which have no getters, only setters&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/vorburger/xtendbeans/commit/377364c67b80f1253fb25a82ae596fc9dc585a1d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/vorburger/xtendbeans/commit/377364c67b80f1253fb25a82ae596fc9dc585a1d&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;gt; upgrade ODL (mdsal) to use new release&lt;/p&gt;

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

&lt;p&gt;&amp;gt; fixing TestIMdsalApiManager&apos;s assertFlowsInAnyOrder() to actually fail when flows mismatch&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/59951/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/59951/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="38049" author="shague@redhat.com" created="Wed, 5 Jul 2017 13:04:48 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/59954&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/59954&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                    <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>8800</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=8800]]></customfieldvalue>

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

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