<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:08:44 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-138] Feature request to add testing username/password to idm tool</title>
                <link>https://jira.opendaylight.org/browse/AAA-138</link>
                <project id="10102" key="AAA">aaa</project>
                    <description>&lt;p&gt;Right now we have no way to test if a user/password combination works with idm tool.  This is important because when we run a configuration tool like puppet, we are forced to reconfigure a user&apos;s password on subsequent puppet runs because we have no way to tell if the desired password is already configured for this user.  It would be really helpful if we could use idmtool to test a login and to see if the desired password is already set for that user.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="22389">AAA-138</key>
            <summary>Feature request to add testing username/password to idm tool</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</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="vorburger">Michael Vorburger</assignee>
                                    <reporter username="trozet">Tim Rozet</reporter>
                        <labels>
                    </labels>
                <created>Tue, 20 Jun 2017 14:07:52 +0000</created>
                <updated>Thu, 21 Mar 2019 11:56:48 +0000</updated>
                            <resolved>Sat, 2 Sep 2017 18:04:00 +0000</resolved>
                                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="42434" author="vorburger" created="Tue, 20 Jun 2017 15:25:34 +0000"  >&lt;p&gt;&amp;gt; forced to reconfigure a user&apos;s password on subsequent puppet runs&lt;/p&gt;

&lt;p&gt;Understood, but can you elaborate how doing this is an issue?  &lt;/p&gt;

&lt;p&gt;What I mean is: Who cares if a configuration tool like puppet just overwrites a uid/pwd, instead of being &quot;smart&quot; and first check if it is (in)valid and only then change it?  It&apos;s not going to be &quot;faster&quot;, or anything like that, so why not just KISS ?  Just curious.&lt;/p&gt;

&lt;p&gt;&amp;gt; if we could use idmtool to test a login&lt;/p&gt;

