[lustre-devel] sanity-hsm and libtool

James Simmons jsimmons at infradead.org
Mon Jul 22 17:23:20 PDT 2019


>       Le 19/07/2019 17:21, « James Simmons » <jsimmons at infradead.org> a écrit :
> 
> 
>           > Hi!
>           >
>           > 
>           >
>           > I'm trying to run sanity-hsm.sh tests in my lustre source directory as I'm used to.
>           >
>           > Since libtool patch was landed, tools like lhsmtool_posix are executed through a wrapper and appear in process list as
>       'lt-lhsmtool_posix'.
>           >
>           > Some tests try to find and kill them, relying on command like:
>           >
>           > 
>           >
>           > "ps -C $HSMTOOL"
>           >
>           > 
>           >
>           > Even if run through "libtool execute ps -C $HSMTOOL" (as it is in the source right now) this command does not catch the
>       proper process and
>           > so fail the test.
>           >
>           > 
>           >
>           > I'm wondering what the proper way to run the test suite to have it working and how this is working in Maloo?
>           >
>           > I'm doing:
>           >
>           > 
>           >
>           > git clone
>           >
>           > autogen
>           >
>           > configure
>           >
>           > make
>           >
>           > sudo REFORMAT=: ./lustre/tests/sanity-hsm.sh
>           >
>           > 
>           >
>           > 
>           >
>           > 
>           >
>           > By the way, when hsm helper functions were moved from sanity-hsm.sh to test-framework.sh (f172b1168, for PCC), some of
>       them were just
>           > copied and not moved. So there are several duplicates between these 2 files. I think that's not on purpose?
> 
>           What version of lustre are you testing with? Their was a patch landed to
>           handle this.
> 
>           LU-11742 test: have libtool execute the test binaries
> 
>           which is lustre commit f9e5224fbb60bb8b44753b7be10cb06108627f89. This has
>           been back ported to 2.12 LTS. Can you see if your lustre tree has this
>           fix.
> 
>           See https://www.gnu.org/software/libtool/manual/html_node/Debugging-executables.html
>           for details about using libtool against the binary wrappers.
> 
>       I'm running master.
>       That's exactly the patch which is giving me issue.
>       I can run sanity-hsm successfully prior to this patch, not after.
> 
>       Aurélien
> 
> 
> I concur : I cannot run sanity-hsm on master. Works fine when checking out the commit right before the libtool patch , breaks if the patch
> is applied.
> 
> With some testing it appears this is because "libtool execute" does does not use the PATH environment variable when it resolves paths :
> 
> $> pwd
> /home/user/lustre-release
> $> export PATH=lustre/utils:/usr/bin
> $> which lhsmtool_posix
> /home/user/lustre-release/lustre/utils/lhsmtool_posix
> $> libtool execute echo lhsmtool_posix
> lhsmtool_posix
> $> libtool execute echo lustre/utils/lhsmtool_posix
> /home/user/lustre-release/luster/utils/.libs/lhsmtool_posix
> 
> I suspect this works on Maloo because Maloo does not run tests from the git repo but rather from installed rpms (=> no libtool wrappers).
> 
> @James, I can see you asked me a follow-up review on the patch that introduces this regressions, and I did not answer, Sorry about that. I
> will try to keep better track of patches I reviewed at least once... In this spirit, I will try to update my review of this change this
> weekend. =)

This is strange since Oleg does his testing in the lustre source tree 
directly. I would think he would have encounter this issue. I need 
to looking how libtool does its path searches.


More information about the lustre-devel mailing list