[LU-9897] Tracking of lustre library improvements. Created: 21/Aug/17  Updated: 08/Dec/21

Status: Open
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.11.0
Fix Version/s: None

Type: Task Priority: Minor
Reporter: James A Simmons Assignee: James A Simmons
Resolution: Unresolved Votes: 0
Labels: always_except
Environment:

Lustre utilities


Issue Links:
Related
is related to LU-11742 ERROR: RPATH is not allowed Resolved
is related to LU-8854 liblustre should not define strlcpy o... Resolved
is related to LU-10717 several conf-sanity tests failed: FAI... Resolved
is related to LU-6246 Add a JSON decoder Resolved
is related to LU-9324 sanity-pfl test 10 needs to reset the... Resolved
is related to LU-5969 Create an LGPL version of liblustreapi Open
is related to LU-6081 hsm: add file migrate support Open
is related to LU-5541 improve liblustreapi build Resolved
is related to LU-13315 RHEL8 build failed with some options Resolved
is related to LU-10556 lustre client rebuild not building ln... Resolved
is related to LU-12214 lustre spec file don't provide a righ... Resolved
is related to LU-12720 Issue with 'blkid' when configuring/b... Resolved
is related to LU-9215 build: Re-add the lustre-devel package. Closed
Sub-Tasks:
Key
Summary
Type
Status
Assignee
LU-9898 LU-5541 Technical task Closed WC Triage  
Rank (Obsolete): 9223372036854775807

 Description   

Currently lustre has a large collection of user space libraries:

libcfs.a
libcfsutil.a
libptlctl.a
liblnetconfig (optional currently)
liblustreapi.so

We really only need two libraries. One being liblnetconfg and the second liblustreapi.so. libptlctl.a should be replaced by liblnetconfig at this point and if we link liblustreapi.so into liblnetconfig.so then we don't need to embedded libcfs*.a into both libraries anymore.

Along side this issue is the libyaml dependency. One project was going to introduce JSON support for HSM and then discussion happened at one LUG developers day if we should also move liblnetconfig to libjson as well. So the question becomes do we support both JSON and YAML or drop one of them. YAML/JSON also looks to becoming a hard requirement with some purposed work for using it for setting striping in liblustreapi.

Lastly is tracking of the work to change the license to LGPL.



 Comments   
Comment by Amir Shehata (Inactive) [ 21/Aug/17 ]

Currently all of Lustre uses YAML. We shouldn't be moving only the lnetconfig stuff to JSON.

Also what are the justification of moving away from YAML? It's very simple in the way it's being used in both LNet config and Lustre. So my question is it really worth moving all the existing tested code to JSON? or should HSM simply use YAML?

Not to mention the backwards compatibility issues when you remove YAML support (YAML is being used in LNet config from 2.7 and earlier for luster). Are we then going to keep both? My vote is to get HSM to use YAML. Are there technical reasons it can't?

Comment by Amir Shehata (Inactive) [ 21/Aug/17 ]

Another issue that might not be visible externally yet, is that there are 100s of tests that test DLC, mulit-rial, dynamic discovery, which I'm currently working on integrating into the lustre/tests. They all use YAML. We're talking about a significant effort there to move all those tests to JSON.

Comment by James A Simmons [ 21/Aug/17 ]

Please read the thread in LU-6081. Lets see if libjyaml can now address those issues to consider moving HSM to YAML. I just like to see what the path forward is. One issue which bites people is that the build process for lnet will complete when libyaml-devel is missing. People will build lustre and scratch their head wondering why lnetctl doesn't build. At this point libyaml MUST become a hard requirement.

