<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:05 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>[NETCONF-860] Some BBF yang devices using actions have invalid swagger URLs  generated. </title>
                <link>https://jira.opendaylight.org/browse/NETCONF-860</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;This problem was discovered in Lighty.io version14.0 and version15.1 - which can be seen on ODL versions Silicon and Phosphorus SR1.&#160;&lt;/p&gt;

&lt;p&gt;It seems that some BBF (Broadband Forum) yang files that include &quot;actions&quot; construct invalid &quot;POST&quot; urls in the swagger.&#160;&lt;/p&gt;

&lt;p&gt;This is an extension to &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-859&quot; title=&quot;Devices with certain BBF yang models cannot be accessed in Swagger.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-859&quot;&gt;&lt;del&gt;NETCONF-859&lt;/del&gt;&lt;/a&gt;.&#160; The same yang files are included in this JIRA, HOWEVER, the bbf-software-management yang has been modified to work with swagger (workaround for &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-859&quot; title=&quot;Devices with certain BBF yang models cannot be accessed in Swagger.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-859&quot;&gt;&lt;del&gt;NETCONF-859&lt;/del&gt;&lt;/a&gt;). The version of the yang included here is the same, but the file content differs slightly to address &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-859&quot; title=&quot;Devices with certain BBF yang models cannot be accessed in Swagger.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-859&quot;&gt;&lt;del&gt;NETCONF-859&lt;/del&gt;&lt;/a&gt;. The delta in the bbf-software-management yang file is shown below - the leafref path was changed to the actual definition.&#160;&lt;/p&gt;

&lt;p&gt;928c928,930&lt;br/&gt;
&amp;lt; type uint8;&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
&amp;gt; type leafref &lt;/p&gt;
{
&amp;gt; path &quot;../../../../../../../bbf-swm:revisions/bbf-swm:revision/bbf-swm:id&quot;;
&amp;gt; }
&lt;p&gt;968c970,972&lt;br/&gt;
&amp;lt; type bbf-yang:string-ascii64;&lt;br/&gt;
&amp;#8212;&lt;br/&gt;
&amp;gt; type leafref &lt;/p&gt;
{
&amp;gt; path &quot;../../../../../../../bbf-swm:revisions/bbf-swm:revision/bbf-swm:alias&quot;;
&amp;gt; }

