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

sanity.sh test_103a "acl test" fails on el7

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • Lustre 2.7.0
    • Lustre 2.7.0
    • el7
    • 3
    • 15802

    Description

      Test 103a fails when the client node is running el7. some of the permissions subtests of 103a assume the user 'daemon' is a member of the group 'bin'. In a default install of el7 this isn't true. If I manually add 'daemon' as a member of the group 'bin' by editing the /etc/group file on the client node(s) for the test then test 103a passes 100%.

      I think it may be a TEI issue to ensure that the expected, assumed user/group setup is done on el7 test installs.

      Attachments

        Issue Links

          Activity

            [LU-5641] sanity.sh test_103a "acl test" fails on el7

            Patch landed to Master.

            jlevi Jodi Levi (Inactive) added a comment - Patch landed to Master.

            Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12762/
            Subject: LU-5641 tests: ensure user daemon is in group bin on mds
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 31832fab6d6da74e627133139b0c59c1dc07e62c

            gerrit Gerrit Updater added a comment - Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12762/ Subject: LU-5641 tests: ensure user daemon is in group bin on mds Project: fs/lustre-release Branch: master Current Patch Set: Commit: 31832fab6d6da74e627133139b0c59c1dc07e62c

            additional fix for el7 servers:
            http://review.whamcloud.com/12762

            bogl Bob Glossman (Inactive) added a comment - additional fix for el7 servers: http://review.whamcloud.com/12762

            Bob Glossman (bob.glossman@intel.com) uploaded a new patch: http://review.whamcloud.com/12762
            Subject: LU-5641 tests: ensure user daemon is in group bin on mds
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: bfcc1c2f167427688f645c1a26f0abe2d036a5eb

            gerrit Gerrit Updater added a comment - Bob Glossman (bob.glossman@intel.com) uploaded a new patch: http://review.whamcloud.com/12762 Subject: LU-5641 tests: ensure user daemon is in group bin on mds Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: bfcc1c2f167427688f645c1a26f0abe2d036a5eb

            need to reopen this to do more fixes for el7 server. the previous fix for this problem only fixed it for el7 clients.

            bogl Bob Glossman (Inactive) added a comment - need to reopen this to do more fixes for el7 server. the previous fix for this problem only fixed it for el7 clients.

            I looks like sanity.sh test_103a passed for RHEL 7 according to:
            https://testing.hpdd.intel.com/test_sets/bc4bc48a-4f69-11e4-9892-5254006e85c2

            adilger Andreas Dilger added a comment - I looks like sanity.sh test_103a passed for RHEL 7 according to: https://testing.hpdd.intel.com/test_sets/bc4bc48a-4f69-11e4-9892-5254006e85c2
            bogl Bob Glossman (Inactive) added a comment - proposed fix: http://review.whamcloud.com/12044

            yes, I said that was the problem in my initial description. by default in el7 /etc/group user 'daemon' is not a member of group 'bin'.

            There's another option. the cmd 'gpasswd -a daemon bin' can be used to add user 'daemon' to group 'bin' sometime before running the test. Doing so would meke the environment conform to the expectations of the test. This cmd is available everywhere, in all distros and versions that I have polled. It is safe to use as it appears to be a noop when 'daemon' is already a member of the group. The only problem I see is who does this and on what nodes. I had suggested something like this be done during provisioning of el7 nodes in the TEI framework. Seems comparable to operations they already do like adding extra user & group entries into our test environment.

            bogl Bob Glossman (Inactive) added a comment - yes, I said that was the problem in my initial description. by default in el7 /etc/group user 'daemon' is not a member of group 'bin'. There's another option. the cmd 'gpasswd -a daemon bin' can be used to add user 'daemon' to group 'bin' sometime before running the test. Doing so would meke the environment conform to the expectations of the test. This cmd is available everywhere, in all distros and versions that I have polled. It is safe to use as it appears to be a noop when 'daemon' is already a member of the group. The only problem I see is who does this and on what nodes. I had suggested something like this be done during provisioning of el7 nodes in the TEI framework. Seems comparable to operations they already do like adding extra user & group entries into our test environment.

            The problem is that lustre/tests/acl/{misc,permission}.test expect that daemon is in the bin group, and that is not easily changed in the test itself (the requirements are described at the top of these files). On my RHEL6 /etc/group the system accounts look like:

            bin:x:1:root,bin,daemon
            daemon:x:2:root,bin,daemon
            sys:x:3:root,bin,adm
            adm:x:4:root,adm,daemon
            

            It would be useful to see what the /etc/group file looks like for RHEL7, so that it might be possible to just replace "bin" and/or "daemon" in the expect output and it will continue to work for both RHEL6 and RHEL7 and SLES11.

            Probably the best option is to download the "acl" source RPM from RHEL7 to get an updated copy of the scripts and expect output from the "test" directory. It might be necessary to put this into a separate subdirectory (e.g. lustre/tests/acl-rhel7) but would probably improve our test coverage.

            adilger Andreas Dilger added a comment - The problem is that lustre/tests/acl/{misc,permission}.test expect that daemon is in the bin group, and that is not easily changed in the test itself (the requirements are described at the top of these files). On my RHEL6 /etc/group the system accounts look like: bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon It would be useful to see what the /etc/group file looks like for RHEL7, so that it might be possible to just replace "bin" and/or "daemon" in the expect output and it will continue to work for both RHEL6 and RHEL7 and SLES11. Probably the best option is to download the "acl" source RPM from RHEL7 to get an updated copy of the scripts and expect output from the "test" directory. It might be necessary to put this into a separate subdirectory (e.g. lustre/tests/acl-rhel7) but would probably improve our test coverage.

            errors seen:

              .
              .
              .
            performing permissions...
            [12] $ id -u -- ok
              .
              .
              .
            [52] $ su daemon -- ok
            [53] $ cat f -- failed
            root                                  ? cat: f: Permission denied              
            bin                                   ? ~                                      
            [57] $ echo daemon >> f -- ok
              .
              .
              .
            [173] $ setfacl -m g:bin:r,g:daemon:w f -- ok
            [175] $ su daemon -- ok
            [176] $ : < f -- failed
            ~                                     ? f: Permission denied                   
            [177] $ : > f -- ok
            [178] $ : <> f -- ok
              .
              .
              .
            [283] $ cd .. -- ok
            [284] $ rm -rf d -- ok
            101 commands (99 passed, 2 failed)
             sanity test_103a: @@@@@@ FAIL: permissions failed 
              Trace dump:
              = /usr/lib64/lustre/tests/test-framework.sh:4571:error_noexit()
              = /usr/lib64/lustre/tests/test-framework.sh:4602:error()
              = /usr/lib64/lustre/tests/sanity.sh:6874:test_103a()
              = /usr/lib64/lustre/tests/test-framework.sh:4849:run_one()
              = /usr/lib64/lustre/tests/test-framework.sh:4884:run_one_logged()
              = /usr/lib64/lustre/tests/test-framework.sh:4703:run_test()
              = /usr/lib64/lustre/tests/sanity.sh:6910:main()
            Dumping lctl log to /tmp/test_logs/2014-09-19/111136/sanity.test_103a.*.1411150356.log
            FAIL 103a (14s)
            resend_count is set to 4 4
            resend_count is set to 4 4
            resend_count is set to 4 4
            resend_count is set to 4 4
            resend_count is set to 4 4
            == sanity test complete, duration 21 sec ============================================================= 11:12:38 (1411150358)
            sanity: FAIL: test_103a permissions failed
            
            bogl Bob Glossman (Inactive) added a comment - errors seen: . . . performing permissions... [12] $ id -u -- ok . . . [52] $ su daemon -- ok [53] $ cat f -- failed root ? cat: f: Permission denied bin ? ~ [57] $ echo daemon >> f -- ok . . . [173] $ setfacl -m g:bin:r,g:daemon:w f -- ok [175] $ su daemon -- ok [176] $ : < f -- failed ~ ? f: Permission denied [177] $ : > f -- ok [178] $ : <> f -- ok . . . [283] $ cd .. -- ok [284] $ rm -rf d -- ok 101 commands (99 passed, 2 failed) sanity test_103a: @@@@@@ FAIL: permissions failed Trace dump: = /usr/lib64/lustre/tests/test-framework.sh:4571:error_noexit() = /usr/lib64/lustre/tests/test-framework.sh:4602:error() = /usr/lib64/lustre/tests/sanity.sh:6874:test_103a() = /usr/lib64/lustre/tests/test-framework.sh:4849:run_one() = /usr/lib64/lustre/tests/test-framework.sh:4884:run_one_logged() = /usr/lib64/lustre/tests/test-framework.sh:4703:run_test() = /usr/lib64/lustre/tests/sanity.sh:6910:main() Dumping lctl log to /tmp/test_logs/2014-09-19/111136/sanity.test_103a.*.1411150356.log FAIL 103a (14s) resend_count is set to 4 4 resend_count is set to 4 4 resend_count is set to 4 4 resend_count is set to 4 4 resend_count is set to 4 4 == sanity test complete, duration 21 sec ============================================================= 11:12:38 (1411150358) sanity: FAIL: test_103a permissions failed

            People

              bogl Bob Glossman (Inactive)
              bogl Bob Glossman (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: