<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:04:38 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>[INTTEST-125] Improve csit/suites/netconf/scale/max_devices.robot</title>
                <link>https://jira.opendaylight.org/browse/INTTEST-125</link>
                <project id="10189" key="INTTEST">integration-test</project>
                    <description>&lt;p&gt;This drives &lt;a href=&quot;https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-1node-scale-max-devices-only-aluminium/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/view/netconf/job/netconf-csit-1node-scale-max-devices-only-aluminium/&lt;/a&gt; and does a lot of ineffecient things:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;the devices should be setup with a single REST request&lt;/li&gt;
	&lt;li&gt;the devices should be torn down with a single REST request&lt;/li&gt;
	&lt;li&gt;checking for device tear-down should operate on &apos;all devices&apos; torn down&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;If it&apos;s not possible to setup or tear down with a single request, it should be done using parallel threads.&lt;/p&gt;</description>
                <environment></environment>
        <key id="33759">INTTEST-125</key>
            <summary>Improve csit/suites/netconf/scale/max_devices.robot</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="2" iconUrl="https://jira.opendaylight.org/images/icons/priorities/critical.svg">High</priority>
                        <status id="10003" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Confirmed</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="tcere">Tomas Cere</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Tue, 26 Jan 2021 13:44:24 +0000</created>
                <updated>Tue, 17 Aug 2021 20:19:21 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                                                                <comments>
                            <comment id="69520" author="rovarga" created="Thu, 12 Aug 2021 09:50:17 +0000"  >&lt;p&gt;This is hurting us quite bad, as we &lt;a href=&quot;https://jenkins.opendaylight.org/releng/job/netconf-csit-1node-scale-max-devices-only-silicon/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/releng/job/netconf-csit-1node-scale-max-devices-only-silicon/&lt;/a&gt; takes almost 8 hours to complete (and then barfs on parsing RF logs).&lt;/p&gt;</comment>
                            <comment id="69521" author="rovarga" created="Thu, 12 Aug 2021 09:59:15 +0000"  >&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;The problem really is this block:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;NetconfKeywords.Perform_Operation_On_Each_Device &#160;&#160;&#160;NetconfKeywords.Configure_Device &#160;&#160;&#160;timeout=${timeout} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;Exit For Loop If &#160;&#160;&#160;&lt;span class=&quot;code-quote&quot;&gt;&apos;${status}&apos;&lt;/span&gt; == &lt;span class=&quot;code-quote&quot;&gt;&apos;FAIL&apos;&lt;/span&gt;

 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;NetconfKeywords.Perform_Operation_On_Each_Device &#160;&#160;&#160;NetconfKeywords.Wait_Connected &#160;&#160;&#160;timeout=${timeout} &#160;&#160;&#160;log_response=False &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;Exit For Loop If &#160;&#160;&#160;&lt;span class=&quot;code-quote&quot;&gt;&apos;${status}&apos;&lt;/span&gt; == &lt;span class=&quot;code-quote&quot;&gt;&apos;FAIL&apos;&lt;/span&gt;

 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;Issue_Requests_On_Devices &#160;&#160;&#160;${TOOLS_SYSTEM_IP} &#160;&#160;&#160;${devices} &#160;&#160;&#160;${NUM_WORKERS} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;Exit For Loop If &#160;&#160;&#160;&lt;span class=&quot;code-quote&quot;&gt;&apos;${status}&apos;&lt;/span&gt; == &lt;span class=&quot;code-quote&quot;&gt;&apos;FAIL&apos;&lt;/span&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;NetconfKeywords.Perform_Operation_On_Each_Device &#160;&#160;&#160;NetconfKeywords.Wait_Connected &#160;&#160;&#160;timeout=${timeout} &#160;&#160;&#160;log_response=False

 &#160;&#160;&#160;&#160;&#160;&#160;&#160;Exit For Loop If &#160;&#160;&#160;&lt;span class=&quot;code-quote&quot;&gt;&apos;${status}&apos;&lt;/span&gt; == &lt;span class=&quot;code-quote&quot;&gt;&apos;FAIL&apos;&lt;/span&gt;

 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;NetconfKeywords.Perform_Operation_On_Each_Device &#160;&#160;&#160;NetconfKeywords.Deconfigure_Device &#160;&#160;&#160;timeout=${timeout} &#160;&#160;&#160;log_response=False &#160;
 &#160;&#160;&#160;&#160;&#160;&#160;&#160;Exit For Loop If &#160;&#160;&#160;&lt;span class=&quot;code-quote&quot;&gt;&apos;${status}&apos;&lt;/span&gt; == &lt;span class=&quot;code-quote&quot;&gt;&apos;FAIL&apos;&lt;/span&gt;

 &#160;&#160;&#160;&#160;&#160;&#160;&#160;${status} &#160;&#160;&#160;${result} = &#160;&#160;&#160;Run Keyword And Ignore Error &#160;&#160;&#160;NetconfKeywords.Perform_Operation_On_Each_Device &#160;&#160;&#160;Check_Device_Deconfigured &#160;&#160;&#160;timeout=${timeout} &#160;&#160;&#160;log_response=False

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;i.e. rather than using a combo of &apos;Perform_Operation_On_Each_Device&apos;&#160; plus:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Configure_Device + Wait_Connected we want to have a bulk version of NetconfKeywords.Configure_Device_And_Verify&lt;/li&gt;
	&lt;li&gt;Wait_Connected we want to have a bulk version of NetconfKeywords.Wait_Connected&lt;/li&gt;
	&lt;li&gt;Deconfigure_Device + Check_Device_Deconfigured we want to have a bulk version of NetconfKeywords.&lt;font color=&quot;#000000&quot;&gt;Dec&lt;/font&gt;&lt;font color=&quot;#000000&quot;&gt;onfigure_Device_And_Verify&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="69522" author="rovarga" created="Thu, 12 Aug 2021 16:54:50 +0000"  >&lt;p&gt;I think the best approach is to provide a python library to handle the three use cases and map it into RF as keywords.&lt;/p&gt;</comment>
                            <comment id="69529" author="rovarga" created="Tue, 17 Aug 2021 20:18:30 +0000"  >&lt;p&gt;Okay, the patch has a functioning library, but we need rollout of &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-804&quot; title=&quot;YANG Patch target parsing does not work with RFC8072 examples&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-804&quot;&gt;&lt;del&gt;NETCONF-804&lt;/del&gt;&lt;/a&gt; to make it work.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                                                <inwardlinks description="is blocked by">
                                        <issuelink>
            <issuekey id="34311">NETCONF-804</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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03wvr:</customfieldvalue>

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