[LU-11176] Ubuntu package Issue Created: 25/Jul/18  Updated: 15/Aug/18  Resolved: 09/Aug/18

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.10.4
Fix Version/s: Lustre 2.12.0, Lustre 2.10.5

Type: Bug Priority: Major
Reporter: James Beal Assignee: James A Simmons
Resolution: Fixed Votes: 0
Labels: None
Environment:

Ubuntu 16.04


Issue Links:
Related
is related to LU-10997 Ubuntu 18 support Resolved
is related to LU-10470 performance-sanity on ubuntu: missing... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

1) Ubuntu has modprobe at /sbin/modprobe rather than /usr/sbin/modprobe making the supplied lnet service  ( lib/systemd/system/lnet.service  ) unworkable.

[Unit] 
Description=lnet management 
 
Requires=network-online.target 
After=network-online.target 
 
ConditionPathExists=!/proc/sys/lnet/ 
 
[Service] 
Type=oneshot 
RemainAfterExit=true 
ExecStart=/usr/sbin/modprobe lnet 
#ExecStart=/usr/sbin/lctl network up 
#ExecStart=/usr/sbin/lustre_routes_config /etc/lnet_routes.conf 
ExecStart=/usr/sbin/lnetctl lnet configure 
ExecStart=/usr/sbin/lnetctl import /etc/lnet.conf 
ExecStop=/usr/sbin/lustre_rmmod ptlrpc 
#ExecStop=/usr/sbin/lctl network down 
ExecStop=/usr/sbin/lnetctl lnet unconfigure 
ExecStop=/usr/sbin/lustre_rmmod libcfs ldiskfs 
 
[Install] 
WantedBy=multi-user.target  

2) The share libraries for lnetctl are not shipped.

 root@jb23play:~# ldd /usr/sbin/lnetctl 
 linux-vdso.so.1 => (0x00007fff2f7b5000) 
 liblnetconfig.so.2 => not found 
 libreadline.so.6 => /lib/x86_64-linux-gnu/libreadline.so.6 (0x00007f32277ef000) 
 libyaml-0.so.2 => /usr/lib/x86_64-linux-gnu/libyaml-0.so.2 (0x00007f32275d0000) 
 libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f32272c7000) 
 libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3226efd000) 
 libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f3226cd4000) 
 /lib64/ld-linux-x86-64.so.2 (0x00007f3227a35000) 
 
root@jb23play:~# apt-cache search ^lustr 
zfs-dkms - Native OpenZFS filesystem kernel modules for Linux 
lustre-dev - Development files for the Lustre filesystem 
lustre-tests - Test suite for the Lustre filesystem 
lustre-iokit - Collection of benchmark tools for the Lustre filesystem 
lustre-utils - Userspace utilities for the Lustre filesystem 
lustre-client-modules-4.4.0-116-generic - Lustre Linux kernel module (kernel 4.4.0-116-generic) 
 
root@jb23play:~# dpkg -S /usr/lib/liblnetconfig.so 
lustre-dev: /usr/lib/liblnetconfig.so 
root@jb23play:~# dpkg -S /usr/lib/liblnetconfig.a 
lustre-dev: /usr/lib/liblnetconfig.a

While the first issue can be worked around with an systemd override the lack of the shared library makes the service fail|



 Comments   
Comment by James Beal [ 26/Jul/18 ]

I would expect this to be fixed for 2.10.5 ?

Comment by James A Simmons [ 26/Jul/18 ]

I hope so. Need to create a patch for master first so it can be back ported. I'm waiting for initial Ubuntu18  server support to land first.

Comment by James A Simmons [ 30/Jul/18 ]

Can you tell me output of:

dpkg -c lustre-client-utils_*.deb

Currently I see lnetctl and liblnetconfig are their.

Comment by James Beal [ 01/Aug/18 ]

Looking at https://downloads.whamcloud.com/public/lustre/lustre-2.10.4/ubuntu1604/client/

I see:

lustre-client-modules-4.4.0-116-generic_2.10.4-1_amd64.deb 2018-05-22 17:32 17M  
lustre-dev_2.10.4-1_amd64.deb 2018-05-22 17:27 471K  
lustre-iokit_2.10.4-1_amd64.deb 2018-05-22 17:27 126K  
lustre-source_2.10.4-1_all.deb 2018-05-22 17:27 12M  
lustre-tests_2.10.4-1_amd64.deb 2018-05-22 17:28 7.3M  
lustre-utils_2.10.4-1_amd64.deb 2018-05-22 17:27 447K  
sha256sum 2018-05-22 17:51 612  
 

 

Which does not have lustre-client-utils ?

 

