<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:12:29 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-7852] Missing lnetctl command on any recent daily built package</title>
                <link>https://jira.whamcloud.com/browse/LU-7852</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;It&apos;s easy to repeat it at CentOS 7.2, just follow these steps.&lt;br/&gt;
      1. Install all package that it is needed for compiling Lustre but libyaml-devel&lt;br/&gt;
      2. Build the Lustre customerized Linux kernel, my version is 3.10.0-327.el7.x86_64. You can refer the old manual at Chapter 30. Installing a Lustre File System from Source Code although there are some mistakes.&lt;br/&gt;
      3. git clone the newest Lustre-release code from git://git.hpdd.intel.com/fs/lustre-release.git&lt;br/&gt;
      4. Run &apos;configure&apos; at root folder of lustre-release code with the path of the modified kernel source. It may look like as follow:&lt;br/&gt;
        ./configure --with-linux=/root/rpmbuild/BUILD/kernel-3.10.0_327.el7_lustre.x86_64/ --with-o2ib=no&lt;br/&gt;
      5. run &apos;make&apos; at root folder of lustre-release code&lt;br/&gt;
      6. Once you finished, just go to the folder lustre-release/lnet/utils and you will see that the lnetctl are not exist while other such as &apos;lst&apos; is.&lt;br/&gt;
      7. Check the Makefile under that folder, you will find that there comment symbol &apos;#&apos; on line 123:&lt;br/&gt;
            line 121:          sbin_PROGRAMS = routerstat$(EXEEXT) lst$(EXEEXT) \&lt;br/&gt;
            line 122:            $(am_&lt;em&gt;EXEEXT_1) $(am&lt;/em&gt;_EXEEXT_2)&lt;br/&gt;
            line 123:          #am__append_1 = lnetctl&lt;br/&gt;
            line 124:          am__append_2 = wirecheck&lt;br/&gt;
            line 125:          subdir = lnet/utils&lt;br/&gt;
          And also at line 176: #am__EXEEXT_1 = lnetctl$(EXEEXT)&lt;br/&gt;
          And also at the folder lustre-release/lnet/utils/lnetconfig there are no &apos;lnetconfig.la&apos; which should exist because lnetctl need it to compile.&lt;/p&gt;

&lt;p&gt;      It won&apos;t help even you run &apos;configure&apos; and &apos;make&apos; for more times. And now you install libyaml-devel, you can install it by yum or source. I use yum to install it by simpily running: sudo yum install libyaml-devel.&lt;br/&gt;
      Now you run &apos;configure&apos; and &apos;make&apos; again, you will find &apos;lnetctl&apos; has been successfully compiled and placed at lustre-release/lnet/utils. You can also run &apos;./lnetctl&apos; at the folder and find it seems work.&lt;/p&gt;

&lt;p&gt;      Since lnetctl is an important tool to configure LNET, and the total Chapter 9 are tell us how to use it configuring network. I think if it is due to lack of some package, it should have a message to tell us that was lacking a package, however, the &apos;configure&apos; and &apos;make&apos; are running successfully without any message but not produce the &apos;lnetctl&apos;.  That Makefile must be auto-gernerate by running &apos;configure&apos;. I hope the developers can check this problem, and a bad news is that all recent daily built package at &lt;a href=&quot;https://build.hpdd.intel.com/job/lustre-master/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://build.hpdd.intel.com/job/lustre-master/&lt;/a&gt; , such as &apos;#3330&apos; are not containing &apos;lnetctl&apos;, you can just download, install and check. (Mostly you will get &quot;bash: lnetctl: command not found&quot;)&lt;/p&gt;

&lt;p&gt;I doesn&apos;t check if the &apos;configure&apos; will produce a warning about lack of &apos;libyaml-devel&apos;, however I think it should produce a error rather than warning. The llmount.sh script may be need it at some situation. You can simpliy repeat the situations as follow on VirtualBox.&lt;/p&gt;

&lt;p&gt;1. Create a virtual machine with two network interface card, and the first one set to NAT network while the second one set to Host-Only network.&lt;br/&gt;
2. Install CentOS 7.2 on it.&lt;br/&gt;
3.  run &quot;ip addr&quot; you may get as below:&lt;/p&gt;

