<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 02:32: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-10159] Lnet: Ping issues with Multi-rail routers talking to down rev clients</title>
                <link>https://jira.whamcloud.com/browse/LU-10159</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;This case is being created on behalf of ANU/NCI&lt;br/&gt;
 Filesystem is new Lustre 2.10.1 ZFS based system&lt;/p&gt;

&lt;p&gt;The system has been built with Multi-Rail enabled Lnet routers. These Lnet routers have a IB Bonded EDR interface on the &apos;filesystem&apos; side and two EDR interfaces on the same o2ib network on the client side.&lt;br/&gt;
 e.g. :&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;# lnetctl net show
net:
    - net type: lo
      local NI(s):
        - nid: 0@lo
          status: up
    - net type: o2ib8
      local NI(s):
        - nid: 10.112.1.81@o2ib8
          status: up
          interfaces:
              0: ibbond
    - net type: o2ib3
      local NI(s):
        - nid: 10.9.110.171@o2ib3
          status: up
          interfaces:
              0: ib1
        - nid: 10.9.110.179@o2ib3
          status: up
          interfaces:
              0: ib3

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On clients each interface on the o2ib3 network is listed as a separate router. This was done as the clients are downrev and do not support multi-rail.&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 route_list
net              o2ib8 hops 1 gw               10.9.110.180@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.181@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.184@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.179@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.186@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.182@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.185@o2ib3 up pri 0
net              o2ib8 hops 1 gw               10.9.110.183@o2ib3 up pri 0

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The clients have been configured on the lnet routers as &apos;Multi-Rail: True&apos; so that the lustre code on the lnet routers will use all available interfaces on the o2ib3 network. If they are not configured as multi-rail aware, the old code path that chooses the first interface is used. Because the clients are actually attached via an FDR fabric, both EDR interfaces on the client side of the lnet routers are required to be used to achieve the target performance. This could also be achieved by using VM&apos;s as lnet routers, but that has other performance penalties that native does not.&lt;/p&gt;

&lt;p&gt;Errors have been spotted in the client logs for clients with the filesystem mounted and clients without the filesystem mounted. They all have the routes configured.:&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;2017-10-25 12:07:22 [59647.382295] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) 10.9.110.185@o2ib3 rejected: consumer defined fatal error
2017-10-25 12:07:22 [59647.395386] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) Skipped 11 previous similar messages
2017-10-25 12:17:34 [60259.426495] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) 10.9.110.185@o2ib3 rejected: consumer defined fatal error
2017-10-25 12:17:34 [60259.439527] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) Skipped 11 previous similar messages
2017-10-25 12:27:46 [60871.470741] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) 10.9.110.185@o2ib3 rejected: consumer defined fatal error
2017-10-25 12:27:46 [60871.483851] LNetError: 291:0:(o2iblnd_cb.c:2638:kiblnd_rejected()) Skipped 11 previous similar messages

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;These errors coincide with loss of available lnet routers:&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;net              o2ib8 hops 1 gw               10.9.110.180@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.181@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.184@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.179@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.186@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.182@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.185@o2ib3 down pri 0
net              o2ib8 hops 1 gw               10.9.110.183@o2ib3 down pri 0

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The issue appears to be that the lnet pings from clients to ensure routes are valid are not always returning from the ni that received the ping. This is causing the downrev clients to generate the above errors and flag the route as down.&lt;/p&gt;

&lt;p&gt;We are hoping a patch could be created to allow the above config (specifically the dual connections to the o2ib3 network) to be used in production.&lt;/p&gt;

&lt;p&gt;This system is not yet in production but is in final testing and there is some time pressure.&lt;/p&gt;</description>
                <environment>Servers/Lnet Routers: Centos 7.4, MOFED 4.1-1.0.2.0, Lustre 2.10.1&lt;br/&gt;
Clients: Centos 6.8, MOFED ?, Lustre 2.5 (DDN ES 2.5.42.28-ddn14)&lt;br/&gt;
</environment>
        <key id="48942">LU-10159</key>
            <summary>Lnet: Ping issues with Multi-rail routers talking to down rev clients</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="ashehata">Amir Shehata</assignee>
                                    <reporter username="mhaakddn">Malcolm Haak - NCI</reporter>
                        <labels>
                            <label>Lnet</label>
                            <label>Multi-Rail</label>
                    </labels>
                <created>Wed, 25 Oct 2017 02:59:39 +0000</created>
                <updated>Wed, 29 Apr 2020 13:36:45 +0000</updated>
                            <resolved>Wed, 29 Apr 2020 13:36:45 +0000</resolved>
                                    <version>Lustre 2.10.1</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>7</watches>
                                                                            <comments>
                            <comment id="211913" author="pjones" created="Wed, 25 Oct 2017 04:14:59 +0000"  >&lt;p&gt;Amir&lt;/p&gt;

&lt;p&gt;Can you please assist with this one?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="211943" author="ashehata" created="Wed, 25 Oct 2017 14:25:51 +0000"  >&lt;p&gt;I don&apos;t believe this is a code issue, rather a linux routing issue. Please take a look at the description below, and make sure your linux routing configuration matches:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://wiki.hpdd.intel.com/display/LNet/MR+Cluster+Setup&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.hpdd.intel.com/display/LNet/MR+Cluster+Setup&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let me know if that works.&lt;/p&gt;</comment>
                            <comment id="212163" author="mhaakddn" created="Fri, 27 Oct 2017 00:12:43 +0000"  >&lt;p&gt;We had a Systemd unit that was supposed to set this up correctly at boot for us. It had an error in the install section and was not being automatically started.&lt;/p&gt;

&lt;p&gt;I have resolved this issue.&lt;/p&gt;

&lt;p&gt;However initially the clients were still seeing issues. It seems a client reboot is required to get them to a stable state.&lt;/p&gt;

&lt;p&gt;For the interested I will embed the SystemD unit file if you want to add it to the wiki to be used with the code samples you have already provided &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;[Unit]
Description=Configure IB interfaces &lt;span class=&quot;code-keyword&quot;&gt;for&lt;/span&gt; Lnet Multi-Rail
Requires=network.target network.service
After=network.target network.service networking.service
Before=lnet.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/lnet_net_configure

[Install]
WantedBy=multi-user.target
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The script lnet_net_configure is where you add the required script segments to configure the routing and arp sysctl settings.&lt;/p&gt;

&lt;p&gt;It has a Before section to ensure things are correct before lnet is started. This appears to have resolved the issue however we are going to do some more through testing before requesting case closure.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;</comment>
                    </comments>
                    <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_10030" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Epic/Theme</customfieldname>
                        <customfieldvalues>
                                        <label>lnet</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzzmen:</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>