root@jb23xeniallustre:/tmp# dpkg -c lustre-utils_2.10.4-1_amd64.deb | grep liblnetconfig.so
root@jb23xeniallustre:/tmp# curl https://downloads.whamcloud.com/public/lustre/lustre-2.10.4/ubuntu1604/client/lustre-utils_2.10.4-1_amd64.deb -o lustre-utils_2.10.4-1_amd64.deb
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 446k 100 446k 0 0 293k 0 0:00:01 0:00:01 -::- 293k
root@jb23xeniallustre:/tmp# dpkg -c lustre-utils_2.10.4-1_amd64.deb | grep liblnetconfig.so
root@jb23xeniallustre:/tmp# dpkg -c lustre-utils_2.10.4-1_amd64.deb | grep liblnet

 

Comment by James A Simmons [ 01/Aug/18 ]

I see what happen. Some how the patch for LU-10569 was not merged properly. The handling of liblnetconfig got dropped. I can create a patch for you some time tomorrow.

BTW making lustre 2.10 build on Ubuntu 18 is a very painful experience.

Comment by James Beal [ 02/Aug/18 ]

Thanks, If you have any questions about packaging we have a couple of debian developers in the group I am a member of and I am sure I can volunteer them

 

 

 

Comment by Gerrit Updater [ 06/Aug/18 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32943
Subject: LU-11176 build: properly package the shared libraries for debian/Ubuntu
Project: fs/lustre-release
Branch: b2_10
Current Patch Set: 1
Commit: b304a4e28b253d666d609badcf1203eaa36dece6

Comment by Gerrit Updater [ 06/Aug/18 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32944
Subject: LU-11176 systemd: use univeral path for modprobe
Project: fs/lustre-release
Branch: master
Current Patch Set: 1
Commit: 824985899c6cfac835a8d392df79be7207b46e1a

Comment by James A Simmons [ 06/Aug/18 ]

That should fix everything. Let me know if you still have problems.

Comment by James Beal [ 07/Aug/18 ]

patches look good, until there is a release I can't easily prove they fix things

Comment by Gerrit Updater [ 09/Aug/18 ]

Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32944/
Subject: LU-11176 systemd: use univeral path for modprobe
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: aa50bf9e63ac35f13f1e170daac9ebce29d450cc

Comment by Gerrit Updater [ 09/Aug/18 ]

James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32970
Subject: LU-11176 systemd: use univeral path for modprobe
Project: fs/lustre-release
Branch: b2_10
Current Patch Set: 1
Commit: fd2e7915d5101cfa70826b2b0e7319265621137a

Comment by Peter Jones [ 09/Aug/18 ]

The necessary change has landed for 2.12 so, innocent until proven guilty...

Comment by James A Simmons [ 09/Aug/18 ]

Yep, 2.12 is fixed. Now to land the back ports for LTS.

Comment by Peter Jones [ 09/Aug/18 ]

Yup. That is tracked by the LTS label.

Comment by Gerrit Updater [ 13/Aug/18 ]

John L. Hammond (jhammond@whamcloud.com) merged in patch https://review.whamcloud.com/32943/
Subject: LU-11176 build: properly package the shared libraries for debian/Ubuntu
Project: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: daa4bedf6781d6ea7259845f5fc3721fc7797a0b

Comment by Gerrit Updater [ 13/Aug/18 ]

John L. Hammond (jhammond@whamcloud.com) merged in patch https://review.whamcloud.com/32970/
Subject: LU-11176 systemd: use univeral path for modprobe
Project: fs/lustre-release
Branch: b2_10
Current Patch Set:
Commit: 618ba12b9e0d417d47fed55f23ce24acabbd2e6f

Comment by Peter Jones [ 13/Aug/18 ]

james beal

I think that you should be able to access https://build.whamcloud.com/job/lustre-b2_10/arch=x86_64,build_type=client,distro=ubuntu1604,ib_stack=inkernel/ and see if this now works as required

Peter

Comment by James Beal [ 15/Aug/18 ]

I have used https://build.whamcloud.com/job/lustre-b2_10/arch=x86_64,build_type=client,distro=ubuntu1604,ib_stack=inkernel/135/artifact/artifacts/lustre-utils_2.10.5-RC2-1_amd64.deb and https://build.whamcloud.com/job/lustre-b2_10/arch=x86_64,build_type=client,distro=ubuntu1604,ib_stack=inkernel/135/artifact/artifacts/lustre-client-modules-4.4.0-127-generic_2.10.5-RC2-1_amd64.deb

And I can build a working system from those two packages.

Comment by Peter Jones [ 15/Aug/18 ]

Excellent! Thanks for confirming James. This means 2.10.5 should be fine.

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