&lt;p&gt;        1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN &lt;br/&gt;
           ...&lt;br/&gt;
            inet 127.0.0.1/8 scope host lo&lt;br/&gt;
           ...&lt;br/&gt;
        2: enp0s3: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000&lt;br/&gt;
           ...&lt;br/&gt;
            inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3&lt;br/&gt;
           ...&lt;br/&gt;
        3: enp0s8: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc pfifo_fast state UP qlen 1000&lt;br/&gt;
           ...&lt;br/&gt;
            inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic enp0s8&lt;br/&gt;
           ...&lt;/p&gt;

&lt;p&gt;     As it shows you have the NAT network at first NIC and the host-only network at second.&lt;br/&gt;
     Now modify /etc/hostname with a name you specified (such as &quot;node1&quot;) and modify /etc/hosts adding the host-only IP address with that hostname. you may reboot the machine after modifing to take effect.&lt;br/&gt;
     After modify these two files, if you run &apos;cat&apos; to them, you should get something like as below:&lt;/p&gt;

&lt;p&gt;        &lt;span class=&quot;error&quot;&gt;&amp;#91;eteced@node1 ~&amp;#93;&lt;/span&gt;$ cat /etc/hostname &lt;br/&gt;
        node1&lt;br/&gt;
        &lt;span class=&quot;error&quot;&gt;&amp;#91;eteced@node1 ~&amp;#93;&lt;/span&gt;$ cat /etc/hosts&lt;br/&gt;
        127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4&lt;br/&gt;
        ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6&lt;br/&gt;
        192.168.56.101  node1&lt;br/&gt;
        &lt;span class=&quot;error&quot;&gt;&amp;#91;eteced@node1 ~&amp;#93;&lt;/span&gt;$ &lt;/p&gt;