Comment by Gerrit Updater [ 28/Aug/17 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/28752
Subject: LU-9897 utils: simplify lustre's libraries
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 8e1aa82c2ef9634cf42416bb4a09bb3b0b28406b

Comment by Gerrit Updater [ 24/Oct/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/28752/
Subject: LU-9897 utils: remove libcfsutils.a and libptlctl.a
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: cc95b58e835a7c30bebef2cf930913ac8152997e

Comment by James A Simmons [ 24/Oct/17 ]

Still more work to be done so please keep this open.

Comment by Gerrit Updater [ 22/Nov/17 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/30204
Subject: LU-9897 utils: make liblnetconfig a hard requirment
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: f899fbd31c7adbc58552d2b076563784213f050e

Comment by Gerrit Updater [ 01/Dec/17 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch https://review.whamcloud.com/30204/
Subject: LU-9897 utils: make liblnetconfig a hard requirment
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: ccafcc7116411c7d276c5b8523b0effb4c4dd796

Comment by Thomas Stibor [ 01/Dec/17 ]

Hi James,

just wanted to compile Lustre client with dlc support and saw the option is removed and by default activated when yaml-devel is found. Shouldn't --disable/enable-dlc be also removed here:

 

>grep -r "disable-dlc" .
./lustre-dkms_pre-build.sh: --disable-manpages --disable-dlc
./config/lustre-build.m4: --enable-dlc | --disable-dlc ) ;;

 

Cheers Thomas

 

Comment by James A Simmons [ 01/Dec/17 ]

Ugh, the disable-dlc was missed. I will submit a patch which will fix this. 

Comment by James A Simmons [ 15/Jan/18 ]

The disable-dlc issues have been fixed with the patch landed for LU-5541. Also we now have two librariess that applications can link to, liblnetconfig and  liblustreapi.so. No more needing to link to libcfs libraries. Much more sane now. Still some more work to be done.

Comment by Gerrit Updater [ 05/Jul/19 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/35422
Subject: LU-9897 zfs: migrate autoconf detection to pkgconfig
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 66328e1aa2e5c1f257d38625be071a0014a6d588

Comment by Gerrit Updater [ 16/Jul/19 ]

James Simmons (jsimmons@infradead.org) uploaded a new patch: https://review.whamcloud.com/35531
Subject: LU-9897 build: use pkgconf for detecting libblkid
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 51730b2573cf294f776176accda74b48d9f1e64f

Comment by Gerrit Updater [ 09/Aug/19 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/35531/
Subject: LU-9897 build: use pkgconf for detecting libblkid
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 6bc3237477069c8ddc70deee6e0d7cbbbdf92a08

Comment by Gerrit Updater [ 30/Aug/19 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/36010
Subject: LU-9897 utils: remove dependency on libblkid
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 8804d466e8e460c0e23a8e1a7bada1a391a0b3ed

Comment by Gerrit Updater [ 30/Aug/19 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/36016
Subject: LU-9897 utils: remove llverfs dependency on libext2fs
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: e999d93deef0f61e7d9973d2689508ea09223488

Comment by Gerrit Updater [ 07/Sep/19 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36010/
Subject: LU-9897 utils: remove dependency on libblkid
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: fe0e096567ba148d5690316d2bad2226c0cf70bf

Comment by Gerrit Updater [ 12/Sep/19 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/36016/
Subject: LU-9897 utils: remove llverfs dependency on libext2fs
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 6703ea0bf5bd5584998472cadb6de83211802861

Comment by Gerrit Updater [ 04/Jun/20 ]

James Simmons (jsimmons@infradead.org) uploaded a new patch: https://review.whamcloud.com/38825
Subject: LU-9897 build: add binaries to .gitignore
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: d67b69dfaff005fec7e6a8854a0c3ebc5c67fda0

Comment by Gerrit Updater [ 10/Jun/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38825/
Subject: LU-9897 build: add binaries to .gitignore
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 60df7a8845859639d16f1c2163a65a74a6a51f78

Comment by Gerrit Updater [ 12/Jun/20 ]

James Simmons (jsimmons@infradead.org) uploaded a new patch: https://review.whamcloud.com/38921
Subject: LU-9897 utils: have lfs.c use lstddef.h
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 1ea538fb5e0b657dd7ec8ee962d527f54f0f5e03

Comment by Gerrit Updater [ 19/Jun/20 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/38921/
Subject: LU-9897 utils: have lfs.c use lstddef.h
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b12c5467366f1ce66bf8fe9973803414c947c322

Comment by Gerrit Updater [ 13/Jul/20 ]

Andreas Dilger (adilger@whamcloud.com) uploaded a new patch: https://review.whamcloud.com/39347
Subject: LU-9897 utils: allow setting llverfs subdir count
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 494a64527faf34660fc8de824579f6958243bb34

Comment by Gerrit Updater [ 30/Jun/21 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/39347/
Subject: LU-9897 utils: allow setting llverfs subdir count
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: c0086134f7ac8659422176a3db790a079632a8ea

Comment by Gerrit Updater [ 28/Aug/21 ]

"James Simmons <jsimmons@infradead.org>" uploaded a new patch: https://review.whamcloud.com/44778
Subject: LU-9897 tests: add generated files to .gitignore
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: c4db303f1422879ac06e3c09d134ed3452af3b3e

Comment by Gerrit Updater [ 11/Sep/21 ]

"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/44778/
Subject: LU-9897 tests: add generated files to .gitignore
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: 3ad89522912d74ec1c854e449957c45d1285cb25

Comment by Gerrit Updater [ 08/Dec/21 ]

"James Simmons <jsimmons@infradead.org>" uploaded a new patch: https://review.whamcloud.com/45793
Subject: LU-9897 build: create kmod-lnet-devel
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: b92e28bd904d6d790e6abd6093651eec3418cff3

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