<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:16:18 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-945] Rename netconf-impl to netconf-server</title>
                <link>https://jira.opendaylight.org/browse/NETCONF-945</link>
                <project id="10142" key="NETCONF">netconf</project>
                    <description>&lt;p&gt;netconf-impl contains classes (in the .osgi) package, which really are related to netconf-server. These get activated in mdsal-netconf-impl via blueprint. Separate these classes out into an OSGi DS-driven netconf-server package. Eliminate blueprint from mdsal-netconf-impl, leaving it empty, but retain dependency compatibility by depending on netconf-server.&lt;/p&gt;

&lt;p&gt;Note netconf-server should live in /protocol directory.&lt;/p&gt;

&lt;p&gt;Based on below, this issue deals with just rename and movement of code. The blueprint stuff will be dealt with separately.&lt;/p&gt;</description>
                <environment></environment>
        <key id="36624">NETCONF-945</key>
            <summary>Rename netconf-impl to netconf-server</summary>
                <type id="10101" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10318&amp;avatarType=issuetype">Task</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="rovarga">Robert Varga</assignee>
                                    <reporter username="rovarga">Robert Varga</reporter>
                        <labels>
                            <label>pt</label>
                    </labels>
                <created>Mon, 23 Jan 2023 20:24:58 +0000</created>
                <updated>Tue, 2 May 2023 09:03:03 +0000</updated>
                            <resolved>Tue, 2 May 2023 09:03:03 +0000</resolved>
                                                    <fixVersion>6.0.0</fixVersion>
                                    <component>netconf</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="71965" author="JIRAUSER13216" created="Mon, 6 Feb 2023 14:04:56 +0000"  >&lt;p&gt;there are issues:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;osgi&lt;/em&gt; package artifacts cannot be extracted from &lt;em&gt;netconf-impl&lt;/em&gt; module because these artifacts are not isolated&lt;br/&gt;
and having same module dependencies; maven artifacts cannot have cross-dependencies&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;osgi&lt;/em&gt; package is not the only containing server related artifacts - majority of module top level&lt;br/&gt;
artifacts are named like NetconfServer* and listed as osgi services in the blueprint&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;due there is almost everything to extract, suggested&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;renaming modules &lt;em&gt;netconf-impl&lt;/em&gt; -&amp;gt; &lt;em&gt;netconf-server,&lt;/em&gt;&#160; &lt;em&gt;mdsal-netconf-impl&lt;/em&gt; -&amp;gt; &lt;em&gt;mdsal-netconf-server&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;packages renaming &lt;em&gt;impl&lt;/em&gt; -&amp;gt; &lt;em&gt;server&lt;/em&gt;, &lt;em&gt;osgi&lt;/em&gt; -&amp;gt; &lt;em&gt;services&lt;/em&gt; (or move artifacts to upper level)&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="71970" author="rovarga" created="Tue, 7 Feb 2023 16:06:03 +0000"  >&lt;p&gt;Okay, fair enough. Let&apos;s punt this for 6.0.x, as renaming things will break users.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="72134" author="rovarga" created="Wed, 26 Apr 2023 18:15:45 +0000"  >&lt;p&gt;So going through the motions of migration, there is a metric ton of clean ups here. The problem is that client-side and server-side APIs are not separated and tucked in netconf-api (which hosts NetconfMessage), netconf-notifications-api and netconf-mapping-api (which both are server-side things).&lt;/p&gt;

&lt;p&gt;We really want to separate the generic, client-side and server-sides, as otherwise we won&apos;t be able to make out what is required where. This essentially means that all the server-side APIs need to be rehosted to org.opendaylight.netconf.server.api sub-packages, to make the dependencies obvious.&lt;/p&gt;

&lt;p&gt;There is additional wrinkle I came across, which is that we do not have proper NetconfMessage specializations for anything except &amp;lt;hello/&amp;gt; and &amp;lt;notification/&amp;gt;. This muddles which layer netconf-api is really is about:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;NetconfSession is quite obviously Transport layer&lt;/li&gt;
	&lt;li&gt;NetconfMessage is obviously (with HelloMessage and NotificationMessage) at Messages layer&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;But then we lack RpcMessage and RpcReplyMessage &amp;#8211; and this ends up being checked all over the place. One notable problem netconf.utll.messages.SubtreeFilter, which operates on plain documents, but performs checks for &amp;lt;get&amp;gt; and &amp;lt;get-config&amp;gt; operations &amp;#8211; which indicates it operates on Operations layer, without every employing the underlying safety of the Messages layer.&lt;/p&gt;

&lt;p&gt;As a further wrinkle we have netconf.api.monitoriing, which is obviously tied to a specific YANG module, which in turn is a Content layer thing &amp;#8211; and there for that we have the netconf-mapping-api, which deals with RPC mapping and netconf-notifications-api, which deals with Notification mapping &amp;#8211; both of which are server-side things.&lt;/p&gt;

&lt;p&gt;Since the client-side of things only cares about Transport and Messages layer, netconf-api needs to only capture those layers &amp;#8211; for now that is. The transport part of things is already being split into transport-api, hence once the dust settles, netconf-api is only about Messages layer and higher-layer concerns a purely a netconf-server thing.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10300">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="36650">NETCONF-951</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10002" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>NETCONF-944</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i04427:</customfieldvalue>

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