&lt;p&gt;4. Download the latest build rpms (#3330) from &lt;a href=&quot;https://build.hpdd.intel.com/job/lustre-master/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://build.hpdd.intel.com/job/lustre-master/&lt;/a&gt; and install them. (You may need reboot to use the kernel which just been installed)&lt;br/&gt;
5. Simply run &quot;llmount.sh&quot; at /lib64/lustre/tests/llmount.sh, it would like as below:&lt;/p&gt;

&lt;p&gt;        &lt;span class=&quot;error&quot;&gt;&amp;#91;root@node1 eteced&amp;#93;&lt;/span&gt;# /lib64/lustre/tests/llmount.sh&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre (opts&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre2 (opts&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
        Loading modules from /lib64/lustre/tests/..&lt;br/&gt;
        detected 1 online CPUs by sysfs&lt;br/&gt;
        libcfs will create CPU partition based on online CPUs&lt;br/&gt;
        debug=vfstrace rpctrace dlmtrace neterror ha config                   ioctl super lfsck&lt;br/&gt;
        subsystem_debug=all -lnet -lnd -pinger&lt;br/&gt;
        quota/lquota options: &apos;hash_lqs_cur_bits=3&apos;&lt;br/&gt;
        Formatting mgs, mds, osts&lt;br/&gt;
        Format mds1: /tmp/lustre-mdt1&lt;br/&gt;
        Format ost1: /tmp/lustre-ost1&lt;br/&gt;
        Format ost2: /tmp/lustre-ost2&lt;br/&gt;
        Checking servers environments&lt;br/&gt;
        Checking clients node1 environments&lt;br/&gt;
        Loading modules from /lib64/lustre/tests/..&lt;br/&gt;
        detected 1 online CPUs by sysfs&lt;br/&gt;
        libcfs will create CPU partition based on online CPUs&lt;br/&gt;
        debug=vfstrace rpctrace dlmtrace neterror ha config                   ioctl super lfsck&lt;br/&gt;
        subsystem_debug=all -lnet -lnd -pinger&lt;br/&gt;
        Setup mgs, mdt, osts&lt;br/&gt;
        Starting mds1:   -o loop /tmp/lustre-mdt1 /mnt/mds1&lt;br/&gt;
        Started lustre-MDT0000&lt;br/&gt;
        Starting ost1:   -o loop /tmp/lustre-ost1 /mnt/ost1&lt;br/&gt;
        mount.lustre: mount /dev/loop1 at /mnt/ost1 failed: Connection timed out&lt;/p&gt;

&lt;p&gt;   And then you may run &apos;dmesg&apos;, it shows:&lt;/p&gt;

&lt;p&gt;        ...&lt;br/&gt;
        [  134.960367] LNetError: 120-3: Refusing connection from 192.168.56.101 for 192.168.56.101@tcp: No matching NI&lt;br/&gt;
        [  134.960666] LNetError: 10438:0:(socklnd_cb.c:1723:ksocknal_recv_hello()) Error -104 reading HELLO from 192.168.56.101&lt;br/&gt;
        [  134.961040] LNetError: 11b-b: Connection to 192.168.56.101@tcp at host 192.168.56.101 on port 988 was reset: is it running a compatible version of Lustre and is 192.168.56.101@tcp one of its NIDs?&lt;br/&gt;
        [  139.960163] Lustre: 10446:0:(client.c:2063:ptlrpc_expire_one_request()) @@@ Request sent has timed out for slow reply: &lt;span class=&quot;error&quot;&gt;&amp;#91;sent 1457156893/real 1457156893&amp;#93;&lt;/span&gt;  req@ffff88020433a600 x1527939743088740/t0(0) o250-&amp;gt;MGC192.168.56.101@tcp@192.168.56.101@tcp:26/25 lens 520/544 e 0 to 1 dl 1457156898 ref 1 fl Rpc:XN/0/ffffffff rc 0/-1&lt;br/&gt;
        [  139.960500] Lustre: lustre-MDT0000: Connection restored to 10.0.2.15@tcp (at 0@lo)&lt;br/&gt;
        [  139.960684] LNetError: 120-3: Refusing connection from 192.168.56.101 for 192.168.56.101@tcp: No matching NI&lt;br/&gt;
        [  139.961892] LNetError: 10439:0:(socklnd_cb.c:1723:ksocknal_recv_hello()) Error -104 reading HELLO from 192.168.56.101&lt;br/&gt;
        [  139.962902] LNetError: 11b-b: Connection to 192.168.56.101@tcp at host 192.168.56.101 on port 988 was reset: is it running a compatible version of Lustre and is 192.168.56.101@tcp one of its NIDs?&lt;br/&gt;
        [  144.971200] LustreError: 15f-b: lustre-OST0000: cannot register this server with the MGS: rc = -110. Is the MGS running?&lt;br/&gt;
        [  144.972325] LustreError: 11686:0:(obd_mount_server.c:1798:server_fill_super()) Unable to start targets: -110&lt;br/&gt;
        [  144.974060] LustreError: 11686:0:(obd_mount_server.c:1512:server_put_super()) no obd lustre-OST0000&lt;br/&gt;
        [  144.974866] LustreError: 11686:0:(obd_mount_server.c:140:server_deregister_mount()) lustre-OST0000 not registered&lt;br/&gt;
        [  145.011302] Lustre: server umount lustre-OST0000 complete&lt;br/&gt;
        [  145.011302] LustreError: 11686:0:(obd_mount.c:1426:lustre_fill_super()) Unable to mount  (-110)&lt;/p&gt;

&lt;p&gt;   Since there are no &apos;lnetctl&apos; command line tools, you may have to add a conf at /etc/modprobe.d/ with line &quot;options lnet networks=tcp0(enp0s8)&quot; , then you need to run &apos;llmountcleanup.sh&apos; before running &apos;llmount.sh&apos; again. Just like below:&lt;/p&gt;

&lt;p&gt;        &lt;span class=&quot;error&quot;&gt;&amp;#91;root@node1 eteced&amp;#93;&lt;/span&gt;# /lib64/lustre/tests/llmountcleanup.sh&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre (opts:-f)&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre2 (opts:-f)&lt;br/&gt;
        Stopping /mnt/mds1 (opts:-f) on node1&lt;br/&gt;
        modules unloaded.&lt;br/&gt;
        &lt;span class=&quot;error&quot;&gt;&amp;#91;root@node1 eteced&amp;#93;&lt;/span&gt;# /lib64/lustre/tests/llmount.sh&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre (opts&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
        Stopping clients: node1 /mnt/lustre2 (opts&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;br/&gt;
        Loading modules from /lib64/lustre/tests/..&lt;br/&gt;
        detected 1 online CPUs by sysfs&lt;br/&gt;
        libcfs will create CPU partition based on online CPUs&lt;br/&gt;
        debug=vfstrace rpctrace dlmtrace neterror ha config                   ioctl super lfsck&lt;br/&gt;
        subsystem_debug=all -lnet -lnd -pinger&lt;br/&gt;
        quota/lquota options: &apos;hash_lqs_cur_bits=3&apos;&lt;br/&gt;
        Formatting mgs, mds, osts&lt;br/&gt;
        Format mds1: /tmp/lustre-mdt1&lt;br/&gt;
        Format ost1: /tmp/lustre-ost1&lt;br/&gt;
        Format ost2: /tmp/lustre-ost2&lt;br/&gt;
        Checking servers environments&lt;br/&gt;
        Checking clients node1 environments&lt;br/&gt;
        Loading modules from /lib64/lustre/tests/..&lt;br/&gt;
        detected 1 online CPUs by sysfs&lt;br/&gt;
        libcfs will create CPU partition based on online CPUs&lt;br/&gt;
        debug=vfstrace rpctrace dlmtrace neterror ha config                   ioctl super lfsck&lt;br/&gt;
        subsystem_debug=all -lnet -lnd -pinger&lt;br/&gt;
        Setup mgs, mdt, osts&lt;br/&gt;
        Starting mds1:   -o loop /tmp/lustre-mdt1 /mnt/mds1&lt;br/&gt;
        Started lustre-MDT0000&lt;br/&gt;
        Starting ost1:   -o loop /tmp/lustre-ost1 /mnt/ost1&lt;br/&gt;
        Started lustre-OST0000&lt;br/&gt;
        Starting ost2:   -o loop /tmp/lustre-ost2 /mnt/ost2&lt;br/&gt;
        Started lustre-OST0001&lt;br/&gt;
        Starting client: node1:  -o user_xattr,flock node1@tcp:/lustre /mnt/lustre&lt;br/&gt;
        Using TIMEOUT=20&lt;br/&gt;
        seting jobstats to procname_uid&lt;br/&gt;
        Setting lustre.sys.jobid_var from disable to procname_uid&lt;br/&gt;
        Waiting 90 secs for update&lt;br/&gt;
        Updated after 3s: wanted &apos;procname_uid&apos; got &apos;procname_uid&apos;&lt;br/&gt;
        disable quota as required&lt;br/&gt;
        &lt;span class=&quot;error&quot;&gt;&amp;#91;root@node1 eteced&amp;#93;&lt;/span&gt;# &lt;/p&gt;

&lt;p&gt;It seems successfully running &quot;llmount.sh&quot;. &lt;br/&gt;
Although these steps are producing at a virtual machine, I think the key point to trigger the bug is that you have two network card, and the hostname is set to the second rather than the first (at /etc/hosts or some other name resolving settings).&lt;/p&gt;</description>
                <environment>CentOS 7.2</environment>
        <key id="35172">LU-7852</key>
            <summary>Missing lnetctl command on any recent daily built package</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.whamcloud.com/images/icons/priorities/major.svg">Major</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/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="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="doug">Doug Oucharek</assignee>
                                    <reporter username="eteced">Yingdi Guo</reporter>
                        <labels>
                    </labels>
                <created>Sat, 5 Mar 2016 06:23:06 +0000</created>
                <updated>Tue, 5 Apr 2016 18:24:40 +0000</updated>
                            <resolved>Tue, 5 Apr 2016 18:24:40 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                            <comments>
                            <comment id="144904" author="doug" created="Tue, 8 Mar 2016 17:58:04 +0000"  >&lt;p&gt;I have opened a ticket on our internal tools group to add libyaml to all the build servers.&lt;/p&gt;</comment>
                            <comment id="147873" author="doug" created="Tue, 5 Apr 2016 18:24:12 +0000"  >&lt;p&gt;This issue has been resolved by &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7887&quot; title=&quot;lbuild not building lnetctl&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7887&quot;&gt;&lt;del&gt;LU-7887&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                                                <inwardlinks description="is blocked by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="35450">LU-7887</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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|hzy3pz:</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>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

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