<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:08: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>[AAA-11] odl-aaa-authn-plugin  and odl-aaa-authn are configured to block restconf connections by default.</title>
                <link>https://jira.opendaylight.org/browse/AAA-11</link>
                <project id="10102" key="AAA">aaa</project>
                    <description>&lt;p&gt;Steps&lt;/p&gt;

&lt;p&gt;I installed the karaf distribution from &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jenkins.opendaylight.org/integration/view/Integration%20jobs/job/integration-master-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/extra/karaf/target/distribution-karaf-0.2.0-SNAPSHOT.zip&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://jenkins.opendaylight.org/integration/view/Integration%20jobs/job/integration-master-project-centralized-integration/lastSuccessfulBuild/artifact/distributions/extra/karaf/target/distribution-karaf-0.2.0-SNAPSHOT.zip&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was either build  #2402 or  #2401 from Sep 16. Not sure which because version.properties doesnt  set  a timestamp.&lt;/p&gt;

&lt;p&gt;I  deployed the artifact and  booted using &amp;lt;odl-home-dir&amp;gt;/bin/karaf &lt;/p&gt;

&lt;p&gt;when the console was open I  installed features&lt;/p&gt;

&lt;p&gt;feature:install odl-restconf odl-bgpcep-all odl-netconf-connector-ssh&lt;/p&gt;

&lt;p&gt;After waiting a few minutes I  tried GET request to &lt;/p&gt;

&lt;p&gt;&amp;lt;localhost&amp;gt;restconf/operational/network-topology:network-topology/  this was a succesful, a 200 HTTP stus code and the expected payload was sent.&lt;/p&gt;

&lt;p&gt;I logged out of  the karaf container using  &quot;logout&quot;waited for all the processes to terminate , confirmed using  ps aux | grep java  and restarted  the karaf container using  &amp;lt;odl-home-dir&amp;gt;/bin/karaf   &lt;/p&gt;

&lt;p&gt;After a fewm minutes wait for the system to come up&lt;br/&gt;
accessing the  URI at &lt;br/&gt;
&amp;lt;localhost&amp;gt;:8181/restconf/operational/network-topology:network-topology/  now resulted in a 401  error.&lt;/p&gt;

&lt;p&gt;It&apos;s also interesting that while the system was coming up  a 404  status code and then a 500 status  code was received. they were finally replaced with 401 code after  odl-netconf-connector-ssh   feature was loaded.&lt;/p&gt;

&lt;p&gt;The stack trace for the 500 error showed that  odl-aaa-authn and odl-aaa-authn-plugin was thowing an exception so we  wondered what would happen if we uninstlled this.&lt;/p&gt;

&lt;p&gt;feature:uninstall odl-aaa-authn&lt;br/&gt;
feature:uninstall odl-aaa-authn-plugin&lt;/p&gt;

&lt;p&gt;I didnt expect it to work because odl-netconf-connector-ssh is dependent  on these features but we could uninstall them, which maybe a bug also.  We  still couldn&apos;t access resfconf on port 8181 but rather than not being authorised , I think the reason is that we had broken odl-netconf-connector-ssh by removing its dependencies.&lt;/p&gt;

&lt;p&gt;In summary I think this is a bug because  odl-aaa-authn-plugin  and odl-aaa-authn are configured to block restconf connections by default.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="22262">AAA-11</key>
            <summary>odl-aaa-authn-plugin  and odl-aaa-authn are configured to block restconf connections by default.</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="10004" iconUrl="https://jira.opendaylight.org/images/icons/status_generic.gif" description="">Verified</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="ricjhill@gmail.com">RichardHill</reporter>
                        <labels>
                    </labels>
                <created>Tue, 16 Sep 2014 18:51:16 +0000</created>
                <updated>Thu, 21 Mar 2019 11:56:50 +0000</updated>
                            <resolved>Wed, 1 Oct 2014 14:13:46 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="42141" author="ricjhill@gmail.com" created="Tue, 16 Sep 2014 18:51:16 +0000"  >&lt;p&gt;Attachment karaf-debug.zip has been added with description: log files from the test.&lt;/p&gt;</comment>
                            <comment id="42134" author="liem.m.nguyen@gmail.com" created="Tue, 16 Sep 2014 19:26:04 +0000"  >&lt;p&gt;odl-restconf works fine without aaa.  Hence, you get a 200 before.  However, with aaa installed, aaa will check for authentication and fail with 401 (unauthorized) if there is no token given or basic auth (like in Hydrogen).  So, the 401 you see is expected behavior.&lt;/p&gt;