&lt;p&gt;Would ODL be running or not at the point you&apos;d like to use idmtool for this?  If it is, then the simplest would be to just fire off a HTTP REST call using the uid/pwd for basic auth to see if it&apos;s valid... could that work for what you&apos;re after?&lt;/p&gt;</comment>
                            <comment id="42435" author="trozet@redhat.com" created="Tue, 20 Jun 2017 21:03:58 +0000"  >&lt;p&gt;(In reply to Michael Vorburger from comment #1)&lt;br/&gt;
&amp;gt; &amp;gt; forced to reconfigure a user&apos;s password on subsequent puppet runs&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Understood, but can you elaborate how doing this is an issue?  &lt;br/&gt;
&amp;gt; &lt;br/&gt;
One of the issues is it restarts opendaylight.  Is it necessary to restart ODL to pick up the changes for a new user or password change?  Perhaps we can simply remove that from puppet-opendaylight if not.  A smaller issue is we should not reconfigure the password everytime we run puppet if possible.&lt;/p&gt;

&lt;p&gt;&amp;gt; What I mean is: Who cares if a configuration tool like puppet just&lt;br/&gt;
&amp;gt; overwrites a uid/pwd, instead of being &quot;smart&quot; and first check if it is&lt;br/&gt;
&amp;gt; (in)valid and only then change it?  It&apos;s not going to be &quot;faster&quot;, or&lt;br/&gt;
&amp;gt; anything like that, so why not just KISS ?  Just curious.&lt;br/&gt;
&amp;gt; &lt;/p&gt;

&lt;p&gt;Well that is the entire philosophy of puppet, check resources and only configure when necessary.  It is true this is a minor thing, but if everyone did this then it would end up costing a lot of cycles in puppet.  More important is the ODL restart issue.&lt;/p&gt;

&lt;p&gt;&amp;gt; &amp;gt; if we could use idmtool to test a login&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Would ODL be running or not at the point you&apos;d like to use idmtool for this?&lt;br/&gt;
&amp;gt; If it is, then the simplest would be to just fire off a HTTP REST call using&lt;br/&gt;
&amp;gt; the uid/pwd for basic auth to see if it&apos;s valid... could that work for what&lt;br/&gt;
&amp;gt; you&apos;re after?&lt;/p&gt;

&lt;p&gt;No we cannot assume ODL is running with this.&lt;/p&gt;</comment>
                            <comment id="42436" author="vorburger" created="Wed, 21 Jun 2017 14:02:44 +0000"  >&lt;p&gt;&amp;gt; Is it necessary to restart ODL to pick up the changes for a new user or password change?&lt;/p&gt;

&lt;p&gt;YES! Very much so. It&apos;s even more than just to &quot;pick up&quot; - if you use the CLI tool to write to the idmlight.db file, while ODL runs, that&apos;s almost certainly going to corrupt it... because ODL also keeps that H2 DB file open.&lt;/p&gt;

&lt;p&gt;&amp;gt; More important is the ODL restart issue.&lt;/p&gt;

&lt;p&gt;OK, then let me look into adding support for this .. let us first agree on a &quot;micro spec&quot;, right here in-line in this bug?  Looking at &lt;a href=&quot;https://wiki.opendaylight.org/view/AAA:Changing_Account_Passwords#Change_Password_When_ODL_is_Not_Running&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/AAA:Changing_Account_Passwords#Change_Password_When_ODL_is_Not_Running&lt;/a&gt;, if I understand you correctly what you would like is a new CLI switch, let&apos;s call it... -cp / --checkPassword?  So you presumably you would want to be able to do like:&lt;/p&gt;

&lt;p&gt;java -jar $KARAF_HOME/bin/aaa-cli-jar-0.5.0-SNAPSHOT-jar-with-dependencies.jar -cp trozet -p secret&lt;/p&gt;

&lt;p&gt;and if &quot;secret&quot; is &quot;trozet&quot;&apos;s password, then the tool would print &quot;OK&quot;, and return 0, but if it&apos;s not it would print &quot;NOK&quot; and return some negative value?  Could you confirm that this is your requirement?&lt;/p&gt;

&lt;p&gt;&amp;gt; No we cannot assume ODL is running with this.&lt;/p&gt;

&lt;p&gt;But something still doesn&apos;t quite make sense to me: If ODL is not running, then you don&apos;t have a restart issue - you can just reset the uid/pwd while it&apos;s not running, and then start.  And if it is running, then the best is to use a HTTP REST call, to verify.&lt;/p&gt;</comment>
                            <comment id="42437" author="trozet@redhat.com" created="Wed, 21 Jun 2017 16:28:12 +0000"  >&lt;p&gt;(In reply to Michael Vorburger from comment #3)&lt;br/&gt;
&amp;gt; &amp;gt; Is it necessary to restart ODL to pick up the changes for a new user or password change?&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; YES! Very much so. It&apos;s even more than just to &quot;pick up&quot; - if you use the&lt;br/&gt;
&amp;gt; CLI tool to write to the idmlight.db file, while ODL runs, that&apos;s almost&lt;br/&gt;
&amp;gt; certainly going to corrupt it... because ODL also keeps that H2 DB file open.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; &amp;gt; More important is the ODL restart issue.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; OK, then let me look into adding support for this .. let us first agree on a&lt;br/&gt;
&amp;gt; &quot;micro spec&quot;, right here in-line in this bug?  Looking at&lt;br/&gt;
&amp;gt; &lt;a href=&quot;https://wiki.opendaylight.org/view/AAA:&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/AAA:&lt;/a&gt;&lt;br/&gt;
&amp;gt; Changing_Account_Passwords#Change_Password_When_ODL_is_Not_Running, if I&lt;br/&gt;
&amp;gt; understand you correctly what you would like is a new CLI switch, let&apos;s call&lt;br/&gt;
&amp;gt; it... -cp / --checkPassword?  So you presumably you would want to be able to&lt;br/&gt;
&amp;gt; do like:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; java -jar&lt;br/&gt;
&amp;gt; $KARAF_HOME/bin/aaa-cli-jar-0.5.0-SNAPSHOT-jar-with-dependencies.jar -cp&lt;br/&gt;
&amp;gt; trozet -p secret&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; and if &quot;secret&quot; is &quot;trozet&quot;&apos;s password, then the tool would print &quot;OK&quot;, and&lt;br/&gt;
&amp;gt; return 0, but if it&apos;s not it would print &quot;NOK&quot; and return some negative&lt;br/&gt;
&amp;gt; value?  Could you confirm that this is your requirement?&lt;br/&gt;
&amp;gt;&lt;br/&gt;
yeah that would be great. &lt;br/&gt;
&amp;gt; &amp;gt; No we cannot assume ODL is running with this.&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; But something still doesn&apos;t quite make sense to me: If ODL is not running,&lt;br/&gt;
&amp;gt; then you don&apos;t have a restart issue - you can just reset the uid/pwd while&lt;br/&gt;
&amp;gt; it&apos;s not running, and then start.  And if it is running, then the best is to&lt;br/&gt;
&amp;gt; use a HTTP REST call, to verify.&lt;/p&gt;

&lt;p&gt;So the thing is puppet is declarative.  You specify resources you want to be configured and declare their state/configuration.  In this case we have an custom resource that is labeled as idm configuration.  We want to limit this resource provider to interact with the idm directly is one reason not to use a curl.  In addition, using a curl request means going over a network stack and depending on that ODL is up and REST access is working.  We could hit a false failure saying that the password is not set correctly due to a network or ODL issue, rather than the password is not set correctly.  We currently use the idm tool to query if a user already exists, I think it is best to do the same thing with the password as the DB is the direct source of truth as far as what is configured.&lt;/p&gt;</comment>
                            <comment id="42438" author="vorburger" created="Fri, 7 Jul 2017 00:20:03 +0000"  >&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/60049/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/60049/&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="42439" author="dfarrell07" created="Sat, 2 Sep 2017 18:04:00 +0000"  >&lt;p&gt;This works in stable/carbon, confirmed by downstreams like OPNFV Apex using it extensively in deployments.&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>8721</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=8721]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10308"><![CDATA[New Feature]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10202" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Priority</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10301"><![CDATA[Normal]]></customfieldvalue>

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

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