Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-10627

tests/utils: lhsmtool_posix now runs lt-lhsmtool_posix and breaks tests

Details

    • 3
    • 9223372036854775807

    Description

      When running tests locally lhsmtool_posix is a bash script that internally runs lustre/utils/.libs/lt-lhsmtool_posix. I assume this is due to the use of libtool in the compilation process.

      Running pgrep "lhsmtool_posix" now yields no pid since the actual process is named "lt-lhsmtool_posix".
      This breaks quite a lot of tests in sanity-hsm.

      Attachments

        Issue Links

          Activity

            [LU-10627] tests/utils: lhsmtool_posix now runs lt-lhsmtool_posix and breaks tests

            Landed for 2.12

            simmonsja James A Simmons added a comment - Landed for 2.12

            Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32835/
            Subject: LU-10627 tests: don't use libtool wrapper for applications
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: fd472f9427931092bab8d676798bc3f9744a552b

            gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32835/ Subject: LU-10627 tests: don't use libtool wrapper for applications Project: fs/lustre-release Branch: master Current Patch Set: Commit: fd472f9427931092bab8d676798bc3f9744a552b

            James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32835
            Subject: LU-10627 tests: don't use libtool wrapper for applications
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 3e6fcf41eb85af32899fefcccc303b07eb61c111

            gerrit Gerrit Updater added a comment - James Simmons (uja.ornl@yahoo.com) uploaded a new patch: https://review.whamcloud.com/32835 Subject: LU-10627 tests: don't use libtool wrapper for applications Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 3e6fcf41eb85af32899fefcccc303b07eb61c111

            Okay I looked into this problem and found the solution. If you add the following it disables creating libtool executable wrappers.
            prog_LDFLAGS = -no-install

            simmonsja James A Simmons added a comment - Okay I looked into this problem and found the solution. If you add the following it disables creating libtool executable wrappers. prog_LDFLAGS = -no-install

            Now that I'm testing Ubuntu 18 on my local system I will be testing lustre without installing it so I will look to fix this. The easy way to fix this is change $LUSTRE/utils/ to $LUSTRE/utils/.libs but I'm also looking at using env to properly set the PATH variable so the right application would be used.

            simmonsja James A Simmons added a comment - Now that I'm testing Ubuntu 18 on my local system I will be testing lustre without installing it so I will look to fix this. The easy way to fix this is change $LUSTRE/utils/ to $LUSTRE/utils/.libs but I'm also looking at using env to properly set the PATH variable so the right application would be used.

            Hi John,

            Your workaround works for me, thanks!

            Hi James,

            I tried what you suggested (before using ./configure --disable-shared) but it did not work. The main issue is that sanity-hsm uses killall "lhsmtool_posix" to kill copytools (unlike pkill, killall only affects processes whose name fully matches its arguments). Since internally, the libtool-generated lhsmtool_posix calls exec lt-lhsmtool_posix, killall fails to find any matching process.

            bougetq Quentin Bouget (Inactive) added a comment - Hi John, Your workaround works for me, thanks! Hi James, I tried what you suggested (before using ./configure --disable-shared ) but it did not work. The main issue is that sanity-hsm uses killall "lhsmtool_posix" to kill copytools (unlike pkill , killall only affects processes whose name fully matches its arguments). Since internally, the libtool-generated lhsmtool_posix calls exec lt-lhsmtool_posix , killall fails to find any matching process.
            simmonsja James A Simmons added a comment - - edited

            I have an idea. Can you try and change 

            export LD_LIBRARY_PATH=${LUSTRE}/utils:${LD_LIBRARY_PATH}

            in test-framework.sh to

            export LD_LIBRARY_PATH=${LUSTRE}/utils/.libs:${LD_LIBRARY_PATH}

            Let me know if that works.

            simmonsja James A Simmons added a comment - - edited I have an idea. Can you try and change  export LD_LIBRARY_PATH=${LUSTRE}/utils:${LD_LIBRARY_PATH} in test-framework.sh to export LD_LIBRARY_PATH=${LUSTRE}/utils/.libs:${LD_LIBRARY_PATH} Let me know if that works.
            jhammond John Hammond added a comment -

            Hi Quentin,

            Yes this is due to libtoolization of lustre/utils/ done by https://review.whamcloud.com/30562 LU-5541 build: move libcfs and liblustreapi over to libtool.

            I have been using ./configure --disable-shared as a workaround for this issue when I am doing local testing. There may be a better fix for this but I do not know it.

            jhammond John Hammond added a comment - Hi Quentin, Yes this is due to libtoolization of lustre/utils/ done by https://review.whamcloud.com/30562 LU-5541 build: move libcfs and liblustreapi over to libtool. I have been using ./configure --disable-shared as a workaround for this issue when I am doing local testing. There may be a better fix for this but I do not know it.

            People

              simmonsja James A Simmons
              cealustre CEA
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: