<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:24:35 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>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-16164] Check params and make them valid YAML if they are designed to be</title>
                <link>https://jira.whamcloud.com/browse/LU-16164</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;From &lt;a href=&quot;https://review.whamcloud.com/#/c/fs/lustre-release/+/48417/8/lustre/tests/sanity.sh@1154&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/fs/lustre-release/+/48417/8/lustre/tests/sanity.sh@1154&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It would be good to run &quot;lctl get_param -R &apos;*&apos;&quot; on both the client and server to see which parameters are in YAML format, and add checks for them so that they don&apos;t break in the future.&lt;/p&gt;</description>
                <environment></environment>
        <key id="72384">LU-16164</key>
            <summary>Check params and make them valid YAML if they are designed to be</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="1" iconUrl="https://jira.whamcloud.com/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="flei">Feng Lei </assignee>
                                    <reporter username="flei">Feng Lei </reporter>
                        <labels>
                    </labels>
                <created>Fri, 16 Sep 2022 01:00:04 +0000</created>
                <updated>Thu, 2 Nov 2023 06:12:10 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="347295" author="flei" created="Wed, 21 Sep 2022 00:44:12 +0000"  >&lt;p&gt;Check all the params with a script:&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;
#!/bin/bash
&#160;&#160;
&amp;gt;read_fail_list
&amp;gt;invalid_yaml_list

&lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; i in `lctl get_param -R -N &lt;span class=&quot;code-quote&quot;&gt;&quot;*&quot;&lt;/span&gt;`; &lt;span class=&quot;code-keyword&quot;&gt;do&lt;/span&gt;
&#160; &#160; &#160; &#160; echo ===$i===
&#160; &#160; &#160; &#160; lctl get_param $i &amp;gt; /dev/&lt;span class=&quot;code-keyword&quot;&gt;null&lt;/span&gt; || echo $i &amp;gt;&amp;gt; read_fail_list
&#160; &#160; &#160; &#160; lctl get_param -n $i | yq
&#160; &#160; &#160; &#160; &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; [[ $? != 0 ]]; then
&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; echo $i &amp;gt;&amp;gt; invalid_yaml_list
&#160; &#160; &#160; &#160; fi
done
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Get 2 files lists, one for files cannot be read, the other for invalid YAML. In the attachment.&lt;/p&gt;

&lt;p&gt;Currently there are 75 files cannot be read, and 51 invalid YAML files.&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;
# wc read_fail_list&#160;
&#160; 75 &#160; 75 2733 read_fail_list
# wc invalid_yaml_list&#160;
&#160; 51 &#160; 51 1844 invalid_yaml_list
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="347297" author="flei" created="Wed, 21 Sep 2022 00:49:09 +0000"  >&lt;p&gt;Even some files pass the check of yq, they are parsed as a single string, not meaningful YAML. For example:&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;
# lctl get_param -n mgs.*.*.stats
snapshot_time &#160; &#160; &#160; &#160; &#160; &#160; 1663721269.216694664 secs.nsecs
req_waittime &#160; &#160; &#160; &#160; &#160; &#160; &#160;15358 samples [usec] 12 67506 3474626 11719248936
req_qdepth &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;15358 samples [reqs] 0 0 0 0
... &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;It&apos;s actually parsed as a single string, not a meaningful YAML:&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;
# lctl get_param -n mgs.*.*.stats | yq
&lt;span class=&quot;code-quote&quot;&gt;&quot;snapshot_time &#160; &#160; &#160; &#160; &#160; &#160; 1663721319.904973718 secs.nsecs req_waittime &#160; &#160; &#160; &#160; &#160; &#160; &#160;15368 samples [usec] 12 67506 3477317 11720202797 req_qdepth &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;15368 samples [reqs] 0 0 0 0 req_active &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;15368 samples [reqs] 1 2 15369 15371 req_timeout &#160; &#160; &#160; &#160; &#160; &#160; &#160; 15368 samples [sec] 1 10 15377 15467 reqbuf_avail &#160; &#160; &#160; &#160; &#160; &#160; &#160;45997 samples [bufs] 62 64 2913042 184496438 ldlm_plain_enqueue &#160; &#160; &#160; &#160;50 samples [reqs] 1 1 50 50 mgs_connect &#160; &#160; &#160; &#160; &#160; &#160; &#160; 1 samples [usec] 156 156 156 24336 mgs_target_reg &#160; &#160; &#160; &#160; &#160; &#160;4 samples [usec] 573 8409 17020 105176030 mgs_config_read &#160; &#160; &#160; &#160; &#160; 9 samples [usec] 125 959 4866 3121456 obd_ping &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;15151 samples [usec] 2 5710 866463 192267777 llog_origin_handle_open &#160; 39 samples [usec] 99 1632 13234 7631248 llog_origin_handle_next_block 76 samples [usec] 92 1099 25799 12133241 llog_origin_handle_read_header 38 samples [usec] 71 1073 11972 5535674 snapshot_time &#160; &#160; &#160; &#160; &#160; &#160; 1663721319.905164765 secs.nsecs&quot;&lt;/span&gt; &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="391449" author="adilger" created="Thu, 2 Nov 2023 06:12:10 +0000"  >&lt;p&gt;The &quot;&lt;tt&gt;&amp;#42;.&amp;#42;.stats&lt;/tt&gt;&quot; files are mostly &lt;b&gt;not&lt;/b&gt; YAML formatted.&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;osc/mdc.&amp;#42;.import&lt;/tt&gt; file should be YAML, as with the &lt;tt&gt;obdfilter/mdt.&amp;#42;.exports.&amp;#42;.export&lt;/tt&gt; files.&lt;/p&gt;