&lt;p&gt;Inside the yang file, there is an action called &quot;download&quot; which exists in a container called &quot;download&quot;:&lt;br/&gt;
          container download {&lt;br/&gt;
            when &quot;boolean(../../capability=&apos;bbf-swm:download&apos;) and count(../revision&lt;span class=&quot;error&quot;&gt;&amp;#91;state=&amp;#39;downloading&amp;#39;&amp;#93;&lt;/span&gt;)=0&quot; &lt;/p&gt;
{
              description
                &quot;Only applicable if the &apos;download&apos; capability is
                 supported and no other download of a revision is in
                 progress for this software.&quot;;
            }
&lt;p&gt;            presence &quot;Downloading of revisions for this software is&lt;br/&gt;
             enabled.&quot;;&lt;br/&gt;
            config false;&lt;br/&gt;
            description&lt;br/&gt;
              &quot;Provides containment for the action &apos;download&apos;.&quot;;&lt;br/&gt;
              action download {&lt;br/&gt;
              if-feature &quot;software-actions&quot;;&lt;br/&gt;
              description&lt;br/&gt;
                &quot;Download the specified software revision to this&lt;br/&gt;
                 component.&lt;br/&gt;
    .... &lt;/p&gt;

&lt;p&gt;The bbf-software-manager yang augments ietf-hardware. Under ietf-hardware we can see that the URL for the &quot;download&quot; above is messed up.&lt;br/&gt;
 &lt;img src=&quot;https://jira.opendaylight.org/images/icons/attach/noimage.png&quot; imagetext=&quot;image-2022-02-09-16-10-26-435.png|thumbnail&quot; align=&quot;absmiddle&quot; border=&quot;0&quot; /&gt; &lt;/p&gt;

&lt;p&gt;The picture of this is attached. &lt;br/&gt;
The URL shown/generated is&lt;br/&gt;
rests/operationsata/network-topology:network-topology/topology=topology-netconf/node-myDevice/yang-ext:mount/ietf-hardware/component=&lt;/p&gt;
{name}/bbf-software-management:software/software={name1}/revisions/download/download&lt;br/&gt;
&lt;br/&gt;
The beginning of the generated URL should be /restconf/operations/... &lt;br/&gt;
&lt;br/&gt;
Also included in this set of yang files is the bbf-hardware yang file which includes a &quot;reset&quot; action. The yang may be easier to look at for this one. It also is an &quot;action&quot; to do a reset, and it also contains a URL that is messed up. &lt;br/&gt;
&lt;br/&gt;
rests/operationsata/network-topology:network-topology/topology=topology-netconf/node=myDevice/yang-ext:mount/ietf-hardware:hardware/component={name}
&lt;p&gt;/bbf-hardware:reset&lt;/p&gt;


&lt;p&gt;To recreate this, use netconf testtool to create a device simulator using all the yang models attached to this JIRA.  The device will get mounted. Go into swagger and you will notice that the two mentioned generated URLs which are POST requests for underlying &quot;actions&quot; have bad URLs. Also, there is no parameters - each URL has some parameters, but the  parameters section in the swagger does not show any. &lt;/p&gt;

&lt;p&gt; &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;17325_thumb&quot; href=&quot;https://jira.opendaylight.org/secure/attachment/17325/17325_image-2022-02-09-16-29-06-094.png&quot; title=&quot;image-2022-02-09-16-29-06-094.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;17325&quot; file-preview-title=&quot;image-2022-02-09-16-29-06-094.png&quot;&gt;&lt;img src=&quot;https://jira.opendaylight.org/secure/thumbnail/17325/_thumb_17325.png&quot; style=&quot;border: 0px solid black&quot; role=&quot;presentation&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;



&lt;p&gt;&#160;&lt;/p&gt;</description>
                <environment></environment>
        <key id="35227">NETCONF-860</key>
            <summary>Some BBF yang devices using actions have invalid swagger URLs  generated. </summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.opendaylight.org/images/icons/priorities/major.svg">Medium</priority>
                        <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="yaroslav.lastivka">Yaroslav Lastivka</assignee>
                                    <reporter username="rmagaldi">Robert Magaldi</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Wed, 9 Feb 2022 21:29:11 +0000</created>
                <updated>Tue, 27 Jun 2023 13:22:35 +0000</updated>
                            <resolved>Tue, 27 Jun 2023 11:52:07 +0000</resolved>
                                                    <fixVersion>6.0.0</fixVersion>
                    <fixVersion>5.0.7</fixVersion>
                    <fixVersion>4.0.9</fixVersion>
                                    <component>restconf-openapi</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="72200" author="ivanhrasko" created="Wed, 3 May 2023 14:29:14 +0000"  >&lt;p&gt;The following is not an issue: &quot;The beginning of the generated URL should be /restconf/operations/...&quot; because currently ODL supports RFC8040 only (/rests/). Even if you are using the previous releases we can see from URLs (key values are inserted by =) that you are using RFC8040 implementation.&lt;/p&gt;</comment>
                            <comment id="72201" author="ivanhrasko" created="Wed, 3 May 2023 14:55:06 +0000"  >&lt;p&gt;It looks that action examples are missing &quot;parameters&quot; section.&lt;/p&gt;</comment>
                            <comment id="72202" author="ivanhrasko" created="Wed, 3 May 2023 14:56:23 +0000"  >&lt;p&gt;In the previous releases there was also problem with choices &lt;a href=&quot;https://jira.opendaylight.org/browse/NETCONF-983&quot; title=&quot;OpenAPI: Fix choice cases usage&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NETCONF-983&quot;&gt;&lt;del&gt;NETCONF-983&lt;/del&gt;&lt;/a&gt; which is now solved.&lt;/p&gt;</comment>
                            <comment id="72314" author="ivanhrasko" created="Wed, 21 Jun 2023 13:27:49 +0000"  >&lt;p&gt;One one small problem is that paths should start with &quot;/&quot;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="36915">NETCONF-1021</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="17351" name="Steps to reproduce.odt" size="18600" author="SamoSchneider" created="Thu, 17 Feb 2022 07:56:17 +0000"/>
                            <attachment id="17335" name="bbf-hardware@2020-10-13.yang" size="7707" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17334" name="bbf-software-management@2021-09-17-1.yang" size="68216" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17333" name="bbf-yang-types@2020-05-11-1.yang" size="7888" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17332" name="iana-hardware@2018-03-13-1.yang" size="6017" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17331" name="ietf-hardware@2018-03-13-1.yang" size="37345" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17330" name="ietf-inet-types@2013-07-15-1.yang" size="16757" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17329" name="ietf-interfaces@2018-02-20.yang" size="39186" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17327" name="ietf-netconf-monitoring-extension@2013-12-10-1.yang" size="542" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17328" name="ietf-netconf-monitoring@2010-10-04-1.yang" size="18739" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17326" name="ietf-yang-types@2013-07-15-1.yang" size="17939" author="rmagaldi" created="Wed, 9 Feb 2022 21:26:06 +0000"/>
                            <attachment id="17325" name="image-2022-02-09-16-29-06-094.png" size="71806" author="rmagaldi" created="Wed, 9 Feb 2022 21:29:06 +0000"/>
                            <attachment id="17352" name="test-schemas.zip" size="47942" author="SamoSchneider" created="Thu, 17 Feb 2022 07:56:22 +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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i041hz:</customfieldvalue>

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