LU-16661 build: improve lustre.spec.in Requires Add Suggests: bash-completion for lustre-client and lustre for lctl and lfs sub-command completion. Move perl from Requires to Recommends, since there are only some uncommonly used tools (llstat, llobdstat) that are using perl. Remove a couple of ancient obsolete test scripts that used perl. lustre-iokit incorrectly Required perl instead of python3. Set minimum kernel version for client to be 3.10 or later. Change "netstat" to "ss" in tests to avoid dependency issues. Fix sanity.sh and conf-sanity.sh tests for sles12sp5 issues. Test-Parameters: trivial testlist=runtests clientdistro=sles12sp5 Test-Parameters: trivial testlist=runtests clientdistro=el9.1 Test-Parameters: trivial testlist=runtests clientdistro=sles15sp3 Fixes: 7521473bdd ("LU-16382 spec: add more dependencies for lustre-tests") Fixes: fd734cffb3 ("b=18443 tests: remove obsolete tests scripts") Signed-off-by: Andreas Dilger <adilger@whamcloud.com> Change-Id: I48c6819596c81cb044e983bc64f1edf1ee3ebbe5 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50397 Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com> Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com> Reviewed-by: xinliang <xinliang.liu@linaro.org> Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
LU-6142 build: add SPD/GPL license to build files Update the file header to have the SPDX license and use the standard format. Convert spaces to tabs. Test-Parameters: trivial Signed-off-by: Timothy Day <timday@amazon.com> Change-Id: Id02218aa5b435bc0de96a39d3daa53a83a51c857 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/50347 Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com> Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com>
LU-16382 spec: Don't include Group: tags. Fedora Project has deprecated group tags: https://fedoraproject.org/wiki/RPMGroups https://docs.fedoraproject.org/en-US/packaging-guidelines/#_tags_and_sections The groups tags currently used are not recognised by SUSE. So remove all the Group: tags - except one. The %kernel_module_package macro for SUSE requires that a group be given. Test-Parameters: trivial Signed-off-by: Mr NeilBrown <neilb@suse.de> Change-Id: I6b7222200ea1a02319a703d64542dfb9780c048a Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49364 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: jsimmons <jsimmons@infradead.org> Reviewed-by: Jian Yu <yujian@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16382 spec: Declare correct license Lustre is primarily licensed under GPL-v2. Some files claim v2+, others claim v2-only, but all are consistent with v2. liblustreapi is LGPL2.1+ So make that explicit in lustre.spec. All 'kmp' packages are GPL-v2-only, all the rest add "AND LGPL-2.1-or-later. The Open Build Service complains that "GPL" is too vague. Test-Parameters: trivial Signed-off-by: Mr NeilBrown <neilb@suse.de> Change-Id: I4f10c50a39b5b48fed71b179bc888b0ae144444e Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49363 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Aurelien Degremont <degremoa@amazon.com> Reviewed-by: Jian Yu <yujian@whamcloud.com> Reviewed-by: jsimmons <jsimmons@infradead.org> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16317 build: dkms build requires flex, bison and libmount-devel This patch fixes lustre.spec.in and lustre-dkms.spec.in to add requires for flex, bison, libmount and libmount-devel. The last two have already been added into lustre.spec.in. Test-Parameters: trivial Fixes: 121a79651f ("LU-15967 build: configure script does not check for required build tools") Fixes: f21b944127 ("LU-15940 build: add a required dependency for libmount") Change-Id: I9923fc7eb09f974e8c38c3664138486a424e16d7 Signed-off-by: Jian Yu <yujian@whamcloud.com> Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/49183 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-16059 build: Installation of dkms server builds The linux-zfs-dkms package is passing the wrong paths for zfs [and spl] causing the dkms build to fail. ZFS_VERSION is not parsed correctly from 'dkms status'. The splver and zfsver check can match against the wrong package(s). lustre-zfs-dkms provides: kmod-lustre-osd-zfs, and lustre-osd-zfs-mount lustre-ldiskfs-dkms provides: kmod-lustre-osd-ldiskfs and lustre-osd-ldiskfs-mount In the case of multiple zfs versions installed, build lustre osd against the highest version number. HPE-bug-id: LUS-11113 Test-Parameters: trivial Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com> Change-Id: Ic154ca045427bf26cb7e6a44b8c467675e987aad Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/48083 Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com> Reviewed-by: Jian Yu <yujian@whamcloud.com> Reviewed-by: Minh Diep <mdiep@whamcloud.com> Reviewed-by: Nathaniel Clark <nclark@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com> Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com>
LU-16037 build: remove quotes from %{mkconf_options} This patch fixes lustre-dkms.spec.in to remove quotes from %{mkconf_options} passed to dkms.mkconf, so as to resolve the following build issue: dkms.conf: Error! Directive 'DEST_MODULE_LOCATION' does not begin with '/kernel', '/updates', or '/extra' in record #0. Test-Parameters: trivial Change-Id: I0b365d7a96cb632680bc2321e87b28a3bf076e47 Signed-off-by: Jian Yu <yujian@whamcloud.com> Reviewed-on: https://review.whamcloud.com/48044 Reviewed-by: Colin Faber <cfaber@ddn.com> Tested-by: jenkins <devops@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-15521 spec: fix bare words error with rpm 4.16 RPM 4.16 removed support for bare words in expressions (eg a == b needs to be "a" == "b" now). The change is backward compatible. More changes are in: https://rpm.org/wiki/Releases/4.16.0 This patch accommodates the above change and fixes more errors/warnings: - E: specfile-error error: bare words are no longer supported, please use "...": redhat=="redhat" || redhat=="fedora" - E: specfile-error warning: extra tokens at the end of %else directive in line 140: %else #for Suse - W: macro-in-comment %optflags - W: macro-in-comment %{name} Test-Parameters: trivial Change-Id: I725c47f62be7762a89e5919fd2865e2fb2ced407 Signed-off-by: Jian Yu <yujian@whamcloud.com> Reviewed-on: https://review.whamcloud.com/46471 Tested-by: jenkins <devops@whamcloud.com> Reviewed-by: Nathaniel Clark <nclark@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-10973 lnet: LUTF Python infra Added the python LUTF infrastructure. The python infrastructure provides the core LUTF feature set. The tests-infra is lnet specific infrastructure to be used by LUTF test suites. Test-Parameters: trivial Signed-off-by: Amir Shehata <ashehata@whamcloud.com> Change-Id: I1d0336606625424880f1b64b1dd296d4c7ed85ea Signed-off-by: Serguei Smirnov <ssmirnov@whamcloud.com> Reviewed-on: https://review.whamcloud.com/38087 Tested-by: jenkins <devops@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-9680 utils: add netlink infrastructure Netlink was designed as a successor to ioctl as defined under RFC 3549. There are several advantages to using netlink over ioctls or virtual file system interfaces like proc. Collecting proc doesn't scale well which was seen with power drain on Android phones. A netlink implementation was developed to remove this performance hit. Details can be read at: https://lwn.net/Articles/406975 Besides the scaling gains the other benefit is the flexiblity with API changes. Adding or removing information to be transmitted doesn't require creating a new interface like ioctl do. Instead you add new code to handle the stream of attributes read from the socket. Lastly you can multiplex data to N listeners with groups using one request. This patch adds netlink handling in a generic way that can be used by the libyaml library. This greatly lowers the barrier by only requiring the implementor to understand the libyaml API. Change-Id: Idcdac653a1f9cc9931238e869c3beadaefcf3410 Signed-off-by: James Simmons <jsimmons@infradead.org> Reviewed-on: https://review.whamcloud.com/34230 Tested-by: jenkins <devops@whamcloud.com> Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com> Reviewed-by: Ben Evans <beevans@whamcloud.com> Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-12269 kernel: new kernel [RHEL 8.0 4.18.0-80.el8] This patch makes changes to support new RHEL 8.0 release for Lustre client. Test-Parameters: trivial Change-Id: I89b4f1e59f8b25bf9d37d3564e2d05d6e87d9b38 Signed-off-by: Jian Yu <yujian@whamcloud.com> Signed-off-by: Minh Diep <mdiep@whamcloud.com> Reviewed-on: https://review.whamcloud.com/34862 Tested-by: Jenkins Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Yang Sheng <ys@whamcloud.com> Reviewed-by: Li Dongyang <dongyangli@ddn.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-11394 build: Remove SPL requirements Because ZFS and SPL are version locked, and ZFS has explicit requirements for SPL, remove lustre's SPL requirements. lbuild: Make building spl optional when version is changed. Test-Parameters: trivial Test-Parameters: mdtfilesystemtype=zfs ostfilesystemtype=zfs ostcount=2 Signed-off-by: Nathaniel Clark <nclark@whamcloud.com> Change-Id: Iedba8d4047ba1fa852a2f99db2cd1b6caff33326 Reviewed-on: https://review.whamcloud.com/33743 Reviewed-by: Minh Diep <mdiep@whamcloud.com> Tested-by: Jenkins Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Andreas Dilger <adilger@whamcloud.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-11876 dkms: Add missing Requires for zlib-devel lustre.spec has BuildRequires for zlib-devel, and lustre-*-dkms should also Requires zlib-devel so build completes successfully. Test-Parameters: trivial Signed-off-by: Nathaniel Clark <nclark@whamcloud.com> Change-Id: Icf1c3f4342823502200d3326c63fe991c3140aab Reviewed-on: https://review.whamcloud.com/34065 Tested-by: Jenkins Tested-by: Maloo <maloo@whamcloud.com> Reviewed-by: Joe Grund <jgrund@whamcloud.com> Reviewed-by: Minh Diep <mdiep@whamcloud.com> Reviewed-by: James Simmons <uja.ornl@yahoo.com> Reviewed-by: Oleg Drokin <green@whamcloud.com>
LU-11026 lustre-dkms should require patch or quilt Add patch requirement to lustre-dkms.spec.in as it (or quilt) are needed for lustre-build-ldiskfs. - Add requires patch. Change-Id: I640bae382511502c02a0237694c93c304047f339 Signed-off-by: Joe Grund <joe.grund@intel.com> Reviewed-on: https://review.whamcloud.com/32431 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
LU-10676 dkms: Provide lustre-dkms for lustre-zfs-dkms To facilitate upgrading from old lustre-dkms style package to new lustre-zfs-dkms, provide the old package in lustre-zfs-dkms. Test-Parameters: trivial Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Change-Id: Ia6f0fffad35ad8e219bfbe05527865ccd1904ff7 Reviewed-on: https://review.whamcloud.com/31329 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-9761 dkms: Add ldiskfs dkms support This breaks out lustre-dkms into lustre-zfs-dkms and lustre-ldiskfs-dkms (or lustre-all-dkms) as "flavours" of lustre server dkms. The reason for the flavours is to prevent lustre ldiskfs dkms build from having ZFS dependencies, and to maintain lustre zfs dkms build ordering when rebuilding for new kernels. This also prevents building of tests and utils when --disable-tests and --disable-utils (respectively) are passed to configure. Test-Parameters: trivial Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Change-Id: Iba500d9830a8f57662066141a176c381151861f4 Reviewed-on: https://review.whamcloud.com/27990 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-9745 dkms: Fix included dkms.conf file When lustre-dkms is installed with other dkms packages, the PRE/POST scripts don't seem to function correctly. This includes the correct dkms.conf by default without having to recreate and reread it during build. Signed-off-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Change-Id: Ic6f25480db40d784dfcb3b650f7c869716b903ee Reviewed-on: https://review.whamcloud.com/28210 Tested-by: Jenkins Tested-by: Brian J. Murrell <brian.murrell@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Reviewed-by: Bob Glossman <bob.glossman@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
LU-9776 lustre-client cannot be installed if both client and server repos are configured Due to current Obsoletes: tags on lustre-client, the client cannot be installed on nodes where the client and server repos are configured. Update the Obsoletes: to only obsolete previous lustre-client versions, not the current one. Signed-off-by: Brian J. Murrell <brian.murrell@intel.com> Change-Id: Ie2f022967fd6f65030feeb23ea9637dce505054a Reviewed-on: https://review.whamcloud.com/28065 Tested-by: Jenkins Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Tested-by: Maloo <hpdd-maloo@intel.com>
LU-5834 build: obsolete lustre-client if installing server When installing the "lustre" (client+server) package, obsolete older lustre-client package so that it can install without error. Remove ancient Provides: and Obsoletes: lines from 1.2 days. Fix remaining Provides: and Obsoletes: and package Group: lines so they contain version numbers and names to make rpmlint happy. Test-Parameters: trivial Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Change-Id: Ifdd1d7567ab03d0d1dfa599b592b6f28e09cab07 Reviewed-on: https://review.whamcloud.com/20162 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Minh Diep <minh.diep@intel.com> Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
LU-1032 build: fix typo in lustre-dkms.spec changelog Fix typo in the lustre-dkms.spec.in ChangeLog which has an invalid date, and causes a build warning. Test-Parameters: trivial Signed-off-by: Andreas Dilger <andreas.dilger@intel.com> Change-Id: I6029c93928f84ff59c8798d2f8115e872c4cab07 Reviewed-on: https://review.whamcloud.com/26358 Tested-by: Jenkins Tested-by: Maloo <hpdd-maloo@intel.com> Reviewed-by: Faccini Bruno <bruno.faccini@intel.com> Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com> Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>