<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:53:01 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-5614] use %kernel_module_package for weak-updates</title>
                <link>https://jira.whamcloud.com/browse/LU-5614</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;The correct way to support weak-updates in rpm packages is the vendor defined %kernel_Module_package.  This does the right thing on all distributions.&lt;/p&gt;

&lt;p&gt;We have used this feature in SGI Lustre for several years, and I plan to work this feature back into the master branch.&lt;/p&gt;</description>
                <environment></environment>
        <key id="26509">LU-5614</key>
            <summary>use %kernel_module_package for weak-updates</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</type>
                                            <priority id="2" iconUrl="https://jira.whamcloud.com/images/icons/priorities/critical.svg">Critical</priority>
                        <status id="6" iconUrl="https://jira.whamcloud.com/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="mdiep">Minh Diep</assignee>
                                    <reporter username="schamp">Stephen Champion</reporter>
                        <labels>
                            <label>llnl</label>
                            <label>patch</label>
                    </labels>
                <created>Fri, 12 Sep 2014 04:15:18 +0000</created>
                <updated>Tue, 6 Jun 2017 15:37:53 +0000</updated>
                            <resolved>Mon, 18 Jul 2016 21:54:05 +0000</resolved>
                                                    <fixVersion>Lustre 2.9.0</fixVersion>
                                        <due></due>
                            <votes>1</votes>
                                    <watches>23</watches>
                                                                            <comments>
                            <comment id="93858" author="pjones" created="Fri, 12 Sep 2014 16:31:00 +0000"  >&lt;p&gt;Minh&lt;/p&gt;

&lt;p&gt;Could you please review these patches when Steve supplies them?&lt;/p&gt;

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

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="94119" author="schamp" created="Tue, 16 Sep 2014 02:12:09 +0000"  >&lt;p&gt;Don&apos;t hold your breathe waiting for them ;^)&lt;/p&gt;

&lt;p&gt;I started to take a look, and realized I need to have a handle on what lbuild does before I work this out.&lt;/p&gt;</comment>
                            <comment id="94121" author="brian" created="Tue, 16 Sep 2014 02:27:45 +0000"  >&lt;p&gt;Can you just paste your complete &lt;tt&gt;lustre.spec&lt;/tt&gt; here and we can see which side gets to it first?  &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;/p&gt;</comment>
                            <comment id="94126" author="schamp" created="Tue, 16 Sep 2014 04:10:35 +0000"  >&lt;p&gt;Simplified version of the SGI spec&lt;/p&gt;</comment>
                            <comment id="94127" author="schamp" created="Tue, 16 Sep 2014 04:24:11 +0000"  >&lt;p&gt;Anyone is very welcome to jump ahead of me.&lt;/p&gt;

&lt;p&gt;I just attached a stripped down version of the spec used for our 2.4.2 release.  Essentially, the %kernel_module_package macro replaces the module package and all of the associated pre/post scripts.  The tricky bit is that it expects to build for every installed kernel.  You either have to override this or deal with it.&lt;/p&gt;

&lt;p&gt;There are also some hazards in the macro itself : ie, it expects that all installed kernels have the same version.&lt;/p&gt;

&lt;p&gt;All of this gets especially nasty dealing with the server packages, which is the default flavor with the version string twiddled (I dealt with this in SGI releases by building the server kernel as a distinct flavor).  I suspect the answer is simple to not do weak-modules for servers, as there is limited benefit to it on servers.&lt;/p&gt;

&lt;p&gt;I was considering having a separate spec: either for clients vs servers, or for --with-weak-updates vs --without-weak-updates.&lt;/p&gt;</comment>
                            <comment id="94994" author="schamp" created="Thu, 25 Sep 2014 19:21:35 +0000"  >&lt;p&gt;&lt;a href=&quot;http://review.whamcloud.com/12063&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/12063&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Intended only as a conversation piece at this point.&lt;/p&gt;</comment>
                            <comment id="95360" author="schamp" created="Tue, 30 Sep 2014 21:55:03 +0000"  >&lt;p&gt;^Build failed because there are multiple versions of the same kernel installed.&lt;/p&gt;

&lt;p&gt;%kernel_module_package normally uses rpm to query the installed kernel version, and packages modules for the first listed kernel version.  That resulted in a mismatch between the kernel the modules were built for and the kernel the modules were (failed to be) packaged for.&lt;/p&gt;

&lt;p&gt;I&apos;m exploring some ways around this.&lt;/p&gt;</comment>
                            <comment id="95488" author="schamp" created="Thu, 2 Oct 2014 02:13:47 +0000"  >&lt;p&gt;With RedHat, we can define kernel_version to override the default selection of which kernel version to build for.  &lt;/p&gt;

&lt;p&gt;SuSE does not have anything like that, but it looks there is a mechanism with %suse_kernel_module_package (which is the underlying implementaion of %kernel_module_package on SLES).  I will investigate that, and perhaps engage SuSE to get the SLES %kernel_module_package to use that facility in a way which is compatible with RH&apos;s.&lt;/p&gt;

&lt;p&gt;In the meantime, I&apos;m looking at the build failure from &lt;a href=&quot;http://review.whamcloud.com/#/c/12063/2&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/12063/2&lt;/a&gt;, which I could not reproduce.  On my system, /usr/lib64/lustre/mount_osd_xyz.so is packaged with the osd xyz kmp.  I suspect something odd about %&lt;/p&gt;
{with lustre_utils}
&lt;p&gt;.&lt;/p&gt;</comment>
                            <comment id="95946" author="jfc" created="Wed, 8 Oct 2014 16:27:39 +0000"  >&lt;p&gt;Any further news on this one Stephen?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
~ jfc.&lt;/p&gt;</comment>
                            <comment id="95972" author="schamp" created="Wed, 8 Oct 2014 21:39:04 +0000"  >&lt;p&gt;Building on local systems with &apos;./configure ; make rpms&apos;, the patch I have is able to build for redhat when multiple kernel package versions are installed.  It works on SLES with a single version installed.&lt;/p&gt;

&lt;p&gt;Building with Intel&apos;s jenkin&apos;s, these files:&lt;br/&gt;
  %{_libdir}/lustre/mount_osd_ldiskfs.so&lt;br/&gt;
  %{_libdir}/lustre/mount_osd_zfs.so&lt;/p&gt;

