[LU-8023] build problem on master due to recent change Created: 14/Apr/16  Updated: 13/Jul/16  Resolved: 27/Apr/16

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.9.0

Type: Bug Priority: Critical
Reporter: Bob Glossman (Inactive) Assignee: Bob Glossman (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocker
Related
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

the recent landing of http://review.whamcloud.com/#/c/19037 for LU-7887 has broken the build. The problem is very subtle so it avoided notice for a bunch of reasons:

1) no errors at build time. problems only show up at rpm install time when some rpms can't be installed.

2) not seen in any rhel builds, only seen in sles builds.

3) not seen in manual build or test, only seen during Jenkins builds.

The root cause is changing lbuild from doing direct calls of rpmbuild to doing 'make rpms' instead eliminated some necessary command line arguments to the rpmbuild done during lustre builds. In most cases these missing arguments are a don't care, but in sles build for lustre server they are critically important. Missing them results in some lustre rpms with incorrect Requires: lists of kernel symbols. This flaw blocks them from installing without overrides during the install. This in turn blocks our normal provisioning flow during autotest and results in failures during lustre-initiailization.

I plan to submit a mod that will restore the needed rpmbuild command line arguments when 'make rpms' is called from lbuild.



 Comments   
Comment by Bob Glossman (Inactive) [ 14/Apr/16 ]

The fact that very little testing is done on any sles builds at all in between branch tests for release builds didn't help in detecting this problem promptly. One more reason it escaped notice.

Comment by Gerrit Updater [ 14/Apr/16 ]

Dmitry Eremin (dmitry.eremin@intel.com) uploaded a new patch: http://review.whamcloud.com/19565
Subject: LU-8023 build: add find-requires parameter to rpmbuild
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 4c2e93efe94b175b7c6d6d465b85be8104c0738e

Comment by Gerrit Updater [ 19/Apr/16 ]

Dmitry Eremin (dmitry.eremin@intel.com) uploaded a new patch: http://review.whamcloud.com/19650
Subject: LU-8023 lbuild: add find-requires parameter to rpmbuild
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 09a75985f54fa576fffe548f4f9e9dd8ff2e80d3

Comment by Bob Glossman (Inactive) [ 20/Apr/16 ]

Dmitry's 2nd solution is entirely contained inside lbuild. This will hopefully address objections to the first solution and allow it to land. Test results so far are good. Test run on sles11sp4 didn't fail in lustre-initiailizaion, went to completion without problems.

Comment by Gerrit Updater [ 27/Apr/16 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/19650/
Subject: LU-8023 lbuild: add find-requires parameter to rpmbuild
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 71d2ea0fde17ecde0bf237f486d4bafb5d54fe3f

Comment by Joseph Gmitter (Inactive) [ 27/Apr/16 ]

Landed to master for 2.9.0

Comment by Andreas Dilger [ 13/Jul/16 ]

Bob, there was a similar failure during the e2fsprogs test for http://review.whamcloud.com/21237:
https://testing.hpdd.intel.com/test_sets/1e77a5ec-4875-11e6-bf87-5254006e85c2

20:06:35:trevis-8vm8: mkfs.lustre FATAL: unhandled/unloaded fs type 1 'ldiskfs'
20:06:35:trevis-8vm8: mkfs.lustre FATAL: unable to prepare backend (22)
20:06:35:trevis-8vm8: mkfs.lustre: exiting with 22 (Invalid argument)

but the code is running https://build.hpdd.intel.com/job/lustre-master/3410/

Generated at Sat Feb 10 02:13:57 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.