&lt;p&gt;Also, note that odl-restconf is currently using a static web.xml and hence cannot listen for OSGi dynamic changes and will not be able to react to aaa AuthN filter coming and going.  So, a restart of the odl-restconf bundle is required if aaa is added/removed dynamically. Alternatively, you can install aaa first:&lt;/p&gt;

&lt;p&gt;feature:install odl-aaa-all odl-restconf odl-bgpcep-all odl-netconf-connector-ssh&lt;/p&gt;</comment>
                            <comment id="42135" author="ricjhill@gmail.com" created="Wed, 17 Sep 2014 08:19:38 +0000"  >&lt;p&gt;Hi Liem, thank you  for  the  information.&lt;/p&gt;

&lt;p&gt;Ive a few questions:&lt;/p&gt;

&lt;p&gt;How can I  configure  ODL not to use aaa on the restconf interface.&lt;/p&gt;

&lt;p&gt;The README here &lt;a href=&quot;https://github.com/opendaylight/aaa/blob/master/README.md&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/opendaylight/aaa/blob/master/README.md&lt;/a&gt;&lt;br/&gt;
describes how to set it up.&lt;/p&gt;

&lt;p&gt;The section  &quot;Authorization &amp;amp; Access Control&quot;  contains the statement&lt;/p&gt;

&lt;p&gt; &quot;Default authorization are loaded from the configuration subsystem (TODO: Provide a default set) They are accessible and editable via the restconf interface at: &lt;/p&gt;


&lt;p&gt;172.29.50.236:8181/restconf/configuration/authorization-schema:simple-authorization/&quot;&lt;/p&gt;

&lt;p&gt;1) Could you point me towards the default set mentioned in the TODO please&lt;/p&gt;

&lt;p&gt;2) The  URI is restconf so blocked by a 401, I expect there is a another way of  configuring this, its just  not clear to me from the wiki.&lt;/p&gt;</comment>
                            <comment id="42136" author="ricjhill@gmail.com" created="Wed, 17 Sep 2014 09:08:04 +0000"  >&lt;p&gt;This bug (lack of documentation how to configure AAA to allow restconf client) means we are unable to use ODL when AA is present so Ive changed the status to a blocker.&lt;/p&gt;</comment>
                            <comment id="42137" author="vrpolak" created="Wed, 17 Sep 2014 14:01:22 +0000"  >&lt;p&gt;Experimentation shows that upon the first start with an aaa feature, ${karaf.home}/etc/org.opendaylight.aaa.authn.cfg is created. After editing its second line to&lt;br/&gt;
  authEnabled=false&lt;br/&gt;
(after graceful shutdown of karaf), subsequent start sees ODL allowing unrestricted access via RESTCONF.&lt;/p&gt;

&lt;p&gt;Perhaps this is the information missing from current AAA documentation?&lt;/p&gt;</comment>
                            <comment id="42138" author="liem.m.nguyen@gmail.com" created="Wed, 17 Sep 2014 16:11:07 +0000"  >&lt;p&gt;Hi Vratko &amp;amp; Polak,&lt;/p&gt;

&lt;p&gt;That is correct.  Setting authEnabled=false will bypass AAA completely.  This can be done by editing the config file as you did, or by using the OSGi Admin console (either via the config command in CLI or webconsole).  BTW, AAA configurations are dynamic and do not need bundle/container restart.&lt;/p&gt;

&lt;p&gt;We are actively working on the Developers Guide to include this information.  Apologies for the doc lag.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Liem&lt;/p&gt;</comment>
                            <comment id="42139" author="liem.m.nguyen@gmail.com" created="Thu, 18 Sep 2014 18:18:56 +0000"  >&lt;p&gt;Please let me know if disabling aaa via configuration would solve your testing issues.&lt;/p&gt;

&lt;p&gt;In production, Restconf APIs should be authenticated by design.&lt;/p&gt;</comment>
                            <comment id="42140" author="liem.m.nguyen@gmail.com" created="Fri, 19 Sep 2014 15:41:36 +0000"  >&lt;p&gt;I don&apos;t hear back from the submitter; so will mark this as resolved for now, as this is expected behavior from AAA (enforce authentication on Restconf by default).&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="12943" name="karaf-debug.zip" size="64046" author="ricjhill@gmail.com" created="Tue, 16 Sep 2014 18:51:16 +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_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1913</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=1913]]></customfieldvalue>

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

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