&lt;p&gt;It looks like on the server there are &lt;tt&gt;ldlm.services.ldlm_canceld.nrs_policies&lt;/tt&gt; and &lt;tt&gt;ldlm.services.ldlm_cbd.nrs_policies&lt;/tt&gt;, along with &lt;tt&gt;ost.OSS.&amp;#42;.nrs_policies&lt;/tt&gt;, &lt;tt&gt;mds.MDS.&amp;#42;.nrs_policies&lt;/tt&gt; and &lt;tt&gt;mgs.MGS.mgs.nrs_policies&lt;/tt&gt;, &lt;tt&gt;mdd.&amp;#42;.lfsck_layout&lt;/tt&gt;, &lt;tt&gt;mdt.&amp;#42;.exports.&amp;#42;.reply_data&lt;/tt&gt;, &lt;tt&gt;mdt.&amp;#42;.recovery_status&lt;/tt&gt; files.&lt;/p&gt;

&lt;p&gt;There is also the quota files &lt;tt&gt;osd-ldiskfs.&amp;#42;.quota_slave&amp;#42;.acct_group&lt;/tt&gt;, &lt;tt&gt;osd-ldiskfs.&amp;#42;.quota_slave&amp;#42;.acct_group,acct_project,acct_user&lt;/tt&gt;, &lt;tt&gt;osd-ldiskfs.&amp;#42;.quota_slave&amp;#42;.info&lt;/tt&gt;, &lt;tt&gt;osd-ldiskfs.&amp;#42;.quota_slave&amp;#42;.limit_group,limit_project,limit_user&lt;/tt&gt;, &lt;tt&gt;osd-ldiskfs.&amp;#42;.oi_scrub&lt;/tt&gt;, &lt;tt&gt;qmt.&amp;#42;.dt-0x0.glb-grp,glb-prj,glb-usr&lt;/tt&gt; .&lt;/p&gt;

&lt;p&gt;On the client, &lt;tt&gt;llite.&amp;#42;.max_cached_mb&lt;/tt&gt;, &lt;tt&gt;llite.&amp;#42;.statahead_stats&lt;/tt&gt;, &lt;tt&gt;llite,osc,mdc.&amp;#42;.unstable_stats&lt;/tt&gt;, &lt;tt&gt;osc.&amp;#42;.osc_cached_mb&lt;/tt&gt;, &lt;tt&gt;mdc.&amp;#42;.mdc_cached_mb&lt;/tt&gt;, &lt;tt&gt;mdc.&amp;#42;.state&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;tt&gt;lwp.&amp;#42;.srpc_info&lt;/tt&gt; looks like it could/should be in YAML format, but needs a few small improvements (colon after &quot;&lt;tt&gt;gc internal&lt;/tt&gt;&quot; and &quot;&lt;tt&gt;gc next&lt;/tt&gt;&quot;).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="72029">LU-16110</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="45754" name="invalid_yaml_list" size="1844" author="flei" created="Wed, 21 Sep 2022 00:44:58 +0000"/>
                            <attachment id="45753" name="read_fail_list" size="2733" author="flei" created="Wed, 21 Sep 2022 00:44:55 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i030cn:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>