&lt;p&gt;which should be part of the their respective osd module packages, are not picked up, and I was unable to identify why this difference arises or how to address in it the time I had available.&lt;/p&gt;</comment>
                            <comment id="110727" author="gerrit" created="Thu, 26 Mar 2015 11:52:57 +0000"  >&lt;p&gt;Alexander Boyko (alexander.boyko@seagate.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/14191&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/14191&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; build: add kmod for client&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 6748dbb146de7d8a8df72765996180a1a9b2837b&lt;/p&gt;</comment>
                            <comment id="119985" author="mdiep" created="Tue, 30 Jun 2015 22:51:22 +0000"  >&lt;p&gt;I found that it needs to have kernel-devel installed on the builder. As we use lbuild to extract the kernel-devel on to the kdir, it doesn&apos;t seem to work&lt;/p&gt;

&lt;p&gt;++ /usr/bin/rpmbuild --target x86_64 -tb /mnt/build/lustre-release/lustre-2.7.55.tar.gz --without servers --define &apos;__find_requires /mnt/build/lustre-release/BUILD/find-requires&apos; --define &apos;configure_args --with-o2ib=no&apos; --define &apos;kdir /mnt/build/lustre-release/BUILD/reused/usr/src/kernels/2.6.32-504.23.4.el6.x86_64&apos; --define &apos;_tmppath /var/tmp&apos; --define &apos;_topdir /mnt/build/lustre-release/BUILD&apos;&lt;br/&gt;
error: Failed build dependencies:&lt;br/&gt;
        kernel-devel is needed by lustre-client-2.7.55-2.6.32_504.23.4.el6.x86_64_ge550f31.x86_64&lt;/p&gt;</comment>
                            <comment id="120002" author="schamp" created="Wed, 1 Jul 2015 04:31:09 +0000"  >&lt;p&gt;lbuild and the environment it operates in is sufficiently nonstandard for host and rpm builds that we&apos;ll have difficulty getting it to use any of the standard kernel module package methods without addressing some of it&apos;s deficiencies.&lt;/p&gt;

&lt;p&gt;multiple kernel-devel packages can be installed concurrently, so there is no reason not to install the package if it is required by a build - and it is correctly required by any package building kernel modules.&lt;/p&gt;

&lt;p&gt;That said...  The Buildreq is automatically added by %kernel_module_package.  It looks like it can be overridden with nobuildreqs=yes.&lt;/p&gt;</comment>
                            <comment id="120106" author="mdiep" created="Wed, 1 Jul 2015 19:55:48 +0000"  >&lt;p&gt;even with your latest patch, it won&apos;t install without building with kernel-devel&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 x86_64&amp;#93;&lt;/span&gt;# rpm -hiv kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64.rpm&lt;br/&gt;
error: Failed dependencies:&lt;br/&gt;
        ksym(__init_waitqueue_head) = 0xffc7c184 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(__mutex_init) = 0x4bf79039 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(__stack_chk_fail) = 0xf0fdf6cb is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(__wake_up) = 0x642e54ac is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(add_wait_queue) = 0x650fb346 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(copy_from_user) = 0x3302b500 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(default_wake_function) = 0xffd5a395 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
        ksym(kfree) = 0x037a0cba is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;/p&gt;</comment>
                            <comment id="120381" author="brian" created="Mon, 6 Jul 2015 12:04:06 +0000"  >&lt;blockquote&gt;
&lt;p&gt;I found that it needs to have kernel-devel installed on the builder. As we use lbuild to extract the kernel-devel on to the kdir, it doesn&apos;t seem to work&lt;br/&gt;
++ /usr/bin/rpmbuild --target x86_64 -tb /mnt/build/lustre-release/lustre-2.7.55.tar.gz --without servers --define &apos;__find_requires /mnt/build/lustre-release/BUILD/find-requires&apos; --define &apos;configure_args --with-o2ib=no&apos; --define &apos;kdir /mnt/build/lustre-release/BUILD/reused/usr/src/kernels/2.6.32-504.23.4.el6.x86_64&apos; --define &apos;_tmppath /var/tmp&apos; --define &apos;_topdir /mnt/build/lustre-release/BUILD&apos;&lt;br/&gt;
error: Failed build dependencies:&lt;br/&gt;
kernel-devel is needed by lustre-client-2.7.55-2.6.32_504.23.4.el6.x86_64_ge550f31.x86_64&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I think you can use &lt;tt&gt;--nodeps&lt;/tt&gt; with &lt;tt&gt;rpmbuild&lt;/tt&gt;.  This is of course something that needs to be done with care and attention to not paper over other missing dependency requirements.  But those will float up to the surface pretty quickly.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;even with your latest patch, it won&apos;t install without building with kernel-devel&lt;br/&gt;
[root@onyx-24 x86_64]# rpm -hiv kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64.rpm&lt;br/&gt;
error: Failed dependencies:&lt;br/&gt;
ksym(__init_waitqueue_head) = 0xffc7c184 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(__mutex_init) = 0x4bf79039 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(__stack_chk_fail) = 0xf0fdf6cb is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(__wake_up) = 0x642e54ac is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(add_wait_queue) = 0x650fb346 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(copy_from_user) = 0x3302b500 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(default_wake_function) = 0xffd5a395 is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;br/&gt;
ksym(kfree) = 0x037a0cba is needed by kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;These are not missing &lt;em&gt;kernel-devel&lt;/em&gt; dependencies.  These are missing &quot;weak-module&quot; ABI dependencies.&lt;/p&gt;

&lt;p&gt;Which kernel(s) were on the machine you tried to install &lt;em&gt;kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64.rpm&lt;/em&gt; on?  The above errors are telling you that you don&apos;t have a kernel that is ABI (weak module) compatible with your &lt;em&gt;kmod-lustre-client-2.7.55-2.6.32_504.12.2.el6.x86_64_ge550f31.x86_64.rpm&lt;/em&gt;&lt;/p&gt;</comment>
                            <comment id="132240" author="jfc" created="Fri, 30 Oct 2015 22:05:29 +0000"  >&lt;p&gt;Minh or Steve,&lt;/p&gt;

&lt;p&gt;Just checking in to see where we are going with this ticket?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
~ jfc.&lt;/p&gt;</comment>
                            <comment id="135327" author="gerrit" created="Sat, 5 Dec 2015 01:27:20 +0000"  >&lt;p&gt;Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/17489&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/17489&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; build: use %kernel_module_package in rpm spec&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: e36f89001ffc45710d8fd7dea44c944989018ef1&lt;/p&gt;</comment>
                            <comment id="135328" author="morrone" created="Sat, 5 Dec 2015 01:45:12 +0000"  >&lt;p&gt;I used a different Change-Id for my revision of Stephen&apos;s patch, and marked mine &quot;fortestonly&quot; to reduce confusion somewhat.  Nothing too significantly different in mine yet, but I plan to continue work on mine next week.  If folks like the changes and don&apos;t mind, I can update Stephen&apos;s original patch (if someone doesn&apos;t make the needed improvements before me).&lt;/p&gt;

&lt;p&gt;Stephen&apos;s work is an important step towards having Lustre sanely packed for RHEL.  LLNL is moving to the koji build farm for our RHEL7-based TOSS3 distribution, and having this patch that gets weak-updates working is a high priority for us.&lt;/p&gt;</comment>
                            <comment id="135329" author="morrone" created="Sat, 5 Dec 2015 01:47:18 +0000"  >&lt;p&gt;Once we have this weak-modules support, we can finally drop the kernel version string from Lustre&apos;s release string.  That will enable even more cleanup.  Yay!&lt;/p&gt;</comment>
                            <comment id="135363" author="schamp" created="Mon, 7 Dec 2015 04:00:30 +0000"  >&lt;p&gt;I&apos;m glad you are finding this work useful!&lt;/p&gt;

&lt;p&gt;You need to be careful about the build environment for the kmp packaging to work as expected.  You can hack around limitations a bit, but really need to have only a single version-release installed.  This was never an issue for my build system, but the Jenkins environment does not enforce it.&lt;/p&gt;

&lt;p&gt;To deal with some of the problems of existing installations, crossbuilds, etc, I was looking at having multiple rpm specs, selected by configure options.&lt;/p&gt;</comment>
                            <comment id="135365" author="schamp" created="Mon, 7 Dec 2015 07:54:55 +0000"  >&lt;p&gt;Christopher, I can&apos;t see my responses to your inline comments, so...&lt;/p&gt;

&lt;p&gt;You can do Obsoletes, Requires, etc with %kernel_module_package (%kmp) by providing a preamble. This a file which is expanded into the subpackage preamble. My use was:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Source5: lustre-modules.files
Source6: lustre-ldiskfs.files
Source7: lustre-modules.preamble
Source8: lustre-ldiskfs.preamble [ ... ] %kernel_module_package -p %SOURCE7 -n %{name} -f %SOURCE5 @TARGET_FLAVORS@
%kernel_module_package -p %SOURCE8 -n %{name}-ldiskfs -f %SOURCE6 @TARGET_FLAVORS@

lustre-modules.preamble:
  Provides: %{name}-modules %{name}-modules-%1
  Obsoletes: %{old_kmod_obsoletes}
  %if %is_server
  Requires: lustre-backend-fs-%1
  %endif

lustre-ldiskfs.preamble:
  Requires: %{name}-modules-%1
  Provides: lustre-backend-fs-%1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;&lt;p&gt;%global kernel_version %kversion&lt;/p&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;&lt;p&gt;%kernel_module_package must want this variable set, but a comment to explain that would help avoid confusion&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;On RH based distros, it is used to override the default method of identifying which kernel to build for. It is not needed if the build environment is strictly controlled.  See my Oct 1 comment.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Is there some reason not to simply use this line unconditionally?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;You would need to move the without_servers condition into kmp-lustre.files&lt;br/&gt;
That is probably a better way. As is, I think the client kmp is missing the %doc files&lt;/p&gt;</comment>
                            <comment id="135410" author="morrone" created="Mon, 7 Dec 2015 18:10:55 +0000"  >&lt;blockquote&gt;
&lt;p&gt;Christopher, I can&apos;t see my responses to your inline comments, so...&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;You have to click the &quot;review&quot; button to post your inline comments.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;On RH based distros, it is used to override the default method of identifying which kernel to build for. It is not needed if the build environment is strictly controlled. See my Oct 1 comment.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Yes, I understand.  I think you are right to include that for now, because changing the way Lustre selects which kernel to build against would only complicate the patch further.  I am only asking that a comment be added to the spec file so that it is clearer to everyone in the future.  You can see I added a comment in my version of the patch.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To deal with some of the problems of existing installations, crossbuilds, etc, I was looking at having multiple rpm specs, selected by configure options.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I completely agree.  Having one spec file seems like a nice idea at first, but once you get into all of the little details, it becomes clear that rpm just was not designed to support multiple distros (or really even multiple versions of the same distro) in one spec file.  We really should switch to having many simpler spec files instead of one inscrutable and always broken spec file.&lt;/p&gt;

&lt;p&gt;I am not convinced yet whether configure should be involved.  I would like to move towards having the build (compilation) system and the packaging system be more cleanly separated.  But it is a possibility.&lt;/p&gt;</comment>
                            <comment id="135766" author="morrone" created="Thu, 10 Dec 2015 02:14:09 +0000"  >&lt;p&gt;Server packages build fine under CentOS7 with my version of the patch, but not in Intel&apos;s buildfarm.  Sigh.  Can we kill lbuild yet?&lt;/p&gt;</comment>
                            <comment id="135903" author="morrone" created="Thu, 10 Dec 2015 18:45:32 +0000"  >&lt;p&gt;I&apos;d like to go back and answer John&apos;s question:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Just checking in to see where we are going with this ticket?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;and I&apos;ll start by quoting Stephen Champion:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;lbuild and the environment it operates in is sufficiently nonstandard for host and rpm builds that we&apos;ll have difficulty getting it to use any of the standard kernel module package methods without addressing some of it&apos;s deficiencies.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Stephen really hit the nail on the head.  The nonstandard way that lbuild operates is the biggest obstacle to success in this ticket.  It looks to me like Stephen&apos;s last revision of the patch was very close to complete.  The remaining minor issues shouldn&apos;t take very long to work through, and I have already addressed some of them in my revision.&lt;/p&gt;

&lt;p&gt;Build systems are surprisingly complicated and difficult to get right for every revision of every distribution.  Adding that inherent complication to the unnecessary complication of lbuild&apos;s non-standard approach leaves us with a problem that is practically insurmountable.&lt;/p&gt;

&lt;p&gt;I&apos;ve been recommending that we ditch lbuild for something that uses more standard packaging approach for years now (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-3956&quot; title=&quot;Eliminate lbuild&amp;#39;s nonstandard build process&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-3956&quot;&gt;LU-3956&lt;/a&gt;, but I&apos;d been advocating to change it long before I opened that ticket).  I have not seen much effort in that area, unfortunately.&lt;/p&gt;

&lt;p&gt;So, Intel, how do we make progress here?&lt;/p&gt;

&lt;p&gt;I would really like to see this and other build and packaging improvements land early in the 2.9 landing window.  Is there some way to address the problems in Intel&apos;s build farm in that time frame?  I would assume that setting up a full lbuild replacement in just a month or two won&apos;t happen, but we&apos;ll need some attention to improve the current situation enough to let sane changes happen.&lt;/p&gt;

&lt;p&gt;So it would be good to lay out a plan for both short and longer term changes to Intel&apos;s buildfarm situation.&lt;/p&gt;</comment>
                            <comment id="135957" author="mdiep" created="Thu, 10 Dec 2015 22:08:57 +0000"  >&lt;p&gt;Hi Chris&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Server packages build fine under CentOS7 with my version of the patch, but not in Intel&apos;s buildfarm. Sigh. Can we kill lbuild yet?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I see that it passed EL6.7 but failed in EL7. Have you tried local build on EL7? If so please share the output log.&lt;/p&gt;

&lt;p&gt;I wonder what lbuild does in this case that worked of EL6.7 and didn&apos;t work on EL7.&lt;/p&gt;

&lt;p&gt;Thanks&lt;br/&gt;
-Minh&lt;/p&gt;</comment>
                            <comment id="135960" author="morrone" created="Thu, 10 Dec 2015 22:18:46 +0000"  >&lt;p&gt;CentOS7 is the same as EL7 for our purposes.  So yes, I did try it, and it works.&lt;/p&gt;

&lt;p&gt;I&apos;m not sure which log you mean by &quot;output log&quot;.  But I&apos;m also not seeing how that would help you since your build farm with lbuild is so incredibly different a normal build environment.&lt;/p&gt;

&lt;p&gt;Welcome to the club.  We &lt;em&gt;all&lt;/em&gt; wonder why lbuild works on one but not the other.  In an lbuild-free environment, the builds appear to work on that platform.&lt;/p&gt;</comment>
                            <comment id="135963" author="mdiep" created="Thu, 10 Dec 2015 22:19:18 +0000"  >&lt;p&gt;Regarding&lt;/p&gt;

&lt;p&gt;&amp;gt;&amp;gt; lbuild and the environment it operates in is sufficiently nonstandard for host and rpm builds that we&apos;ll have difficulty getting it to use any of the standard kernel module package methods without addressing some of it&apos;s deficiencies.&lt;/p&gt;

&lt;p&gt;We are using lbuild just as if anyone use rpmbuild to build the package. I believe we address one of the issue where kernel module package requires kernel-devel to install on the builders which we did.&lt;/p&gt;

&lt;p&gt;it would be great if we can understand more of the deficiencies that you mentioned. &lt;/p&gt;</comment>
                            <comment id="135969" author="mdiep" created="Thu, 10 Dec 2015 22:39:49 +0000"  >&lt;p&gt;&amp;gt;&amp;gt;&amp;gt; I&apos;m not sure which log you mean by &quot;output log&quot;. But I&apos;m also not seeing how that would help you since your build farm with lbuild is so incredibly different a normal build environment.&lt;/p&gt;

&lt;p&gt;It would be nice if you can provide the commands and its&apos; output that you built from EL7. I assume  you&apos;ll run something like: autogen.sh, configure ...., make....&lt;/p&gt;</comment>
                            <comment id="135972" author="morrone" created="Thu, 10 Dec 2015 23:04:13 +0000"  >&lt;p&gt;Yes, I ran &quot;autogen.sh &amp;amp;&amp;amp; ./configure &amp;amp;&amp;amp; make rpms&quot;.&lt;/p&gt;

&lt;p&gt;You have both successful and failed logs in lbuild paths for RHEL6.7 and RHEL7.  Those are the logs and systems you need to be looking at in the short term.&lt;/p&gt;</comment>
                            <comment id="135975" author="mdiep" created="Thu, 10 Dec 2015 23:28:56 +0000"  >&lt;p&gt;Yes, I am looking. I am mostly interested in rpmbuild output. BTW did you build locally with patched kernel?&lt;/p&gt;</comment>
                            <comment id="135996" author="schamp" created="Fri, 11 Dec 2015 03:14:12 +0000"  >&lt;p&gt;The build systems I am familiar with have a few key characteristics we are lacking for using this macro.&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Automatically installs packages to satisfy Requires: and BuildRequires: statements prior to invoking rpmbuild (or other native build mechanism).&lt;/li&gt;
&lt;/ul&gt;


&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Builds only use libraries and objects which are installed in the build environment (host/guest/chroot)  with the native package manager (rpm).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Not all of the build systems do this, but ideally kernel module package builds also have:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Insure that only a single instance of a package name.arch is installed. This is normally enforced for packages other than the kernel and related packages - but building kernel modules, it is important to be strict about kernel packages because of hazards in how the target kernel is determined, how kernel module dependencies are resolved, and how kernel source and header links are managed on some distributions.&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="138914" author="aboyko" created="Thu, 14 Jan 2016 14:59:17 +0000"  >&lt;p&gt;I moved forward a patch for kmod.&lt;br/&gt;
&lt;a href=&quot;http://review.whamcloud.com/#/c/12063/16&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/12063/16&lt;/a&gt; was build success for all kernels but there was .files generation from a spec file and rpms for rhel have ksym() instead of kernel(). The .files generation from spec was changed to rpm/*.files with lbuild modifying as suggested by Christopher, patchset 22 was fine except one build server RH7. At patchset 23 I`ve added Buildrequires: kernel-devel = %&lt;/p&gt;
{kversion}
&lt;p&gt;and all redhat build failed as expected.&lt;br/&gt;
To move forward this issue requires help from Intel Jenkins people, we need kernel-devel package with precise version to build valid kmod dependencies from kernel symbols.&lt;/p&gt;</comment>
                            <comment id="138979" author="morrone" created="Thu, 14 Jan 2016 22:35:59 +0000"  >&lt;p&gt;Peter Jones, could we get Intel to weigh in here?  We are almost certainly going to need to get more attention from a person or persons at Intel to make any further progress.&lt;/p&gt;

&lt;p&gt;Alexander and Stephen have done some great work on this patch.  The community has put in its effort to move Lustre leaps and bounds closer to proper packaging.  Now we are all blocked by problems in Intel&apos;s build farm.&lt;/p&gt;

&lt;p&gt;We need to have a serious discussion about application of manpower and approach to resolving this problem.  We need to make some firm plans now if we are going to get this done for 2.9.&lt;/p&gt;

&lt;p&gt;How do we move forward?  Would a teleconference help?&lt;/p&gt;</comment>
                            <comment id="139056" author="mdiep" created="Fri, 15 Jan 2016 18:36:58 +0000"  >&lt;p&gt;Hi Chris,&lt;/p&gt;

&lt;p&gt;I will starting looking into this and will gather more manpower and resources to figure out what issue with Intel&apos;s build farm and come up with a sensible solution.&lt;/p&gt;</comment>
                            <comment id="139062" author="morrone" created="Fri, 15 Jan 2016 19:19:20 +0000"  >&lt;p&gt;Great, Minh!&lt;/p&gt;</comment>
                            <comment id="139091" author="mdiep" created="Fri, 15 Jan 2016 23:00:26 +0000"  >&lt;p&gt;started this by manually configure, make rpms but failed at make rpms&lt;/p&gt;

&lt;p&gt;make&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;: Entering directory `/mnt/lustre-release&apos;&lt;br/&gt;
make&lt;span class=&quot;error&quot;&gt;&amp;#91;1&amp;#93;&lt;/span&gt;: Leaving directory `/mnt/lustre-release&apos;&lt;br/&gt;
Installing lustre-2.7.64-1_g481176c.src.rpm&lt;br/&gt;
error: Failed build dependencies:&lt;br/&gt;
        kernel-devel = 2.6.32-573.12.1.el6.x86_64 is needed by lustre-client-2.7.64-2.6.32_573.12.1.el6.x86_64_g481176c.x86_64&lt;br/&gt;
make: *** &lt;span class=&quot;error&quot;&gt;&amp;#91;rpms&amp;#93;&lt;/span&gt; Error 1&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 lustre-release&amp;#93;&lt;/span&gt;# rpm -qa | grep kernel-devel&lt;br/&gt;
kernel-devel-2.6.32-573.12.1.el6.x86_64&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 lustre-release&amp;#93;&lt;/span&gt;# &lt;/p&gt;

&lt;p&gt;This is similar to what Intel jenkins reported. still looking, just FYI&lt;/p&gt;</comment>
                            <comment id="139094" author="morrone" created="Fri, 15 Jan 2016 23:17:51 +0000"  >&lt;p&gt;Minh, either use patch revision 22 for now or remove the  &quot;= %{kversion}&quot; from the following line in the lustre.spec.in in patch revision 23:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;BuildRequires: kernel-devel = %{kversion}&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="139098" author="mdiep" created="Fri, 15 Jan 2016 23:57:09 +0000"  >&lt;p&gt;ah, I see, revision 22 still failed on el7 due to the extra x86_64 string in the patch name&lt;/p&gt;</comment>
                            <comment id="139103" author="morrone" created="Sat, 16 Jan 2016 00:46:03 +0000"  >&lt;p&gt;Minh, while that is a problem that needs resolution, the bigger issue that we need you focussed on is the kernel-devel package installation issue.  For instance, while the Intel build farm says that the el6.7, inkernel, server build was successfully for patch revision 22, that isn&apos;t really correct.   The build farm only checks that something came out of the build; it doesn&apos;t really check if what came out is correct.&lt;/p&gt;

&lt;p&gt;The kernel symbol requirements in the resulting binary rpms are incorrect because the correct kernel-devel package was not installed at packaging time.&lt;/p&gt;</comment>
                            <comment id="139105" author="mdiep" created="Sat, 16 Jan 2016 01:31:42 +0000"  >&lt;p&gt;Chris, kernel-devel is installed whenever a new version released. I checked the builder node which built version 22 (onyx-8-sdf1-el6-x8664) and see kernel-devel installed&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-8-sdf1-el6-x8664 ~&amp;#93;&lt;/span&gt;# rpm -qa | grep kernel-devel&lt;br/&gt;
kernel-devel-2.6.32-573.12.1.el6.x86_64&lt;br/&gt;
kernel-devel-2.6.32-573.3.1.el6.x86_64&lt;br/&gt;
kernel-devel-2.6.32-573.7.1.el6.x86_64&lt;br/&gt;
kernel-devel-2.6.32-573.8.1.el6.x86_64&lt;br/&gt;
kernel-devel-2.6.32-504.12.2.el6.x86_64&lt;/p&gt;</comment>
                            <comment id="139109" author="morrone" created="Sat, 16 Jan 2016 01:56:05 +0000"  >&lt;p&gt;The next question that you need to ask yourself is this: &quot;Are these the the kernel-devel packages for the correct kernel&quot;?&lt;/p&gt;

&lt;p&gt;Keep in mind that Lustre is being built against a custom patched kernel.  This kernel is built and packaged by lbuild during the lustre build process.  You can see the packages for one distro here (this is linked off of the same patch revision 22, el6.7, inkernel, server build that I referenced ealier):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://build.hpdd.intel.com/job/lustre-reviews/36780/arch=x86_64,build_type=server,distro=el6.7,ib_stack=inkernel/artifact/artifacts/RPMS/x86_64/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://build.hpdd.intel.com/job/lustre-reviews/36780/arch=x86_64,build_type=server,distro=el6.7,ib_stack=inkernel/artifact/artifacts/RPMS/x86_64/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here are the relevant rpms:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;kernel-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm	
kernel-debuginfo-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm
kernel-debuginfo-common-x86_64-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm
kernel-devel-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm
kernel-firmware-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm
kernel-headers-2.6.32-573.8.1.el6_lustre.g773a7e4.x86_64.rpm
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You will note that the kernels that lbuild patches and builds have &quot;_lustre.g773a7e4&quot; appended to their revision number.  The kernel packages that you listed do not contain that string, so I would expect that none of the kernel-devel packages that you listed are from the correct kernel.&lt;/p&gt;</comment>
                            <comment id="139110" author="mdiep" created="Sat, 16 Jan 2016 02:03:51 +0000"  >&lt;p&gt;gotcha!&lt;/p&gt;</comment>
                            <comment id="139122" author="aboyko" created="Sat, 16 Jan 2016 07:37:44 +0000"  >&lt;p&gt;Minh Diep, to check kmod dependencies you need to do&lt;/p&gt;

&lt;p&gt;rpm -qp --requires kmod-xxx.rpm | grep vfree&lt;br/&gt;
the result should be kernel(vfree)&lt;br/&gt;
for example&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;rpm -qp --requires /lustre/lustre/kmod-lustre-client-tests-2.7.64-3.10.0_229.20.1.el7.x86_64_g773a7e4.x86_64.rpm | grep vfree
kernel(vfree) = 0x999e8297
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Patchset 22 have ksym(vfree) and it is wrong.&lt;/p&gt;</comment>
                            <comment id="139134" author="schamp" created="Sun, 17 Jan 2016 01:35:58 +0000"  >&lt;p&gt;Just a note: client builds are done using the distro kernel.  So we need the distro -devel kernel packages for client builds and the _lustre.tag kernel packages for server builds.&lt;/p&gt;</comment>
                            <comment id="139250" author="mdiep" created="Tue, 19 Jan 2016 16:37:15 +0000"  >&lt;p&gt;I noticed that spl and zfs also require kernel-devel*lustre*. are they not having the same problem?&lt;/p&gt;</comment>
                            <comment id="139422" author="aboyko" created="Wed, 20 Jan 2016 12:03:58 +0000"  >&lt;p&gt;I`ve tried to check kmod-zfs, but fail. Download requires authorization. What is reason for separate access to lustre packages and kmod-zfs?&lt;/p&gt;</comment>
                            <comment id="139425" author="pjones" created="Wed, 20 Jan 2016 13:35:27 +0000"  >&lt;p&gt;Limitations imposed (or at least perceived to be imposed) by the CDDL vs GPL licensing incompatibility.&lt;/p&gt;</comment>
                            <comment id="140150" author="mdiep" created="Wed, 27 Jan 2016 01:33:24 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;With my latest revision built under &lt;a href=&quot;https://build.hpdd.intel.com/job/lustre-reviews/37084/arch=x86_64,build_type=server,distro=el6.7,ib_stack=inkernel/artifact/artifacts/RPMS/x86_64/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://build.hpdd.intel.com/job/lustre-reviews/37084/arch=x86_64,build_type=server,distro=el6.7,ib_stack=inkernel/artifact/artifacts/RPMS/x86_64/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;the kmod dependencies on el6.7 seems to be correct&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# rpm -qp --requires kmod-lustre-2.7.64-2.6.32_573.8.1.el6_lustre.g160868c.x86_64_g160868c.x86_64.rpm | grep vfree&lt;br/&gt;
kernel(vfree) = 0x999e8297&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# &lt;/p&gt;

&lt;p&gt;I still need to figure the failure on el7 though&lt;/p&gt;</comment>
                            <comment id="140156" author="morrone" created="Wed, 27 Jan 2016 02:45:39 +0000"  >&lt;p&gt;Minh, that is fantastic!  Did you do any spot checking to see if the packages work?&lt;/p&gt;</comment>
                            <comment id="140159" author="gerrit" created="Wed, 27 Jan 2016 03:01:32 +0000"  >&lt;p&gt;Christopher J. Morrone (morrone2@llnl.gov) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/18170&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/18170&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; build: use %kernel_module_package in rpm spec&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2ec18b2635b101e3d2661d49949ca68af170a1fc&lt;/p&gt;</comment>
                            <comment id="140160" author="mdiep" created="Wed, 27 Jan 2016 03:49:39 +0000"  >&lt;p&gt;Chris, not yet. There will be more testing on this I am sure&lt;/p&gt;</comment>
                            <comment id="140588" author="morrone" created="Fri, 29 Jan 2016 21:24:29 +0000"  >&lt;p&gt;Any theories on that final&lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/help_16.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; issue with the RHEL7 build?&lt;/p&gt;</comment>
                            <comment id="140597" author="mdiep" created="Fri, 29 Jan 2016 22:41:27 +0000"  >&lt;p&gt;We used to build el7 server on a shorter build directory (ie /var/lib/jenkins/tmp/el7_top_dir) because somehow rpmbuild doesn&apos;t work on long dir (ie /var/lib/jenkins/workspace/lustre-reviews/arch/x86_64/build_type/server/distro/el7/ib_stack/inkernel/BUILD/BUILD). I don&apos;t know why it failed with this kmod patch but not other. I changed it back to long dir to build in the same directory as git checkout; and this solved the issue.&lt;/p&gt;</comment>
                            <comment id="140825" author="mdiep" created="Tue, 2 Feb 2016 16:43:18 +0000"  >&lt;p&gt;Installation test found some issues&lt;/p&gt;

&lt;p&gt;+ yum install -y kmod-lustre-osd-ldiskfs&lt;br/&gt;
Loaded plugins: fastestmirror, security&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Determining fastest mirrors&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;base: mirror.nexcess.net&lt;/li&gt;
	&lt;li&gt;extras: mirror.compevo.com&lt;/li&gt;
	&lt;li&gt;updates: mirror.chpc.utah.edu&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package kmod-lustre-osd-ldiskfs.x86_64 0:2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116 will be installed&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Dependencies Resolved&lt;/p&gt;

&lt;p&gt;================================================================================&lt;br/&gt;
 Package                 Arch   Version                      Repository    Size&lt;br/&gt;
================================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
 kmod-lustre-osd-ldiskfs x86_64 2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116&lt;br/&gt;
                                                             lustre-build 2.8 M&lt;/p&gt;

&lt;p&gt;Transaction Summary&lt;br/&gt;
================================================================================&lt;br/&gt;
Install       1 Package(s)&lt;/p&gt;

&lt;p&gt;Total download size: 2.8 M&lt;br/&gt;
Installed size: 16 M&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
Running rpm_check_debug&lt;br/&gt;
Running Transaction Test&lt;br/&gt;
Transaction Test Succeeded&lt;br/&gt;
Running Transaction&lt;br/&gt;
^M  Installing : kmod-lustre-osd-ldiskfs-2.7.65-2.6.32_573.12.1.el6_lustre.   1/1&lt;br/&gt;
find: `/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre-osd-ldiskfs&apos;: No such file or directory&lt;br/&gt;
^M  Verifying  : kmod-lustre-osd-ldiskfs-2.7.65-2.6.32_573.12.1.el6_lustre.   1/1&lt;/p&gt;



&lt;p&gt;and interestingly, install lustre require to install lustre-dkms.&lt;/p&gt;

&lt;p&gt;Installing:&lt;br/&gt;
 lustre                                 x86_64               2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116                  lustre-build                           619 k&lt;br/&gt;
Installing for dependencies:&lt;br/&gt;
 dkms                                   noarch               2.2.0.3-30.git.7c3e7c5.el6                                                  addon-epel6-x86_64                      77 k&lt;br/&gt;
 libnvpair1                             x86_64               0.6.4.2-1.el6                                                               lustre-build                            27 k&lt;br/&gt;
 libuutil1                              x86_64               0.6.4.2-1.el6                                                               lustre-build                            32 k&lt;br/&gt;
 libzfs2                                x86_64               0.6.4.2-1.el6                                                               lustre-build                           112 k&lt;br/&gt;
 libzpool2                              x86_64               0.6.4.2-1.el6                                                               lustre-build                           389 k&lt;br/&gt;
 lustre-dkms                            noarch               2.7.65-1.el6                                                                lustre-build                            12 M&lt;br/&gt;
 lustre-osd-ldiskfs-mount               x86_64               2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116                  lustre-build                            13 k&lt;br/&gt;
 lustre-osd-zfs-mount                   x86_64               2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116                  lustre-build                           7.4 k&lt;br/&gt;
 net-snmp-libs                          x86_64               1:5.5-54.el6_7.1                                                            updates-centos6.7-x86_64               1.5 M&lt;br/&gt;
 spl-dkms                               noarch               0.6.4.2-1.el6                                                               lustre-build                           446 k&lt;br/&gt;
 zfs-dkms                               noarch               0.6.4.2-1.el6                                                               lustre-build                           1.9 M&lt;/p&gt;

&lt;p&gt;Transaction Summary&lt;br/&gt;
======================================================================================================================================================================================&lt;br/&gt;
Install      12 Package(s)&lt;/p&gt;</comment>
                            <comment id="140830" author="adegremont" created="Tue, 2 Feb 2016 16:50:14 +0000"  >&lt;p&gt;Just wanted to say I&apos;m strongly supporting this feature. I very want something similar to Chris&apos; patch being landed! I also think this is the good way to go. At CEA we are building our own kernel, (M)OFED and Lustre RPMS, in standard way, using standard tools. I would love building lustre with such patch.&lt;br/&gt;
There is no reason this could not be possible in lbuild. &lt;/p&gt;</comment>
                            <comment id="140869" author="morrone" created="Tue, 2 Feb 2016 19:22:52 +0000"  >&lt;p&gt;Minh, can you please elaborate on the &quot;interestingly, install lustre require to install lustre-dkms&quot; statement?  Are you saying that the &quot;yum install -y kmod-lustre-osd-ldiskfs&quot; command was the one that pulled in the lustre-dkms package?&lt;/p&gt;
</comment>
                            <comment id="140870" author="mdiep" created="Tue, 2 Feb 2016 19:24:59 +0000"  >&lt;p&gt;sorry for not being clear, it&apos;s yum -y lustre command that pulled in the lustre-dkms package&lt;/p&gt;</comment>
                            <comment id="142031" author="mdiep" created="Thu, 11 Feb 2016 22:08:27 +0000"  >&lt;p&gt;so lustre requires lustre-osd&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# rpm -qp --requires ./lustre-2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_gb872116.x86_64.rpm | head&lt;br/&gt;
rpmlib(VersionedDependencies) &amp;lt;= 3.0.3-1&lt;br/&gt;
kmod-lustre = 2.7.65&lt;br/&gt;
lustre-osd  &lt;br/&gt;
lustre-osd-mount &lt;/p&gt;

&lt;p&gt;which lustre-dkms provides&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# rpm -qp --provides ./lustre-dkms-2.7.65-1.el6.noarch.rpm &lt;br/&gt;
lustre-kmod = 2.7.65&lt;br/&gt;
lustre-modules = 2.7.65&lt;br/&gt;
lustre-osd  &lt;br/&gt;
lustre-osd-zfs = 2.7.65&lt;br/&gt;
lustre-dkms = 2.7.65-1.el6&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# &lt;/p&gt;</comment>
                            <comment id="142538" author="morrone" created="Thu, 18 Feb 2016 02:34:14 +0000"  >&lt;p&gt;Let&apos;s take stock of where we stand.&lt;/p&gt;

&lt;p&gt;Obviously, we need a rebase of the patch.&lt;/p&gt;

&lt;p&gt;Next we have the interaction between the dkms packages and the non-dkms packages.  I think the solution there is probably pretty straight forward: don&apos;t put both packages in the same yum repository.&lt;/p&gt;

&lt;p&gt;What else do we need to work through?&lt;/p&gt;</comment>
                            <comment id="142799" author="mdiep" created="Thu, 18 Feb 2016 15:28:52 +0000"  >&lt;p&gt;I have updated the patch with more dependencies, please review. This resolved the conflict with dkms package.&lt;br/&gt;
We will need to automate this for testing. this is is progress now.&lt;/p&gt;</comment>
                            <comment id="142814" author="aboyko" created="Thu, 18 Feb 2016 16:26:27 +0000"  >&lt;p&gt;Could you explain, why the next line was added?&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Requires:       %{requires_kmod_name} = %{requires_kmod_version}\n\
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;kmod adds requires on the symbols, so old style package references looks strange. &lt;/p&gt;</comment>
                            <comment id="142915" author="mdiep" created="Fri, 19 Feb 2016 00:52:43 +0000"  >&lt;p&gt;you&apos;re right, we don&apos;t need that.&lt;/p&gt;</comment>
                            <comment id="142919" author="mdiep" created="Fri, 19 Feb 2016 01:18:41 +0000"  >&lt;p&gt;I found that osd_ldiskfs.ko is not in weak-updates/... directory&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-21vm4.onyx.hpdd.intel.com 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# ls /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/*ldiskfs.ko&lt;br/&gt;
/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/ldiskfs.ko&lt;br/&gt;
/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# ls /lib/modules/2.6.32-573.18.1.el6.x86_64/weak-updates/lustre/fs/*ldiskfs.ko&lt;br/&gt;
/lib/modules/2.6.32-573.18.1.el6.x86_64/weak-updates/lustre/fs/ldiskfs.ko&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 ~&amp;#93;&lt;/span&gt;# &lt;/p&gt;

&lt;p&gt;Is this expected or this is not working on lustre patched server?&lt;/p&gt;</comment>
                            <comment id="142935" author="aboyko" created="Fri, 19 Feb 2016 08:54:37 +0000"  >&lt;p&gt;There are some differences for a rpms between SLES and RHEL at the rpm kmod scripts.&lt;br/&gt;
RHEL&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;rpm --scripts -qp kmod-lustre-osd-ldiskfs-2.8.50-2.6.32_573.12.1.el6_lustre.g33b2752.x86_64_gd0671d9.x86_64.rpm 
postinstall scriptlet (using /bin/sh):
if [ -e &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; ]; then
    /sbin/depmod -aeF &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &quot;2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &amp;gt; /dev/null || :
fi

modules=( $(find /lib/modules/2.6.32-573.12.1.el6_lustre.g33b2752.x86_64/extra/lustre-osd-ldiskfs | grep &apos;\.ko$&apos;) )
if [ -x &quot;/sbin/weak-modules&quot; ]; then
    printf &apos;%s\n&apos; &quot;${modules[@]}&quot;     | /sbin/weak-modules --add-modules
fi
preuninstall scriptlet (using /bin/sh):
rpm -ql kmod-lustre-osd-ldiskfs-2.8.50-2.6.32_573.12.1.el6_lustre.g33b2752.x86_64_gd0671d9.x86_64 | grep &apos;\.ko$&apos; &amp;gt; /var/run/rpm-kmod-lustre-osd-ldiskfs-modules
postuninstall scriptlet (using /bin/sh):
if [ -e &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; ]; then
    /sbin/depmod -aeF &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &quot;2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &amp;gt; /dev/null || :
fi

modules=( $(cat /var/run/rpm-kmod-lustre-osd-ldiskfs-modules) )
rm /var/run/rpm-kmod-lustre-osd-ldiskfs-modules
if [ -x &quot;/sbin/weak-modules&quot; ]; then
    printf &apos;%s\n&apos; &quot;${modules[@]}&quot;     | /sbin/weak-modules --remove-modules
fi
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;SLES&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt; rpm --scripts -qp lustre-osd-ldiskfs-kmp-default-2.8.50_3.0.101_0.47.71-3.0.101_0.47.71_lustre.g33b2752_default_gd0671d9.x86_64.rpm 
postinstall scriptlet (using /bin/sh):
nvr=lustre-osd-ldiskfs-kmp-default-2.8.50_3.0.101_0.47.71-3.0.101_0.47.71_lustre.g33b2752_default_gd0671d9
wm2=/usr/lib/module-init-tools/weak-modules2
if [ -x $wm2 ]; then
     /bin/bash -${-/e/} $wm2 --add-kmp $nvr
fi
preuninstall scriptlet (using /bin/sh):
nvr=lustre-osd-ldiskfs-kmp-default-2.8.50_3.0.101_0.47.71-3.0.101_0.47.71_lustre.g33b2752_default_gd0671d9
rpm -ql $nvr | sed -n &apos;/\.ko$/p&apos; &amp;gt; /var/run/rpm-$nvr-modules
postuninstall scriptlet (using /bin/sh):
nvr=lustre-osd-ldiskfs-kmp-default-2.8.50_3.0.101_0.47.71-3.0.101_0.47.71_lustre.g33b2752_default_gd0671d9
modules=( $(cat /var/run/rpm-$nvr-modules) )
rm -f /var/run/rpm-$nvr-modules
if [ ${#modules[*]} = 0 ]; then
    echo &quot;WARNING: $nvr does not contain any kernel modules&quot; &amp;gt;&amp;amp;2
    exit 0
fi
wm2=/usr/lib/module-init-tools/weak-modules2
if [ -x $wm2 ]; then
    printf &apos;%s\n&apos; &quot;${modules[@]}&quot; | /bin/bash -${-/e/} $wm2 --remove-kmp $nvr
fi
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The main point is RHEL uses modules directory equal to rpm package name to find and add *ko, for example &lt;tt&gt;extra/lustre-osd-ldiskfs&lt;/tt&gt; . And SLES uses rpm package to find and add modlues. We have a different package name lustre-osd-ldiskfs lustre-tests etc., but use one directory to install all of them extra/lustre/fs/ and this could bring RHEL to some kind of a problems.&lt;br/&gt;
We installed rpms and updated a kernel for a client. The Lustre works fine after update. I suppose that kmod-lustre do postintall weak -add for all *ko from extra/lustre/ and we didn`t have a problems that I`ve mentioned above.&lt;/p&gt;

&lt;p&gt;Now with your question,&lt;br/&gt;
Did you see any error when you updated a kernel, it may have another version of kernel symbol and weak-update should fail, especially for ldiskfs*.&lt;/p&gt;</comment>
                            <comment id="142941" author="schamp" created="Fri, 19 Feb 2016 10:59:41 +0000"  >&lt;p&gt;FYI, after expanding %kernel_module_package, the correct module installation directory can be obtained via %kernel_module_package_moddir instead of the inline selection and assignment to %kmoddir introduced with &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-4124&quot; title=&quot;Make module installation directory flexible&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-4124&quot;&gt;&lt;del&gt;LU-4124&lt;/del&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;As Alexander mentioned, I suspect a kernel symbol mismatch for osd_ldiskfs trying to install for a non-lustre kernel.&lt;/p&gt;</comment>
                            <comment id="143006" author="mdiep" created="Fri, 19 Feb 2016 18:35:58 +0000"  >&lt;p&gt;Did you see any error when you updated a kernel, it may have another version of kernel symbol and weak-update should fail, especially for ldiskfs*.&lt;/p&gt;

&lt;p&gt;&amp;gt;&amp;gt; No, I did not. However, we can&apos;t mount lustre dev because of missing osd-ldiskfs module (after upgrade)&lt;/p&gt;</comment>
                            <comment id="143008" author="mdiep" created="Fri, 19 Feb 2016 18:41:56 +0000"  >&lt;p&gt;perhaps I did, here is the command&lt;/p&gt;

&lt;p&gt;yum install -y kernel-2.6.32-573.12.1.el6_lustre.gb872116.x86_64 kmod-lustre kmod-lustre-osd-ldiskfs&lt;/p&gt;

&lt;p&gt;Loaded plugins: fastestmirror, security&lt;br/&gt;
Setting up Install Process&lt;br/&gt;
Resolving Dependencies&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package kernel.x86_64 0:2.6.32-573.12.1.el6_lustre.gb872116 will be installed&lt;br/&gt;
---&amp;gt; Package kmod-lustre.x86_64 0:2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b will be installed&lt;br/&gt;
---&amp;gt; Package kmod-lustre-osd-ldiskfs.x86_64 0:2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b will be installed&lt;br/&gt;
--&amp;gt; Processing Dependency: lustre-osd-ldiskfs-mount = 2.7.65 for package: kmod-lustre-osd-ldiskfs-2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b.x86_64&lt;br/&gt;
--&amp;gt; Running transaction check&lt;br/&gt;
---&amp;gt; Package lustre-osd-ldiskfs-mount.x86_64 0:2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b will be installed&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;/p&gt;

&lt;p&gt;Dependencies Resolved&lt;/p&gt;

&lt;p&gt;================================================================================&lt;br/&gt;
 Package                  Arch   Version                     Repository    Size&lt;br/&gt;
================================================================================&lt;br/&gt;
Installing:&lt;br/&gt;
 kernel                   x86_64 2.6.32-573.12.1.el6_lustre.gb872116&lt;br/&gt;
                                                             lustre-build  30 M&lt;br/&gt;
 kmod-lustre              x86_64 2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b&lt;br/&gt;
                                                             lustre-build  26 M&lt;br/&gt;
 kmod-lustre-osd-ldiskfs  x86_64 2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b&lt;br/&gt;
                                                             lustre-build 2.8 M&lt;br/&gt;
Installing for dependencies:&lt;br/&gt;
 lustre-osd-ldiskfs-mount x86_64 2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86_64_g0283f6b&lt;br/&gt;
                                                             lustre-build  13 k&lt;/p&gt;

&lt;p&gt;Transaction Summary&lt;br/&gt;
================================================================================&lt;br/&gt;
Install       4 Package(s)&lt;/p&gt;

&lt;p&gt;Total download size: 59 M&lt;br/&gt;
Installed size: 298 M&lt;br/&gt;
Downloading Packages:&lt;br/&gt;
--------------------------------------------------------------------------------&lt;br/&gt;
Total                                            55 MB/s |  59 MB     00:01&lt;br/&gt;
Running rpm_check_debug&lt;br/&gt;
Running Transaction Test&lt;br/&gt;
Transaction Test Succeeded&lt;br/&gt;
Running Transaction&lt;br/&gt;
^M  Installing : kernel-2.6.32-573.12.1.el6_lustre.gb872116.x86_64            1/4&lt;br/&gt;
^M  Installing : lustre-osd-ldiskfs-mount-2.7.65-2.6.32_573.12.1.el6_lustre   2/4&lt;br/&gt;
^M  Installing : kmod-lustre-osd-ldiskfs-2.7.65-2.6.32_573.12.1.el6_lustre.   3/4&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_unregister_type&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_manual_cleanup&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_kbytestotal_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_buf_realloc&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lustre_lma_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol seq_client_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_register_type&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_fail_loc&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_oh_tally_log2&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_env_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lbug_with_loc&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_restore_sigs&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_key_get&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_log_goto&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_debug_msg&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol __cfs_fail_check_set&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_uuid_unparse&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_filesfree_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_remove&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_register_stats&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_counter_add&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_device_put&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_conn2export&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol seq_server_alloc_meta&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol linkea_entry_unpack&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_site_purge&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol fld_local_lookup&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol server_name2index&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_env_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_buf_free&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_op_begin&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol tgt_server_data_update&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_clear_sigpending&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol obd_memory&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_start&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_process_proc_param&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_dev_del_linkage&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lustre_lma_swab&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_register&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_hash_is_empty&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_txn_hook_start&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_debug_dumpstack&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_oh_sum&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol eq_client_alloc_fid&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_connect&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_site_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_log_return&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_block_sigsinv&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_alloc_stats&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_txn_hook_stop&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_cdebug_printer&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_filestotal_seq_show&lt;/p&gt;

&lt;p&gt;WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_cdebug_printer&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_filestotal_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_key_degister_many&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_otable_features&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_device_get&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_object_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_device_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_object_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_key_register_many&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol statfs_pack&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_prepare&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_site_init_finish&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_kbytesfree_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_free_stats&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_key_revive_many&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_enter&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_kbytesavail_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_single_release&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_counter_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_env_refill&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol linkea_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_oh_tally&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_object_put&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_site_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol pop_ctxt&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_kmem_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_quota_glb_features&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_version_get&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol LU_DOT_LUSTRE_FID&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_acct_features&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_write_u64_helper&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_site_print&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_locate_at&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_directory_features&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_kmem_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_subsystem_debug&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol seq_client_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_search_type&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_init&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_write_helper&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_seq_create&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_lookup_dir&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_counter_sub&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_exit&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_debug&lt;/p&gt;

&lt;p&gt;WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_counter_sub&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_exit&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol libcfs_debug&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_oh_clear&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_device_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_op_end&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_fini&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lu_context_key_quiesce_many&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol lprocfs_dt_blksize_seq_show&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol qsd_op_adjust&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol push_ctxt&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol dt_txn_hook_commit&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol cfs_fail_val&lt;br/&gt;
WARNING: /lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre/fs/osd_ldiskfs.ko needs unknown symbol class_disconnect&lt;br/&gt;
find: `/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre-osd-ldiskfs&apos;: No such file or directory&lt;br/&gt;
^M  Installing : kmod-lustre-2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86   4/4&lt;br/&gt;
^M  Verifying  : kmod-lustre-osd-ldiskfs-2.7.65-2.6.32_573.12.1.el6_lustre.   1/4&lt;br/&gt;
^M  Verifying  : kernel-2.6.32-573.12.1.el6_lustre.gb872116.x86_64            2/4&lt;br/&gt;
^M  Verifying  : kmod-lustre-2.7.65-2.6.32_573.12.1.el6_lustre.gb872116.x86   3/4&lt;br/&gt;
^M  Verifying  : lustre-osd-ldiskfs-mount-2.7.65-2.6.32_573.12.1.el6_lustre   4/4&lt;/p&gt;</comment>
                            <comment id="143067" author="schamp" created="Fri, 19 Feb 2016 22:45:23 +0000"  >&lt;p&gt;Since you are building the modules with a patched kernel, it is not surprising that it is unable to resolve symbols when it attempts weak-updates for the unpatched kernel.  Anytime you change the KABI without changing the flavor, this is the result.  What is surprising is that only osd_ldiskfs.ko has trouble - this demonstrates great progress removing dependencies on the patched kernel!&lt;/p&gt;

&lt;p&gt;To test weak updates on servers, try installing the server modules on a system with a different (and later) version #.  Ie, build modules for 2.6.32-573.12.1.el6_lustre.foo and install them on 2.6.32-573.18.1.el6_lustre.fop&lt;/p&gt;

&lt;p&gt;This is curious:&lt;br/&gt;
  find: `/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre-osd-ldiskfs&apos;: No such file or directory&lt;/p&gt;</comment>
                            <comment id="143068" author="mdiep" created="Fri, 19 Feb 2016 22:55:09 +0000"  >&lt;p&gt;Ah, I was hoping that this ticket let us use weak updates on unpatched kernel. I will try your suggestion.&lt;/p&gt;

&lt;p&gt;the line above is coming from the post install script&lt;/p&gt;

&lt;p&gt;rpm --scripts -qp kmod-lustre-osd-ldiskfs-2.8.50-2.6.32_573.12.1.el6_lustre.g33b2752.x86_64_gd0671d9.x86_64.rpm &lt;br/&gt;
postinstall scriptlet (using /bin/sh):&lt;br/&gt;
if [ -e &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; ]; then&lt;br/&gt;
    /sbin/depmod -aeF &quot;/boot/System.map-2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &quot;2.6.32-573.12.1.el6_lustre.g33b2752.x86_64&quot; &amp;gt; /dev/null || :&lt;br/&gt;
fi&lt;/p&gt;

&lt;p&gt;modules=( $(find /lib/modules/2.6.32-573.12.1.el6_lustre.g33b2752.x86_64/extra/lustre-osd-ldiskfs | grep &apos;\.ko$&apos;) )&lt;br/&gt;
if [ -x &quot;/sbin/weak-modules&quot; ]; then&lt;br/&gt;
    printf &apos;%s\n&apos; &quot;${modules&lt;span class=&quot;error&quot;&gt;&amp;#91;@&amp;#93;&lt;/span&gt;}&quot;     | /sbin/weak-modules --add-modules&lt;br/&gt;
fi&lt;/p&gt;

&lt;p&gt;the path should be /lib/modules/2.6.32-573.12.1.el6_lustre.g33b2752.x86_64/extra/lustre/fs&lt;/p&gt;</comment>
                            <comment id="143071" author="morrone" created="Fri, 19 Feb 2016 23:06:38 +0000"  >&lt;p&gt;The patch does allow using weak modules with unpatched kernels.  This patch doesn&apos;t care whether the kernel is patched or not; it works with both.  However not all kernels offer identical symbols, so one build of lustre will not magically work with all kernels.&lt;/p&gt;

&lt;p&gt;When &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-684&quot; title=&quot;replace dev_rdonly kernel patch with dm-flakey&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-684&quot;&gt;&lt;del&gt;LU-684&lt;/del&gt;&lt;/a&gt; is done, I believe that we will at last have eliminated the kernel symbol changes that Lustre is currently introducing in the Intel build farm.&lt;/p&gt;</comment>
                            <comment id="144432" author="morrone" created="Wed, 2 Mar 2016 22:14:06 +0000"  >&lt;p&gt;Minh, are you working on splitting apart the yum repos for the dkms and standard lustre builds?&lt;/p&gt;

&lt;p&gt;What else is currently on our list of blockers to getting this ticket done?  Anything we can help with?&lt;/p&gt;</comment>
                            <comment id="144436" author="mdiep" created="Wed, 2 Mar 2016 23:06:06 +0000"  >&lt;p&gt;I am working on moving the inline Require in to a file. will upload a version shortly. I have verified that we do not need the split the repo.&lt;/p&gt;

&lt;p&gt;This is one perhaps minor issue notice above about this error&lt;/p&gt;

&lt;p&gt;find: `/lib/modules/2.6.32-573.12.1.el6_lustre.gb872116.x86_64/extra/lustre-osd-ldiskfs&apos;: No such file or directory&lt;/p&gt;

&lt;p&gt;when installing kmod-lustre-osd-ldiskfs. If you can help with this, this would be great.&lt;/p&gt;</comment>
                            <comment id="144646" author="mdiep" created="Fri, 4 Mar 2016 16:50:34 +0000"  >&lt;p&gt;and when I installed: yum install kmod-lustre-osd-zfs&lt;/p&gt;

&lt;p&gt;I see error like these&lt;/p&gt;

&lt;p&gt;--&amp;gt; Processing Dependency: ksym(arc_add_prune_callback) = 0x5bd5668d for package: kmod-lustre-osd-zfs-2.8.50-2.6.32_431.29.2.el6_lustre.g57d7852.x86_64_g57d7852.x86_64&lt;br/&gt;
--&amp;gt; Processing Dependency: ksym(__cv_broadcast) = 0x1d5ed383 for package: kmod-lustre-osd-zfs-2.8.50-2.6.32_431.29.2.el6_lustre.g57d7852.x86_64_g57d7852.x86_64&lt;br/&gt;
---&amp;gt; Package lustre-osd-zfs-mount.x86_64 0:2.8.50-2.6.32_431.29.2.el6_lustre.g57d7852.x86_64_g57d7852 will be installed&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.50-2.6.32_431.29.2.el6_lustre.g57d7852.x86_64_g57d7852.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(zap_remove) = 0xce8deead&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.50-2.6.32_431.29.2.el6_lustre.g57d7852.x86_64_g57d7852.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(sa_buf_rele) = 0xfb208743&lt;/p&gt;</comment>
                            <comment id="144669" author="morrone" created="Fri, 4 Mar 2016 19:09:32 +0000"  >&lt;p&gt;Is ZFS installed?&lt;/p&gt;</comment>
                            <comment id="144670" author="mdiep" created="Fri, 4 Mar 2016 19:20:09 +0000"  >&lt;p&gt;yes, I installed zfs before that and verified that zfs, spl, kmod-zfs, kmod-spl were on the system&lt;/p&gt;</comment>
                            <comment id="144673" author="morrone" created="Fri, 4 Mar 2016 19:33:36 +0000"  >&lt;p&gt;You are hacking some internal script to get it to make the kernel&apos;s symbol dependencies be named &quot;ksym&quot; instead of &quot;kernel&quot;, right?  Did that hack go too far and change the name for symbols that are in external modules as well?&lt;/p&gt;</comment>
                            <comment id="144692" author="mdiep" created="Fri, 4 Mar 2016 23:48:46 +0000"  >&lt;p&gt;I don&apos;t think so, all we do is edit the scripts to use the build path, not /usr/src/...&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;    cp $RPM_HELPERS_DIR/{symset-table,find-requires{,.ksyms}} .                 
    FIND_REQUIRES=&lt;span class=&quot;code-quote&quot;&gt;&quot;$(pwd)/find-requires&quot;&lt;/span&gt;                                        
    chmod 755 {symset-table,find-requires{,.ksyms}}                             
    local tmp=&lt;span class=&quot;code-quote&quot;&gt;&quot;$(pwd)&quot;&lt;/span&gt;                                                          
    tmp=&lt;span class=&quot;code-quote&quot;&gt;&quot;${tmp&lt;span class=&quot;code-comment&quot;&gt;//\//\\/}&quot;&lt;/span&gt;                                                        
&lt;/span&gt;    ed find-requires &amp;lt;&amp;lt;EOF                                                      
1a                                                                              
set -x                                                                          
.                                                                               
/|.*find-requires.ksyms/s/|/| bash -x/                                          
g/ [^ ]*\/\(find-requires\.ksyms\)/s&lt;span class=&quot;code-comment&quot;&gt;// $tmp\/\1/g                               
&lt;/span&gt;wq                                                                              
EOF                                                                             
    ed find-requires.ksyms &amp;lt;&amp;lt;EOF                                                
1a                                                                              
set -x                                                                          
.                                                                               
g/\/.*\/\(symset-table\)/s&lt;span class=&quot;code-comment&quot;&gt;//$tmp\/\1/g                                          
&lt;/span&gt;g/\(\/usr\/src\/kernels\/\)/s&lt;span class=&quot;code-comment&quot;&gt;//$tmp\/reused\1/g                                 
&lt;/span&gt;wq                                                                              
EOF                                                                             
    ed symset-table &amp;lt;&amp;lt;EOF                                                       
1a                                                                              
set -x                                                                          
.                                                                               
g/\(\/boot\/\)/s&lt;span class=&quot;code-comment&quot;&gt;//$tmp\/reused\1/g                                              
&lt;/span&gt;g/\(\/usr\/src\/kernels\/\)/s&lt;span class=&quot;code-comment&quot;&gt;//$tmp\/reused\1/g                                 
&lt;/span&gt;wq                                                                              
EOF     

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt; </comment>
                            <comment id="149326" author="simmonsja" created="Mon, 18 Apr 2016 20:35:34 +0000"  >&lt;p&gt;I saw a refresh of this patch. Does this mean the issues of the Intel build farm have been resolved?&lt;/p&gt;</comment>
                            <comment id="149332" author="morrone" created="Mon, 18 Apr 2016 20:59:51 +0000"  >&lt;p&gt;There were just a large number of conflicts piling up so I did a refresh.  No other changes, so any outstanding problems are probably still there.&lt;/p&gt;</comment>
                            <comment id="149865" author="mdiep" created="Fri, 22 Apr 2016 16:52:57 +0000"  >&lt;p&gt;somehow build 38351 did not produce any kmod-lustre rpm&lt;/p&gt;</comment>
                            <comment id="149890" author="morrone" created="Fri, 22 Apr 2016 18:26:36 +0000"  >&lt;p&gt;Could you be more specific?  It looks to like the the rhel7 builder for build 38351 produced kmode-lustre rpms:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/kmod-lustre-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/kmod-lustre-osd-ldiskfs-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-osd-ldiskfs-mount-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/kmod-lustre-osd-zfs-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-osd-zfs-mount-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-source-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-tests-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/kmod-lustre-tests-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-iokit-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
Wrote: /tmp/rpmbuild-lustre-jenkins-xBBcs7qm/RPMS/x86_64/lustre-debuginfo-2.8.51_36_g4782472-3.10.0_327.13.1.el7_lustre.x86_64.x86_64.rpm
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="149891" author="morrone" created="Fri, 22 Apr 2016 18:32:28 +0000"  >&lt;p&gt;Oh, they were produced, but it looks like lbuild failed to copy them?  Hmm, did I drop some change from lbuild in the rebase?  I&apos;ll look into that.&lt;/p&gt;</comment>
                            <comment id="149893" author="morrone" created="Fri, 22 Apr 2016 18:42:26 +0000"  >&lt;p&gt;Oh, whew, I didn&apos;t change anything by accident.  But the &quot;&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; lbuild: use &quot;make rpms&quot; for building Lustre RPM&quot; made an unfortunate lbuild change that we now have to deal with.  I&apos;ll refresh the patch some time today to address that.&lt;/p&gt;</comment>
                            <comment id="150082" author="morrone" created="Mon, 25 Apr 2016 18:42:15 +0000"  >&lt;p&gt;It looks like patch set 30 dealt with the &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; change just fine.&lt;/p&gt;

&lt;p&gt;But testing is all failing.&lt;/p&gt;</comment>
                            <comment id="150397" author="morrone" created="Wed, 27 Apr 2016 18:08:18 +0000"  >&lt;p&gt;Minh, it looks like there are problems at package installation time.  In one of the logs named &quot;node-provisioning-1.node-provisioning_1.autotest.trevis-38vm1.log&quot; I am seeing the following failure:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;03:36:43:Attempt 3
03:36:44:yum install output:
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
No package lustre-osd-ldiskfs available.
Error: Nothing to do
03:36:44:Yum install was unsuccessful.
03:36:44:Exhausted installation attempts of package lustre-osd-ldiskfs.
03:36:44:File system install complete.
03:36:44:after_prepare_nodes complete for trevis-38vm3
03:36:44:Preparing nodes complete!
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;First of all, the scripts are failing to detect the failure of the installation process.  The provisioning step is declared a success even though it it failing.&lt;/p&gt;

&lt;p&gt;Next, the scripts appear to be trying to install lustre-osd-ldiskfs which is not a valid package name under this patch.  We probably need to update the build farm scripts to understand the new package names.&lt;/p&gt;</comment>
                            <comment id="150407" author="mdiep" created="Wed, 27 Apr 2016 19:34:51 +0000"  >&lt;p&gt;got it. I&apos;ll check it out&lt;/p&gt;</comment>
                            <comment id="150585" author="mdiep" created="Fri, 29 Apr 2016 16:12:39 +0000"  >&lt;p&gt;actually the error was&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
Error: Package: kmod-lustre-osd-ldiskfs-2.8.52_37_g9d5323c-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(kill_block_super) = 0x0f72d0ce&lt;br/&gt;
Error: Package: kmod-lustre-osd-ldiskfs-2.8.52_37_g9d5323c-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(jbd2_journal_destroy) = 0xb5132dfa&lt;/p&gt;</comment>
                            <comment id="150650" author="mdiep" created="Sat, 30 Apr 2016 14:49:14 +0000"  >&lt;p&gt;we need to rebase due to a bug in &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>
                            <comment id="150797" author="mdiep" created="Tue, 3 May 2016 01:32:52 +0000"  >&lt;p&gt;with the latest build yum install kmod-lustre-osd-zfs still failed dependencies. I have install zfs, kmod-zfs, spl, ...&lt;/p&gt;

&lt;p&gt;---&amp;gt; Package lustre-osd-zfs-mount.x86_64 0:2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64 will be installed&lt;br/&gt;
--&amp;gt; Finished Dependency Resolution&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(dmu_objset_disown) = 0xde76f7a7&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(sa_lookup) = 0x9fec99c4&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(spa_writeable) = 0xd3eb11e1&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;br/&gt;
           Requires: ksym(zap_add_uint64) = 0xfe7bbafd&lt;br/&gt;
Error: Package: kmod-lustre-osd-zfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64 (lustre-build)&lt;/p&gt;


&lt;p&gt;here is what I have on the node&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@trevis-28vm2 yum.repos.d&amp;#93;&lt;/span&gt;# rpm -qa | grep lustre&lt;br/&gt;
lustre-osd-ldiskfs-mount-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
lustre-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
kernel-headers-2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
kmod-lustre-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
kmod-lustre-osd-ldiskfs-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
lustre-tests-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
kmod-spl-2.6.32-573.22.1.el6_lustre.x86_64-0.6.4.2-1.el6.x86_64&lt;br/&gt;
kmod-zfs-2.6.32-573.22.1.el6_lustre.x86_64-0.6.4.2-1.el6.x86_64&lt;br/&gt;
kernel-2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
kernel-devel-2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
lustre-iokit-2.8.52_45_gbef8586-2.6.32_573.22.1.el6_lustre.x86_64.x86_64&lt;br/&gt;
kernel-firmware-2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@trevis-28vm2 yum.repos.d&amp;#93;&lt;/span&gt;# &lt;/p&gt;</comment>
                            <comment id="150798" author="morrone" created="Tue, 3 May 2016 02:04:06 +0000"  >&lt;p&gt;OK, so find the rpm for the kmod-zfs-2.6.32-573.22.1.el6_lustre.x86_64-0.6.4.2-1.el6.x86_64 packge.  Run this command on it:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;rpm -qp --provides &amp;lt;rpm file name&amp;gt; | grep dmu_objset_disown&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;What symbol version does it say that dmu_objest_disown has in that package?&lt;/p&gt;

&lt;p&gt;If it is anything other than &quot;0xde76f7a7&quot;, that will explain why you are getting this error.  If the line matches, then we&apos;ll move on to other problems.&lt;/p&gt;</comment>
                            <comment id="150846" author="mdiep" created="Tue, 3 May 2016 15:46:58 +0000"  >&lt;p&gt;right, that&apos;s the issue. kmod-zfs doesn&apos;t provide any symbol.&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;rpm -qp --provides ./kmod-zfs-2.6.32-573.22.1.el6_lustre.x86_64-0.6.4.2-1.el6.x86_64.rpm&lt;br/&gt;
kernel-modules-for-kernel = 2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
kmod-zfs-uname-r = 2.6.32-573.22.1.el6_lustre.x86_64&lt;br/&gt;
zfs-kmod = 0.6.4.2-1.el6&lt;br/&gt;
kmod-zfs-2.6.32-573.22.1.el6_lustre.x86_64 = 0.6.4.2-1.el6&lt;br/&gt;
kmod-zfs-2.6.32-573.22.1.el6_lustre.x86_64(x86-64) = 0.6.4.2-1.el6&lt;/li&gt;
&lt;/ol&gt;

</comment>
                            <comment id="150867" author="morrone" created="Tue, 3 May 2016 17:59:40 +0000"  >&lt;p&gt;Great!  That seems like the next Intel buildfarm problem that you need to tackle.&lt;/p&gt;

&lt;p&gt;Let me know if I can help in any way.&lt;/p&gt;</comment>
                            <comment id="150870" author="mdiep" created="Tue, 3 May 2016 18:24:16 +0000"  >&lt;p&gt;I look at &lt;a href=&quot;http://zfsonlinux.org/generic-rpm.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://zfsonlinux.org/generic-rpm.html&lt;/a&gt; and notice the steps to build zfs mod as below&lt;/p&gt;

&lt;p&gt;$ cd spl-x.y.z&lt;br/&gt;
$ ./configure&lt;br/&gt;
$ make rpm-utils rpm-kmod&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;Install the spl packages, they are required to build zfs.&lt;br/&gt;
$ sudo yum localinstall \&lt;br/&gt;
	kmod-spl-devel-x.y.z-r.dist.arch.rpm \&lt;br/&gt;
	kmod-spl-devel-kernel-x.y.z-r.dist.arch.rpm \&lt;br/&gt;
	kmod-spl-kernel-x.y.z-r.dist.arch.rpm \&lt;br/&gt;
	spl-x.y.z-r.dist.arch.rpm&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;$ cd ../zfs-x.y.z&lt;br/&gt;
$ ./configure&lt;br/&gt;
$ make rpm-utils rpm-mod&lt;/p&gt;

&lt;p&gt;and we are using rpm build. I&apos;ll start there&lt;/p&gt;</comment>
                            <comment id="150913" author="mdiep" created="Tue, 3 May 2016 22:30:19 +0000"  >&lt;p&gt;Chris, I have repeated the build manually, (ie not using lbuild) and it still failed the dependency. I don&apos;t think this is lbuild issue but building kmod-lustre-osd-zfs with kmod-zfs issue&lt;/p&gt;</comment>
                            <comment id="150916" author="morrone" created="Tue, 3 May 2016 23:01:32 +0000"  >&lt;p&gt;You are saying that the kmod-zfs package has no ksym symbols under the Provides even when you build it yourself?&lt;/p&gt;

&lt;p&gt;Alright, can you step me through the details of how you built zfs manually?&lt;/p&gt;</comment>
                            <comment id="150943" author="mdiep" created="Wed, 4 May 2016 03:55:48 +0000"  >&lt;p&gt;here are the steps&lt;/p&gt;

&lt;p&gt; wget &lt;a href=&quot;http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.4.2.tar.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.4.2.tar.gz&lt;/a&gt;&lt;br/&gt;
 wget &lt;a href=&quot;http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.4.2.tar.gz&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.4.2.tar.gz&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;tar zxvf spl-0.6.4.2.tar.gz &lt;br/&gt;
 cd spl-0.6.4.2&lt;/p&gt;

&lt;p&gt; ./autogen.sh &lt;br/&gt;
./configure&lt;br/&gt;
 make rpm-utils rpm-kmod&lt;/p&gt;

&lt;p&gt;install all spl rpm&lt;/p&gt;

&lt;p&gt;tar zxvf zfs-0.6.4.2.tar.gz &lt;br/&gt;
 cd zfs-0.6.4.2&lt;/p&gt;

&lt;p&gt; ./autogen.sh &lt;br/&gt;
 ./configure&lt;br/&gt;
 make rpm-utils rpm-kmod&lt;/p&gt;

&lt;p&gt;then clone and checkout the patch&lt;br/&gt;
sh autogen.sh &lt;br/&gt;
  ./configure --with-zfs=/usr/src/zfs-0.6.4.2/ --with-spl=/usr/src/spl-0.6.4.2/ --without-ldiskfs&lt;br/&gt;
make rpm&lt;/p&gt;</comment>
                            <comment id="150977" author="morrone" created="Wed, 4 May 2016 15:01:54 +0000"  >&lt;p&gt;What distro is that on?  What kernel version?&lt;/p&gt;

&lt;p&gt;What is the output of &quot;rpm -qp --provides&quot; for the kmod-zfs package that results?&lt;/p&gt;</comment>
                            <comment id="150990" author="mdiep" created="Wed, 4 May 2016 15:27:49 +0000"  >&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 lustre-release&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-21vm4.onyx.hpdd.intel.com 2.6.32-573.22.1.el6.x86_64 #1 SMP Wed Mar 23 03:35:39 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 lustre-release&amp;#93;&lt;/span&gt;# &lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 zfs-0.6.4.2&amp;#93;&lt;/span&gt;# rpm -qp --provides kmod-zfs-2.6.32-573.22.1.el6.x86_64-0.6.4.2-1.el6.x86_64.rpm &lt;br/&gt;
kernel-modules-for-kernel = 2.6.32-573.22.1.el6.x86_64&lt;br/&gt;
kmod-zfs-uname-r = 2.6.32-573.22.1.el6.x86_64&lt;br/&gt;
zfs-kmod = 0.6.4.2-1.el6&lt;br/&gt;
kmod-zfs-2.6.32-573.22.1.el6.x86_64 = 0.6.4.2-1.el6&lt;br/&gt;
kmod-zfs-2.6.32-573.22.1.el6.x86_64(x86-64) = 0.6.4.2-1.el6&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm4 zfs-0.6.4.2&amp;#93;&lt;/span&gt;# &lt;/p&gt;</comment>
                            <comment id="151276" author="morrone" created="Fri, 6 May 2016 01:06:47 +0000"  >&lt;p&gt;Minh, you are going to want to add the configure option &quot;--with-spec=redhat&quot; when building both spl and zfs for the centos/rhel systems.  That will get you the packages with the needed symbol dependencies.&lt;/p&gt;</comment>
                            <comment id="151278" author="morrone" created="Fri, 6 May 2016 02:28:47 +0000"  >&lt;p&gt;During my investigation of the previous package installation problem, I found another problem.  Take a look at the postinstall script from the kmod-lustre-osd-zfs package generated under RHEL6.7:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;postinstall scriptlet (using /bin/sh):
if [ -e &quot;/boot/System.map-2.6.32-573.26.1.el6.x86_64&quot; ]; then
    /sbin/depmod -aeF &quot;/boot/System.map-2.6.32-573.26.1.el6.x86_64&quot; &quot;2.6.32-573.26.1.el6.x86_64&quot; &amp;gt; /dev/null || :
fi

modules=( $(find /lib/modules/2.6.32-573.26.1.el6.x86_64/extra/lustre-osd-zfs | grep &apos;\.ko$&apos;) )
if [ -x &quot;/sbin/weak-modules&quot; ]; then
    printf &apos;%s\n&apos; &quot;${modules[@]}&quot;     | /sbin/weak-modules --add-modules
fi
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note the path for the find command.  It is looking in /lib/modules/2.6.32-573.26.1.el6.x86_64/extra/lustre-osd-zfs for the module, but that directory doesn&apos;t exist.&lt;/p&gt;

&lt;p&gt;I think that the simplest solution would probably just to make those subdirectories and move the modules in the %install section of the spec file.  I&apos;ll give that a try.&lt;/p&gt;
</comment>
                            <comment id="151558" author="morrone" created="Mon, 9 May 2016 21:22:29 +0000"  >&lt;p&gt;FYI, I am about to push another update to the patch adding a couple of more Obsoletes entries.&lt;/p&gt;</comment>
                            <comment id="151560" author="mdiep" created="Mon, 9 May 2016 21:38:16 +0000"  >&lt;p&gt;Chris, have you (or anyone) tried to install kmod-lustre-osd-zfs from your own build?&lt;/p&gt;</comment>
                            <comment id="151561" author="morrone" created="Mon, 9 May 2016 21:41:14 +0000"  >&lt;p&gt;OK, patch set 38 addresses every issue that I know about in the patch.  I tested it through package installation on a RHEL6.7 VM, and all went well.  The dependencies on the zfs package all matched up, and the symlinks from all of the modules looked like they were created correctly, even for the osd modules (that wasn&apos;t working on RHEL until one of my updates last week).&lt;/p&gt;

&lt;p&gt;This &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; patch together with the patch from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7643&quot; title=&quot;Remove kernel version string from Lustre release field&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7643&quot;&gt;&lt;del&gt;LU-7643&lt;/del&gt;&lt;/a&gt; are already allowing Lustre to build cleanly under LLNL&apos;s local koji build farm.  That is a really nice improvement.&lt;/p&gt;

&lt;p&gt;The only problem that I know of now is that we need to get a version of ZFS built in Intel&apos;s build far that lists all of the provided symbols in the package Provides: section.  We know one way to fix that (add --with-spec=redhat to the configure line on RHEL-like systems).&lt;/p&gt;

&lt;p&gt;Barring undiscovered issues, I think the patch is pretty darn close to complete.&lt;/p&gt;</comment>
                            <comment id="151563" author="mdiep" created="Mon, 9 May 2016 21:48:36 +0000"  >&lt;p&gt;that&apos;s great news!&lt;br/&gt;
I am curious as to why zfs configure script does not detect RHEL-like systems but have to manually specified by users&lt;/p&gt;</comment>
                            <comment id="151852" author="mdiep" created="Wed, 11 May 2016 14:25:11 +0000"  >&lt;p&gt;Chris, I noticed when we use &apos;generic&apos; spec, we produced two kmod-spl-devel&lt;/p&gt;

&lt;p&gt;kmod-spl-devel-0.6.4.2-1.el6.x86_64.rpm&lt;br/&gt;
kmod-spl-devel-2.6.32-573.22.1.el6.x86_64-0.6.4.2-1.el6.x86_64.rpm&lt;/p&gt;

&lt;p&gt;but on &apos;redhat&apos; spec, we only have one&lt;/p&gt;

&lt;p&gt;kmod-spl-devel-0.6.4.2-1.el6.x86_64.rpm&lt;/p&gt;
</comment>
                            <comment id="151922" author="morrone" created="Wed, 11 May 2016 20:34:52 +0000"  >&lt;p&gt;I don&apos;t think there is anything to be concerned about there.&lt;/p&gt;</comment>
                            <comment id="151934" author="mdiep" created="Wed, 11 May 2016 21:38:43 +0000"  >&lt;p&gt;is kmod-spl-devel-0.6.4.2-1.el6.x86_64.rpm the same between the &apos;generic&apos; and &apos;redhat&apos; spec?&lt;/p&gt;</comment>
                            <comment id="151940" author="morrone" created="Wed, 11 May 2016 21:57:40 +0000"  >&lt;p&gt;You can always rpm -qpl the package to find out.  My guess is that there are differences in the contents.  Why is this an issue?&lt;/p&gt;</comment>
                            <comment id="152566" author="mdiep" created="Tue, 17 May 2016 16:10:33 +0000"  >&lt;p&gt;I am still looking into this. the &apos;redhat&apos; spec is building against the builder&apos;s kernel, not the one we want for lustre.&lt;/p&gt;</comment>
                            <comment id="152745" author="mdiep" created="Wed, 18 May 2016 19:30:07 +0000"  >&lt;p&gt;Chris, it seems to me that redhat/*-kmod.spec does not allow to build any kernel other than the one in /usr/src&lt;/p&gt;

&lt;p&gt;%define ksrc %{_usrsrc}/kernels/%&lt;/p&gt;
{kverrel}

&lt;p&gt;in order to use it for lustre, we need to install lustre kernel onto the builder after we patched the kernel.&lt;/p&gt;

&lt;p&gt;any advice?&lt;/p&gt;</comment>
                            <comment id="152754" author="brian" created="Wed, 18 May 2016 20:23:46 +0000"  >&lt;blockquote&gt;
&lt;p&gt;%define ksrc %{_usrsrc}/kernels/%&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;You should be able to override the %{_usrsrc}} variable (either at the build invocation time, or in &lt;tt&gt;~/.rpmmacros&lt;/tt&gt;) value to point at where you unpacked your kernel no?&lt;/p&gt;</comment>
                            <comment id="152757" author="morrone" created="Wed, 18 May 2016 20:51:15 +0000"  >&lt;p&gt;Yeah, getting the Intel buildfarm to do things normally (actually install the packages that are BuildRequires of lustre) is probably not going to happen any time soon.  So in the mean time we are probably stuck with various variable overrides.&lt;/p&gt;

&lt;p&gt;I don&apos;t think that overriding _usrsrc will work on its own because the zfs &quot;redhat&quot; zfs-kmod.spec file uses %kernel_module_package, and that will always look instead for a properly installed kernel.  That can be overriden, but that will take modifications to the zfs-kmod.spec script.  I am none too certain that the zfs community is going to accept patches that dirty up their spec file for a completely non standard build environment.&lt;/p&gt;

&lt;p&gt;So maybe we should go back to the &quot;generic&quot; zfs-kmod.spec file.  The &quot;generic&quot; spec file is kmods 2 based and designed to work well in build environments like rpmfusion.  It sounds like that spec file was easier to build in the Intel buildfarm.  The problem with those packages is that they were failing to list Provides for the provided kernel symbols.  I verified that issue on a clean RHEL6.7 image.  The zfs community is going to be alot more receptive to allowing a change to add those Provides.&lt;/p&gt;

&lt;p&gt;So I think we should put some effort into figuring out how to add the kernel symbol Provides to the &lt;em&gt;generic&lt;/em&gt; zfs spec files.&lt;/p&gt;</comment>
                            <comment id="152763" author="mdiep" created="Wed, 18 May 2016 21:22:25 +0000"  >&lt;p&gt;yes, I am able to build spl with spl-kmod.spec modified; only a few lines like below&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;31,34d30
&amp;lt; %&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; !%{defined kernels}
&amp;lt; %define kernels %{kverrel}
&amp;lt; %endif
&amp;lt; 
37d32
&amp;lt; %&lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; !%{defined ksrc}
39d33
&amp;lt; %endif
51d44
&amp;lt; 
104c97
&amp;lt; %{__rm} -f %{buildroot}/lib/modules/%{kernels}/modules.*
---
&amp;gt; %{__rm} -f %{buildroot}/lib/modules/%{kverrel}/modules.*
106c99
&amp;lt; %{__chmod} u+x  %{buildroot}/lib/modules/%{kernels}/extra&lt;span class=&quot;code-comment&quot;&gt;/*/*/&lt;/span&gt;*
---
&amp;gt; %{__chmod} u+x  %{buildroot}/lib/modules/%{kverrel}/extra&lt;span class=&quot;code-comment&quot;&gt;/*/*/&lt;/span&gt;*
112d104
&amp;lt; /lib/modules/%{kernels}/extra&lt;span class=&quot;code-comment&quot;&gt;/*/*/&lt;/span&gt;*
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If you think zfs community won&apos;t allow such change for flexibility, then I will pursue the &apos;generic&apos; spec&lt;/p&gt;</comment>
                            <comment id="152767" author="morrone" created="Wed, 18 May 2016 21:41:58 +0000"  >&lt;p&gt;Just a quick tip: always use unified diff format: &quot;diff -u&quot;.  A decent set of standard options would be &quot;diff -uNp&quot;.  Better yet, use git.  The &quot;git diff&quot; command does the right thing by default.  &lt;/p&gt;</comment>
                            <comment id="153189" author="mdiep" created="Mon, 23 May 2016 14:22:23 +0000"  >&lt;p&gt;update: latest version with --define &quot;_use_internal_dependency_generator 0&quot; added worked!!&lt;br/&gt;
I have verified osd-zfs loaded with kmod-zfs and lustre mounted on the server. client can move to later kernel without problem.&lt;br/&gt;
I am proceeding to investigate why maloo failed&lt;/p&gt;</comment>
                            <comment id="153258" author="mdiep" created="Mon, 23 May 2016 20:31:40 +0000"  >&lt;p&gt;Chris, I want to review the packages and provides; just to make sure&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm7 build_type-server_distro-el6.7_arch-x86_64_ib_stack-inkernel&amp;#93;&lt;/span&gt;# rpm -qp --provides lustre-dkms-2.8.52_70_g3660338-1.el6.noarch.rpm &lt;br/&gt;
lustre-kmod = 2.8.52_70_g3660338&lt;br/&gt;
lustre-modules = 2.8.52_70_g3660338&lt;br/&gt;
lustre-osd  &lt;br/&gt;
lustre-osd-zfs = 2.8.52_70_g3660338&lt;br/&gt;
lustre-dkms = 2.8.52_70_g3660338-1.el6&lt;/p&gt;

&lt;p&gt;should lustre-dkms also provides lustre-osd-ldiskfs?&lt;/p&gt;
</comment>
                            <comment id="153261" author="morrone" created="Mon, 23 May 2016 20:46:34 +0000"  >&lt;p&gt;I have never reviewed what they did in the dkms packaging.&lt;/p&gt;</comment>
                            <comment id="153278" author="mdiep" created="Mon, 23 May 2016 22:37:14 +0000"  >&lt;p&gt;I am investigating an sles12sp1 build failure that could be from this patch&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://build.hpdd.intel.com/job/lustre-reviews/39104/arch=x86_64,build_type=server,distro=sles12,ib_stack=inkernel/consoleText&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://build.hpdd.intel.com/job/lustre-reviews/39104/arch=x86_64,build_type=server,distro=sles12,ib_stack=inkernel/consoleText&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;d4d54bfba3e5f20ab369aa69b0f9b6dcfab1cdce debuginfo(build-id) = d8c98b864c6e0ac2360a32da503bd15d7cbbc263 debuginfo(build-id) = da62063a63187395fb3c9b3aae6e3541ed005684 debuginfo(build-id) = da697fd1e5187bf2f6ddc0dc1528c9050b51f08d debuginfo(build-id) = e46c8a226902868165db3894ee0450d05be00325 debuginfo(build-id) = f6cfd424f753677f8f61b05c6326af88cdafc5da debuginfo(build-id) = f8134d77ab4d46f6c4cd994efab8518e9e8b8372 lustre-tests-debuginfo = 2.8.53_27_ga8b7e8c-3.12.57_60.35_lustre_default lustre-tests-debuginfo(x86-64) = 2.8.53_27_ga8b7e8c-3.12.57_60.35_lustre_default&lt;br/&gt;
Requires(rpmlib): rpmlib(CompressedFileNames) &amp;lt;= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) &amp;lt;= 4.0-1&lt;br/&gt;
Checking for unpackaged file(s): /usr/lib/rpm/check-files /tmp/rpmbuild-lustre--lud8gVUp/BUILDROOT/lustre-2.8.53_27_ga8b7e8c-1.x86_64&lt;br/&gt;
error: Installed (but unpackaged) file(s) found:&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre-osd-ldiskfs/fs/ldiskfs.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre-osd-ldiskfs/fs/osd_ldiskfs.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre-tests/fs/llog_test.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre/fs/fid.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre/fs/fld.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre/fs/lfsck.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre/fs/llite_lloop.ko&lt;br/&gt;
   /lib/modules/3.12.57-60.35_lustre-default/extra/lustre/fs/lmv.ko&lt;/p&gt;</comment>
                            <comment id="153875" author="morrone" created="Fri, 27 May 2016 20:45:55 +0000"  >&lt;p&gt;It looks like there were problems with node provisioning step in the most recent revision of the patch.  Are you working on a solution for that too?&lt;/p&gt;</comment>
                            <comment id="153877" author="mdiep" created="Fri, 27 May 2016 20:48:14 +0000"  >&lt;p&gt;Yes, I am. I will make sure this patch get tested&lt;/p&gt;</comment>
                            <comment id="153946" author="mdiep" created="Sun, 29 May 2016 17:02:05 +0000"  >&lt;p&gt;the latest issue is on zfs el7, can&apos;t load osd-zfs&lt;/p&gt;

&lt;p&gt;May 29 08:04:34 onyx-42vm3 mrshd&lt;span class=&quot;error&quot;&gt;&amp;#91;7705&amp;#93;&lt;/span&gt;: root@onyx-42vm5.onyx.hpdd.intel.com as root: cmd=&apos;(PATH=$PATH:/usr/lib64/lustre/utils:/usr/lib64/lustre/tests:/sbin:/usr/sbin; cd /usr/lib64/lustre/tests; LUSTRE=&quot;/usr/lib64/lustre&quot; sh -c &quot;mkdir -p /mnt/mds1; mount -t lustre   #011#011                   lustre-mdt1/mdt1 /mnt/mds1&quot;);echo XXRETCODE:$?&apos;&lt;br/&gt;
May 29 08:04:37 onyx-42vm3 kernel: LNet: HW CPU cores: 2, npartitions: 1&lt;br/&gt;
May 29 08:04:37 onyx-42vm3 kernel: alg: No test for adler32 (adler32-zlib)&lt;br/&gt;
May 29 08:04:37 onyx-42vm3 kernel: alg: No test for crc32 (crc32-table)&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: Lustre: Lustre: Build Version: 2.8.53_28_g7808b96&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 158-c: Can&apos;t load module &apos;osd-zfs&apos;&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 7740:0:(genops.c:318:class_newdev()) OBD: unknown type: osd-zfs&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 7740:0:(obd_config.c:370:class_attach()) Cannot create device lustre-MDT0000-osd of type osd-zfs : -19&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 7740:0:(obd_mount.c:198:lustre_start_simple()) lustre-MDT0000-osd attach error -19&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 7740:0:(obd_mount_server.c:1809:server_fill_super()) Unable to start osd on lustre-mdt1/mdt1: -19&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 kernel: LustreError: 7740:0:(obd_mount.c:1450:lustre_fill_super()) Unable to mount  (-19)&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 xinetd&lt;span class=&quot;error&quot;&gt;&amp;#91;915&amp;#93;&lt;/span&gt;: EXIT: mshell status=0 pid=7704 duration=12(sec)&lt;br/&gt;
May 29 08:04:46 onyx-42vm3 systemd-logind: Removed session c35.&lt;/p&gt;

&lt;p&gt;I have checked manually with el6.7 but not el7. I&apos;ll check on el7&lt;/p&gt;</comment>
                            <comment id="154237" author="mdiep" created="Wed, 1 Jun 2016 14:20:19 +0000"  >&lt;p&gt;the reason is on el7, somehow another &apos;x86_64&apos; string was added in the path&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;D: %post(kmod-lustre-osd-zfs-2.8.53_28_g7808b96-3.10.0_327.13.1.el7_lustre.x86_64.x86_64): scriptlet start
D: %post(kmod-lustre-osd-zfs-2.8.53_28_g7808b96-3.10.0_327.13.1.el7_lustre.x86_64.x86_64): execv(/bin/sh) pid 25714
+ &lt;span class=&quot;code-quote&quot;&gt;&apos;[&apos;&lt;/span&gt; -e /boot/&lt;span class=&quot;code-object&quot;&gt;System&lt;/span&gt;.map-3.10.0-327.13.1.el7_lustre.x86_64.x86_64.x86_64 &lt;span class=&quot;code-quote&quot;&gt;&apos;]&apos;&lt;/span&gt;
+ modules=($(find /lib/modules/3.10.0-327.13.1.el7_lustre.x86_64.x86_64.x86_64/extra/lustre-osd-zfs | grep &lt;span class=&quot;code-quote&quot;&gt;&apos;\.ko$&apos;&lt;/span&gt;))
++ grep &lt;span class=&quot;code-quote&quot;&gt;&apos;\.ko$&apos;&lt;/span&gt;
++ find /lib/modules/3.10.0-327.13.1.el7_lustre.x86_64.x86_64.x86_64/extra/lustre-osd-zfs
find: &#8216;/lib/modules/3.10.0-327.13.1.el7_lustre.x86_64.x86_64.x86_64/extra/lustre-osd-zfs&#8217;: No such file or directory
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="154304" author="morrone" created="Wed, 1 Jun 2016 18:42:56 +0000"  >&lt;p&gt;Can you please provide a pointer to the failed test in maloo?&lt;/p&gt;</comment>
                            <comment id="154318" author="mdiep" created="Wed, 1 Jun 2016 19:15:21 +0000"  >&lt;p&gt;actually I had to run rpm manually to get that error message. I thought your patch from &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7643&quot; title=&quot;Remove kernel version string from Lustre release field&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7643&quot;&gt;&lt;del&gt;LU-7643&lt;/del&gt;&lt;/a&gt; would solve it but it still failed&lt;/p&gt;</comment>
                            <comment id="154324" author="mdiep" created="Wed, 1 Jun 2016 20:36:14 +0000"  >&lt;p&gt;I wonder if this is related to kmodtool. I think zfs/spl is using a later version than the one provided with the distro. should lustre do the same?&lt;/p&gt;</comment>
                            <comment id="154339" author="morrone" created="Wed, 1 Jun 2016 22:34:33 +0000"  >&lt;p&gt;It does not surprise me that &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-7643&quot; title=&quot;Remove kernel version string from Lustre release field&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-7643&quot;&gt;&lt;del&gt;LU-7643&lt;/del&gt;&lt;/a&gt; does not help.&lt;/p&gt;

&lt;p&gt;With a stock rhel7.2 kernel with zfs, and I cannot reproduce this problem.  So I am guessing that this is another Intel build system problem.&lt;/p&gt;

&lt;p&gt;I think the  first thing I would try is adding a %{warn} statement to the line after &quot;%{!?kernel_version: %global kernel_version %kversion}&quot; in the lustre spec file to print out the value of %kernel_version.  That warn statement might show the weird value right there, and then you can work backward from that to find where it originates.&lt;/p&gt;</comment>
                            <comment id="154494" author="mdiep" created="Thu, 2 Jun 2016 18:01:36 +0000"  >&lt;p&gt;yeah, so the kernel_version print out is &quot;3.10.0-327.18.2.el7.x86_64&quot;&lt;br/&gt;
This sounds like we need to build lustre kmod using kmods 2 (similar to spl/zfs using generic spec)&lt;/p&gt;</comment>
                            <comment id="154505" author="morrone" created="Thu, 2 Jun 2016 18:28:51 +0000"  >&lt;p&gt;I think it is too early to give up on this approach.  Lets keep digging.&lt;/p&gt;</comment>
                            <comment id="154515" author="morrone" created="Thu, 2 Jun 2016 21:10:49 +0000"  >&lt;p&gt;On RHEL7, /usr/lib/rpm/redhat/kmodtool has the following function:&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;get_kernel_release ()
{
  &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; [[ -z $1 ]]; then
    uname -r
    &lt;span class=&quot;code-keyword&quot;&gt;return&lt;/span&gt;
  fi
  local arch=$(arch)
  local verrel=${1%.$arch}
  local verprefix=${verrel%.*}
  local versuffix=${verrel#$verprefix}
  verrel=$(ls -Ud /usr/src/kernels/$verprefix*$versuffix.$arch | sort -V | tail -n 1)
  verrel=${verrel##*/}
  [[ -z $verrel ]] &amp;amp;&amp;amp; verrel=$1.$arch
  echo &lt;span class=&quot;code-quote&quot;&gt;&quot;$verrel&quot;&lt;/span&gt;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;This is no doubt where the problem arises for lbuild on rhel7.  lbuild, as we all know, employees a very non-standard build environment.  Since the kernel is not in the correct location during packaging, this function is falling back to setting verrel to &quot;$1.$arch&quot;.  That is almost certainly where that extra &quot;.x86_64&quot; is coming from, but only under lbuild on rhel7.&lt;/p&gt;

&lt;p&gt;The trick here will be to come up with more hackery for lbuild that allows the lustre.spec file to remain relatively clean for proper build environments.&lt;/p&gt;</comment>
                            <comment id="154516" author="morrone" created="Thu, 2 Jun 2016 21:12:02 +0000"  >&lt;p&gt;Meanwhile, Minh, do you have a plan to fix the Intel buildfarm to install the correct packages when this patch is in use?  The node provisioning step still seems to always install the old packages, which winds up pulling in part kmod and part dkms packages.&lt;/p&gt;</comment>
                            <comment id="154524" author="mdiep" created="Thu, 2 Jun 2016 23:55:17 +0000"  >&lt;p&gt;Chris, actually I have fixed the one under Onyx cluster. We are rolling out to the rest of the clusters. I checked and the installation has worked on Onyx. Unfortunately, most of the testing went to Trevis cluster in the last few days (week) due to Onyx being loaded with master testing.&lt;/p&gt;</comment>
                            <comment id="154691" author="morrone" created="Mon, 6 Jun 2016 01:23:33 +0000"  >&lt;p&gt;OK, great.  If you have that figured out, then we could be in good shape.&lt;/p&gt;

&lt;p&gt;I believe that I have hacked around lbuild&apos;s latest problem on RHEL7.  I tested my hack in &lt;a href=&quot;http://review.whamcloud.com/20572&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/20572&lt;/a&gt;, and it seemed to work.  No triple &quot;.x86_64&quot; in the scripts, and it passed testing...but that was on trevis.  I don&apos;t know why it passed there despite failing ldiskfs package installation.  Very strange.&lt;/p&gt;

&lt;p&gt;I squashed my work-around into Patch Set 44 of this ticket&apos;s patch, &lt;a href=&quot;http://review.whamcloud.com/12063&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/12063&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Are there any other known problems?&lt;/p&gt;
</comment>
                            <comment id="154852" author="mdiep" created="Tue, 7 Jun 2016 01:42:05 +0000"  >&lt;p&gt;actually, I also have a version and I am testing right now. &lt;a href=&quot;http://review.whamcloud.com/#/c/18426/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/18426/&lt;/a&gt;&lt;br/&gt;
Please take a look while I continue to test&lt;/p&gt;</comment>
                            <comment id="155186" author="morrone" created="Wed, 8 Jun 2016 23:10:00 +0000"  >&lt;p&gt;The patch is apparently hung up on unrelated test failures now.&lt;/p&gt;

&lt;p&gt;It would still be good to get reviews in now, so we can get this landed as soon as reasonable.&lt;/p&gt;</comment>
                            <comment id="155504" author="mdiep" created="Mon, 13 Jun 2016 15:31:02 +0000"  >&lt;p&gt;I found in build log:&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;+ echo &lt;span class=&quot;code-quote&quot;&gt;&apos;The kernel ABI reference files (provided by kabi-whitelists) were not found.&apos;&lt;/span&gt;
The kernel ABI reference files (provided by kabi-whitelists) were not found.
+ echo &lt;span class=&quot;code-quote&quot;&gt;&apos;No compatibility check was performed. Please install the kABI reference files&apos;&lt;/span&gt;
No compatibility check was performed. Please install the kABI reference files
+ echo &lt;span class=&quot;code-quote&quot;&gt;&apos;and rebuild &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you would like to verify compatibility with kernel ABI.&apos;&lt;/span&gt;
and rebuild &lt;span class=&quot;code-keyword&quot;&gt;if&lt;/span&gt; you would like to verify compatibility with kernel ABI.
+ echo &apos;&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;we need to install kabi-whitelists rpm don&apos;t we?&lt;/p&gt;</comment>
                            <comment id="155546" author="schamp" created="Mon, 13 Jun 2016 17:52:29 +0000"  >&lt;p&gt;It helps, but Lustre uses symbols not the in the whitelist, so you will still get a warning.&lt;/p&gt;</comment>
                            <comment id="155547" author="brian" created="Mon, 13 Jun 2016 17:56:57 +0000"  >&lt;p&gt;Does it still?  &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;  I know this was the case when I tried to make all of this work with RHEL many years ago.&lt;/p&gt;</comment>
                            <comment id="155558" author="mdiep" created="Mon, 13 Jun 2016 20:21:42 +0000"  >&lt;p&gt;I don&apos;t this we&apos;ll get the warning after install the kabi-whitelist rpm. I did it locally and didn&apos;t see that. we&apos;ll update the builders and see&lt;/p&gt;</comment>
                            <comment id="155814" author="simmonsja" created="Wed, 15 Jun 2016 17:43:05 +0000"  >&lt;p&gt;I just tried the latest patch and I don&apos;t see lustre-module-* anymore. Is this expected?&lt;/p&gt;

&lt;p&gt;I also tried installing them RPMs and got:&lt;/p&gt;

&lt;p&gt;rpm &lt;del&gt;Uvh --force tmp/RPMS/lustre/lustre&lt;/del&gt;*&lt;br/&gt;
error: Failed dependencies:&lt;br/&gt;
        kmod-lustre = 2.8.54_60_g2a55f34_dirty is needed by lustre-2.8.54_60_g2a55f34_dirty-2.6.32_573.12.1.el6.head.x86_64.x86_64&lt;br/&gt;
        kmod-lustre = 2.8.54_60_g2a55f34_dirty is needed by lustre-tests-2.8.54_60_g2a55f34_dirty-2.6.32_573.12.1.el6.head.x86_64.x86_64&lt;/p&gt;</comment>
                            <comment id="155817" author="bogl" created="Wed, 15 Jun 2016 17:53:08 +0000"  >&lt;p&gt;James,&lt;br/&gt;
If you carefully read the commit header it says how the packages have been renamed.&lt;/p&gt;</comment>
                            <comment id="155854" author="schamp" created="Wed, 15 Jun 2016 20:46:04 +0000"  >&lt;p&gt;Thank you for picking this up and following through with it.&lt;/p&gt;

&lt;p&gt;My complaint is that I&apos;m still the owner and can&apos;t give you a +1!&lt;/p&gt;

&lt;p&gt;Edit: I won&apos;t bother nitpicking changes to lbuild.&lt;/p&gt;</comment>
                            <comment id="155866" author="simmonsja" created="Wed, 15 Jun 2016 23:11:42 +0000"  >&lt;p&gt;Okay, for some reason my initial build didn&apos;t produce the kmod-* rpms. I had to delete the source tree and do it over again. Now I see&lt;/p&gt;

&lt;p&gt;ksym(snprintf) = 0x9edbecae is needed by kmod-lustre-2.8.54_60_g2a55f34_dirty-2.6.32_573.12.1.el6.head.x86_64.x86_64&lt;br/&gt;
ksym(sscanf) = 0x42224298 is needed by kmod-lustre-2.8.54_60_g2a55f34_dirty-2.6.32_573.12.1.el6.head.x86_64.x86_64&lt;br/&gt;
....&lt;/p&gt;

&lt;p&gt;When I go to install kmod-lustre-*.x86_64.rpm&lt;/p&gt;</comment>
                            <comment id="155886" author="mdiep" created="Thu, 16 Jun 2016 05:34:41 +0000"  >&lt;p&gt;James, are you able to build and install it. Please let me know if you have any problem. if not could you re-review that patch?&lt;/p&gt;</comment>
                            <comment id="155906" author="simmonsja" created="Thu, 16 Jun 2016 13:15:30 +0000"  >&lt;p&gt;Nope, but looking at how I build our kernel I might know why. When building the kernel rpm I used --without kabichk. Would that be the reason it doesn&apos;t work? This is all done using RHEL6.7.&lt;/p&gt;</comment>
                            <comment id="155957" author="simmonsja" created="Thu, 16 Jun 2016 17:40:17 +0000"  >&lt;p&gt;Remove --without kabichk and still gives me the ksym issues.&lt;/p&gt;</comment>
                            <comment id="156045" author="schamp" created="Fri, 17 Jun 2016 14:43:32 +0000"  >&lt;p&gt;Is the target kernel installed on the build system (or environment)?&lt;br/&gt;
Can you verify that dependency generation is done with the right kernel?&lt;/p&gt;</comment>
                            <comment id="156048" author="simmonsja" created="Fri, 17 Jun 2016 15:04:08 +0000"  >&lt;p&gt;No the target kernel rpm is not installed on the build system. That would be a big no no since the machine is used for other purposes. The target kernel source tree is installed in a special directory which is not /usr/src to build against. I will be looking into why the dependency generation is done against the wrong kernel. I wonder if we have to do a OFED style build process in which we tell the location of the symver.&lt;/p&gt;</comment>
                            <comment id="156052" author="simmonsja" created="Fri, 17 Jun 2016 16:27:48 +0000"  >&lt;p&gt;So I created the most basic test to show the problem. This is with building just the patchless client. Currently our build machine is at RHEL6.7 and my test node is running RHEL6.8. So we have very different kernels running on both. On the build machine I as non-root installed the RHEL6.8 development tree in /tmp so I have /tmp//usr/src/kernels/2.6.32-642.1.1.el6.x86_64. Then I went into my lustre tree containing this patch and did:&lt;/p&gt;

&lt;p&gt;cd lustre_release&lt;br/&gt;
./autogen.sh&lt;br/&gt;
./configure --disable-server --with-linux=/tmp/usr/src/kernels/2.6.32-642.1.1.el6.x86_64&lt;br/&gt;
make rpm&lt;/p&gt;

&lt;p&gt;Then I went to install the rpms into the image and got the ksyms errors still. This points to the current patch for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; breaks --with-linux for configure. Note this is very common process our admins use to prepare our client rpms. You can say well just build on the local node. In that case the patch for &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; need to be updated to remove --with-linux support. Also if you recommend using mock to work around this problem then please update this patch to ensure configure failed unless ./configure runs in a mock environment and the source rpm has a hard dependency on mock. In any case I have a reproducer of this problem.&lt;/p&gt;</comment>
                            <comment id="156089" author="mdiep" created="Fri, 17 Jun 2016 21:43:20 +0000"  >&lt;p&gt;it worked on el7. I&apos;ll verify on el6 as you did next&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm5 lustre-release&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-21vm5.onyx.hpdd.intel.com 3.10.0-327.10.1.el7.x86_64 #1 SMP Tue Feb 16 17:03:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
sh ./autogen.sh&lt;br/&gt;
./configure --disable-server --with-linux=/usr/src/kernels/3.10.0-327.18.2.el7.x86_64/&lt;br/&gt;
 make rpms&lt;/p&gt;

&lt;p&gt;scp kmod-lustre-client-2.8.54_61_gcc7a8c9-3.10.0_327.18.2.el7.x86_64.x86_64.rpm root@onyx-24:/root&lt;br/&gt;
scp lustre-client-2.8.54_61_gcc7a8c9-3.10.0_327.18.2.el7.x86_64.x86_64.rpm root@onyx-24:/root&lt;/p&gt;


&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-24.onyx.hpdd.intel.com 3.10.0-327.18.2.el7.x86_64 #1 SMP Thu May 12 11:03:55 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# rpm -hiv ./kmod-lustre-client-2.8.54_61_gcc7a8c9-3.10.0_327.18.2.el7.x86_64.x86_64.rpm&lt;br/&gt;
Preparing...                          ################################# &lt;span class=&quot;error&quot;&gt;&amp;#91;100%&amp;#93;&lt;/span&gt;&lt;br/&gt;
Updating / installing...&lt;br/&gt;
   1:kmod-lustre-client-2.8.54_61_gcc7################################# &lt;span class=&quot;error&quot;&gt;&amp;#91;100%&amp;#93;&lt;/span&gt;&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# modprobe lustre&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# modinfo lustre&lt;br/&gt;
filename:       /lib/modules/3.10.0-327.18.2.el7.x86_64/extra/lustre-client/fs/lustre.ko&lt;br/&gt;
license:        GPL&lt;br/&gt;
version:        2.8.54_61_gcc7a8c9&lt;br/&gt;
description:    Lustre Client File System&lt;br/&gt;
author:         OpenSFS, Inc. &amp;lt;&lt;a href=&quot;http://www.lustre.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.lustre.org/&lt;/a&gt;&amp;gt;&lt;br/&gt;
rhelversion:    7.2&lt;br/&gt;
srcversion:     F6CD34A134CF6E45A10B0DB&lt;br/&gt;
depends:        obdclass,ptlrpc,libcfs,lnet,lmv,mdc,lov&lt;br/&gt;
vermagic:       3.10.0-327.18.2.el7.x86_64 SMP mod_unload modversions &lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-24 ~&amp;#93;&lt;/span&gt;# &lt;/p&gt;</comment>
                            <comment id="156092" author="simmonsja" created="Fri, 17 Jun 2016 21:58:15 +0000"  >&lt;p&gt;Okay. Lets see if its a RHEL6.X issue. Especially since I don&apos;t have access to RHEL7 systems &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/sad.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; If you manage to build it then the build process must be dependent on something missing on our build machine. If I see this problem other people will to once its released into the wild.&lt;/p&gt;</comment>
                            <comment id="156106" author="mdiep" created="Fri, 17 Jun 2016 23:40:47 +0000"  >&lt;p&gt;I don&apos;t see any issue on el6. I built on el6.7 pointing to el6.8 kernel and install kmod lustre on el6.8 system. no issue&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm2 lustre-release&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-21vm2.onyx.hpdd.intel.com 2.6.32-573.26.1.el6.x86_64 #1 SMP Wed May 4 00:57:44 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
sh autogen.sh &lt;br/&gt;
 ./configure --disable-server --with-linux=/usr/src/kernels/2.6.32-642.1.1.el6.x86_64/&lt;br/&gt;
 make rpms&lt;br/&gt;
 scp kmod-lustre-client-2.8.54_61_gcc7a8c9-2.6.32_642.1.1.el6.x86_64.x86_64.rpm onyx-21vm3:/root&lt;br/&gt;
scp lustre-client-2.8.54_61_gcc7a8c9-2.6.32_642.1.1.el6.x86_64.x86_64.rpm onyx-21vm3:/root&lt;br/&gt;
 history&lt;/p&gt;
&lt;hr /&gt;

&lt;p&gt; rpm -hiv ./kmod-lustre-client-2.8.54_61_gcc7a8c9-2.6.32_642.1.1.el6.x86_64.x86_64.rpm &lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm3 ~&amp;#93;&lt;/span&gt;# modprobe lustre&lt;br/&gt;
LNet: HW CPU cores: 1, npartitions: 1&lt;br/&gt;
alg: No test for adler32 (adler32-zlib)&lt;br/&gt;
alg: No test for crc32 (crc32-table)&lt;br/&gt;
Lustre: Lustre: Build Version: 2.8.54_61_gcc7a8c9&lt;br/&gt;
LNet: Added LNI 10.2.4.14@tcp &lt;span class=&quot;error&quot;&gt;&amp;#91;8/256/0/180&amp;#93;&lt;/span&gt;&lt;br/&gt;
LNet: Accept secure, port 988&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm3 ~&amp;#93;&lt;/span&gt;# modinfo lustre&lt;br/&gt;
filename:       /lib/modules/2.6.32-642.1.1.el6.x86_64/extra/lustre-client/fs/lustre.ko&lt;br/&gt;
license:        GPL&lt;br/&gt;
version:        2.8.54_61_gcc7a8c9&lt;br/&gt;
description:    Lustre Client File System&lt;br/&gt;
author:         OpenSFS, Inc. &amp;lt;&lt;a href=&quot;http://www.lustre.org/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.lustre.org/&lt;/a&gt;&amp;gt;&lt;br/&gt;
srcversion:     F6CD34A134CF6E45A10B0DB&lt;br/&gt;
depends:        obdclass,ptlrpc,libcfs,lnet,lmv,mdc,lov&lt;br/&gt;
vermagic:       2.6.32-642.1.1.el6.x86_64 SMP mod_unload modversions &lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm3 ~&amp;#93;&lt;/span&gt;# uname -a&lt;br/&gt;
Linux onyx-21vm3.onyx.hpdd.intel.com 2.6.32-642.1.1.el6.x86_64 #1 SMP Tue May 31 21:57:07 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux&lt;br/&gt;
&lt;span class=&quot;error&quot;&gt;&amp;#91;root@onyx-21vm3 ~&amp;#93;&lt;/span&gt;# &lt;/p&gt;


&lt;p&gt;I am not sure what&apos;s missing. I setup the builder without anything special. installed git, libtool, rpm-build&lt;/p&gt;

&lt;p&gt;How did you put the kernel-devel on the builder? cpio or rpm install?&lt;/p&gt;</comment>
                            <comment id="156110" author="simmonsja" created="Sat, 18 Jun 2016 00:47:45 +0000"  >&lt;p&gt;Are you ssh into the destination node and then installing the rpm on that node? For our systems we create the rpms and chroot into a directory that serves as the root of my image for the diskless test nodes.&lt;/p&gt;

&lt;p&gt;[ management server ] -&amp;gt; /export-image/root       -&amp;gt; diskless-node:/root&lt;br/&gt;
                                                               /usr                                    /usr&lt;/p&gt;

&lt;p&gt;chroot /export-image&lt;br/&gt;
rpm -ivh /tmp/&lt;b&gt;lustre&lt;/b&gt;.rpm&lt;/p&gt;

&lt;p&gt;Could the chroot environment be causing the ksym issues? In our diskless setup its not really possible to install rpms directly on the test nodes since they are essentially read only. Can you try that setup Minh please.&lt;/p&gt;</comment>
                            <comment id="156111" author="mdiep" created="Sat, 18 Jun 2016 00:58:45 +0000"  >&lt;p&gt;&quot;Are you ssh into the destination node and then installing the rpm on that node?&quot;&lt;br/&gt;
yes&lt;/p&gt;

&lt;p&gt;I am not familiar with chroot. For diskless node, I know that LLNL Chaos built the image with the set of rpms, then refresh/boot the node. I&apos;ll have to look into chroot more; but I am pretty sure that&apos;s the difference and causing the issue.&lt;/p&gt;

&lt;p&gt;Can you attach or upload your kmod-lustre-client rpm so I can check its content?&lt;/p&gt;</comment>
                            <comment id="156231" author="simmonsja" created="Mon, 20 Jun 2016 16:58:26 +0000"  >&lt;p&gt;I found the source of the problem. This change now requires the package kabi-whitelist at least for RHEL6. Do you have this package for RHEL7 and SLES as well? Once I installed kaki-whitelist it appears to work. Well ZFS still gives trouble but it might be a simple case of rebuilding it.&lt;/p&gt;</comment>
                            <comment id="156269" author="morrone" created="Mon, 20 Jun 2016 21:04:30 +0000"  >&lt;p&gt;I&apos;m back from work travel, so I can jump back into the conversation now.&lt;/p&gt;

&lt;p&gt;James, I don&apos;t believe that kernel-abi-whitelists is required on either RHEL6 or RHEL7.  Yes, there will be a warning about it being missing at build time, but that doesn&apos;t hurt the packaging process.  Clean RHEL6.7 and RHEL7.2 images have been my main testing platforms (with some SLES 12.X on occasion).  I checked both of my RHEL images just now, and neither have kernel-abi-whitelists installed.  The rpm packages generated under this patch install just fine, and appear to have all required kernel symbols expressed in the rpm --requires section.&lt;/p&gt;

&lt;p&gt;By the way, if your packages really lists this:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;ksym(snprintf) = 0x9edbecae
ksym(sscanf) = 0x42224298
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;then there is an additional problem that I didn&apos;t remember off the top of my head on the road.  Those should not be &quot;ksym&quot; requirements; they should be &quot;kernel&quot; requirements.  I would check the package with &quot;rpm -qp --requires&quot; and see how they look.  Here are the requirements from the kmod-lustre package on my RHEL6.7&lt;br/&gt;
system:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;kernel(snprintf) = 0x9edbecae
kernel(sscanf) = 0x42224298
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;A &quot;kernel&quot; requirement on RHEL means that the RH build system knows that the symbol is provided by the kernel package itself.  Any other kernel symbol provided by some external package (e.g. zfs) will be a &quot;ksym&quot; requirement instead of &quot;kernel&quot;.  So this still implies that Lustre was not built on a system with the prerequisite kernel rpms properly installed.&lt;/p&gt;

&lt;p&gt;FYI, SUSE does not have a kernel-abi-whitelists package.  They do not even employ the approach of having a symbol whitelist.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://drivers.suse.com/doc/SolidDriver/SUSE_Kernel_ABI_Stability.html#does-suse-provide-a-kernel-abi-symbol-whitelist&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://drivers.suse.com/doc/SolidDriver/SUSE_Kernel_ABI_Stability.html#does-suse-provide-a-kernel-abi-symbol-whitelist&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="156273" author="morrone" created="Mon, 20 Jun 2016 21:08:12 +0000"  >&lt;p&gt;Minh said:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;we need to install kabi-whitelists rpm don&apos;t we?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;That is not a requirement for this ticket.  It probably won&apos;t hurt, but you can track that activity in a separate ticket if you like.  It does not need to be linked to this issue.&lt;/p&gt;</comment>
                            <comment id="156300" author="morrone" created="Tue, 21 Jun 2016 00:39:03 +0000"  >&lt;p&gt;In reply to James from gerrit:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I don&apos;t modify any RHEL build scripts. Its a simple rpm extract source and build. Nothing fancy. Forcing people to require things like mock to just build client rpms is not going to go over well with sites.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;No one is requiring special things like mock.  We just require that, when building rpms, the prerequisite BuildRequires must actually be installed.  This is a completely normal thing to expect in the rpm packaging world, and it is what all of the behind-the-scenes scripts from the distro assume will be the case.  Most people will be able to meet that requirement, I think.  To avoid installing the prerequisites, you have to replace system-provided behind-the-scenes scripts with your own.  We did that for lbuild, despite how icky I felt doing it. &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;.  If you refuse to meet that simple, accepted requirement, you are free to hack up your own solution as well.&lt;/p&gt;

&lt;p&gt;I just recommend mock for the places where you don&apos;t have access to a system where the BuildRequires are installed, or you don&apos;t have the permissions to install those packages.  mock is designed exactly for those situations: it sets up a clean base chroot environment, and then installs only the packages required by the source rpm&apos;s BuildRequires.&lt;/p&gt;

&lt;p&gt;If none of &lt;em&gt;those&lt;/em&gt; things will work for people, they can always just download prebuilt binaries.  The prebuilt binaries are going to work on a much wider set of kernels once they are no longer tied to one specific kernel version.&lt;/p&gt;

&lt;p&gt;Yes, some adaptation of process will be necessary for some people.  I know, change is hard.  I totally feel your pain.  The Lustre community has gotten very used to its oddball way of building and packaging.  But that means that Lustre just flat out doesn&apos;t build through the standard tools of major distros like Fedora and RHEL.  I think the advantage of supporting those standard methods vastly outweighs the short term pain we will feel as we adapt our personal processes to the new packaging methods.&lt;/p&gt;</comment>
                            <comment id="156307" author="simmonsja" created="Tue, 21 Jun 2016 03:21:11 +0000"  >&lt;p&gt;I discovered the kabi-whitelist issues with the following error during the build process:&lt;/p&gt;

&lt;p&gt;Finding  Provides: /usr/lib/rpm/redhat/find-provides&lt;br/&gt;
           KERNEL ABI COMPATIBILITY WARNING&lt;br/&gt;
The kernel ABI reference files (provided by kabi-whitelists) were not found.&lt;br/&gt;
No compatibility check was performed. Please install the kABI reference files&lt;br/&gt;
and rebuild if you would like to verify compatibility with kernel ABI.&lt;/p&gt;

&lt;p&gt;Finding  Requires: /usr/lib/rpm/redhat/find-requires&lt;/p&gt;

&lt;p&gt;Once I installed kabi-whitelish and the rpms started to work. Also &apos;rpm &lt;del&gt;qp --release kmod-lustre&lt;/del&gt;*&apos; prints out&lt;/p&gt;

&lt;p&gt;kernel(__wake_up) = 0x642e54ac&lt;br/&gt;
kernel(add_wait_queue) = 0x650fb346&lt;br/&gt;
kernel(copy_from_user) = 0x3302b500&lt;br/&gt;
kernel(default_wake_function) = 0xffd5a395&lt;br/&gt;
kernel(kfree) = 0x037a0cba&lt;/p&gt;

&lt;p&gt;So its working correct now.&lt;/p&gt;</comment>
                            <comment id="157043" author="gerrit" created="Mon, 27 Jun 2016 18:55:04 +0000"  >&lt;p&gt;Oleg Drokin (oleg.drokin@intel.com) merged in patch &lt;a href=&quot;http://review.whamcloud.com/12063/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/12063/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-5614&quot; title=&quot;use %kernel_module_package for weak-updates&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-5614&quot;&gt;&lt;del&gt;LU-5614&lt;/del&gt;&lt;/a&gt; build: use %kernel_module_package in rpm spec&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 3b7d27ea22faf1c6d0a37afa724fd9b5c3240322&lt;/p&gt;</comment>
                            <comment id="157321" author="morrone" created="Wed, 29 Jun 2016 20:57:56 +0000"  >&lt;p&gt;The patch landed to master, so I closing this ticket.  Good work everyone!&lt;/p&gt;

&lt;p&gt;If there is any fallout that we need to work through, we can open new tickets for that.&lt;/p&gt;</comment>
                            <comment id="157329" author="mdiep" created="Wed, 29 Jun 2016 21:25:52 +0000"  >&lt;p&gt;yes, a small fix for suse12 is in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-8343&quot; title=&quot;build failures on SLES&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-8343&quot;&gt;&lt;del&gt;LU-8343&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="198313" author="spitzcor" created="Tue, 6 Jun 2017 15:37:53 +0000"  >&lt;p&gt;FYI:&lt;br/&gt;
&lt;a href=&quot;http://cdn.opensfs.org/wp-content/uploads/2016/04/LUG2016D1_Improved-Versioning_Morrone_DiNatale.pdf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://cdn.opensfs.org/wp-content/uploads/2016/04/LUG2016D1_Improved-Versioning_Morrone_DiNatale.pdf&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;https://www.youtube.com/watch?v=50VN9Q7BHYA&amp;amp;index=5&amp;amp;list=PLA5dHg1_l3V8r6eqrUnl8DiB-KH1K5yLH&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://www.youtube.com/watch?v=50VN9Q7BHYA&amp;amp;index=5&amp;amp;list=PLA5dHg1_l3V8r6eqrUnl8DiB-KH1K5yLH&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                            <outwardlinks description="is blocking">
                                        <issuelink>
            <issuekey id="34026">LU-7643</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is blocked by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="34341">LU-7722</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="38023">LU-8377</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="20972">LU-3956</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="20969">LU-3953</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="37880">LU-8343</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="38988">LU-8519</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="38055">LU-8383</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="30477">LU-6677</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="15803" name="lustre-ldiskfs.files" size="109" author="schamp" created="Tue, 16 Sep 2014 04:10:35 +0000"/>
                            <attachment id="15804" name="lustre-modules.files" size="137" author="schamp" created="Tue, 16 Sep 2014 04:10:35 +0000"/>
                            <attachment id="15805" name="sgi242-simple.spec" size="9060" author="schamp" created="Tue, 16 Sep 2014 04:10:35 +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_10490" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>End date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Tue, 7 Jun 2016 04:15:18 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzww3r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>15704</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>
                                                                                                                        <customfield id="customfield_10493" key="com.atlassian.jira.plugin.system.customfieldtypes:datepicker">
                        <customfieldname>Start date</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Fri, 12 Sep 2014 04:15:18 +0000</customfieldvalue>

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