Difference between revisions of "EMI gLExec release test plan and report"

From PDP/Grid Wiki
Jump to navigationJump to search
 
(15 intermediate revisions by 2 users not shown)
Line 243: Line 243:
  
 
=== Regression tests ===
 
=== Regression tests ===
 
Savannah bug [https://savannah.cern.ch/bugs/?53192 53192]: '''scas-client: segfaults with malformed lcmaps-glexec.db''' (implemented):
 
 
The SCAS-client plugin will not trigger a segmentation fault and pull gLExec with it when the SCAS host is not a FQDN.
 
  
 
==== Savannah: https://savannah.cern.ch/bugs/?64057 ====
 
==== Savannah: https://savannah.cern.ch/bugs/?64057 ====
 
DESCRIPTION: glexec fails with a misleading error message if the configuration cannot be read
 
DESCRIPTION: glexec fails with a misleading error message if the configuration cannot be read
  
REPRODUCE: install glexec in setuid mode (-r-sr-sr-s root.glexec) and the config file as (-r--r----- root.root)
+
REPRODUCE: install glexec in setuid mode
 +
-r-sr-sr-s root.glexec /usr/sbin/glexec
 +
and the config file as
 +
-r--r----- root.root   /etc/glexec.conf
  
 
CHECK: Error message
 
CHECK: Error message
  
FAILED: Get [gLExec]:  The user, uid=502(tester), is not whitelisted. The calling user account is not privileged to execute and use gLExec.
+
FAILED: Get
 +
[gLExec]:  The user, uid=502(tester), is not whitelisted. The calling user account is not privileged to execute and use gLExec.
  
PASSED: [gLExec]:  User tester (uid=502) is not whitelisted, i.e. may not invoke gLExec.
+
PASSED:  
If this is unexpected, ask the sysadmin to check the syslog and the
+
[gLExec]:  User tester (uid=502) is not whitelisted, i.e. may not invoke gLExec.
permissions of the config file.
+
          If this is unexpected, ask the sysadmin to check the syslog and the
 +
          permissions of the config file.
  
 
==== Savannah: https://savannah.cern.ch/bugs/?77767 ====
 
==== Savannah: https://savannah.cern.ch/bugs/?77767 ====
Line 271: Line 272:
  
 
PASSED: GLEXEC_LOCATION available and set
 
PASSED: GLEXEC_LOCATION available and set
 
  
 
==== Savannah: https://savannah.cern.ch/bugs/?82714 ====
 
==== Savannah: https://savannah.cern.ch/bugs/?82714 ====
Line 277: Line 277:
  
 
REPRODUCE:
 
REPRODUCE:
install and configure yaim-glexec-wn
+
* install and configure yaim-glexec-wn
configure site-info.def to use ARGUS: set
+
* configure site-info.def to use ARGUS: set in <tt>siteinfo/services/glite-glexec_wn</tt>
 
  GLEXEC_WN_ARGUS_ENABLED=yes
 
  GLEXEC_WN_ARGUS_ENABLED=yes
in siteinfo/services/glite-glexec_wn
+
* run YAIM
run YAIM
 
CHECK: contents of /etc/glexec.conf
 
  
FAILED: configuration file contains use_lcas = yes
+
CHECK: contents of <tt>/etc/glexec.conf</tt>
  
PASSED: configuration file must contain use_lcas = no (default is to use LCAS). (this test passed; where do I record this?)
+
FAILED: configuration file contains <tt>use_lcas = yes</tt>
 +
 
 +
PASSED: configuration file must contain <tt>use_lcas = no</tt> (default is to use LCAS).
  
 
==== Savannah: https://savannah.cern.ch/bugs/?86453 ====
 
==== Savannah: https://savannah.cern.ch/bugs/?86453 ====
Line 300: Line 300:
 
  ---s--x--x 1 root root      147456 Apr  3 02:59 /usr/sbin/glexec
 
  ---s--x--x 1 root root      147456 Apr  3 02:59 /usr/sbin/glexec
  
https://savannah.cern.ch/bugs/?88318
+
==== Savannah: https://savannah.cern.ch/bugs/?88318 ====
LCMAPS excessive logging (2)
+
DESCRIPTION: LCMAPS excessive logging (2)
 +
 
 
REPRODUCE: Normal installation with LCMAPS =<1.4.x, log with gLExec to Syslog, configure to log LOG_INFO
 
REPRODUCE: Normal installation with LCMAPS =<1.4.x, log with gLExec to Syslog, configure to log LOG_INFO
 +
 
CHECK: Amount of log lines
 
CHECK: Amount of log lines
 +
 
FAILED: More then O(10) log lines
 
FAILED: More then O(10) log lines
 +
  
  
https://savannah.cern.ch/bugs/?89773
+
==== Savannah: https://savannah.cern.ch/bugs/?89773 ====
https://rt.egi.eu/rt/Ticket/Display.html?id=1474
+
REFERENCES:
https://rt.egi.eu/rt/Ticket/Display.html?id=1475
+
https://rt.egi.eu/rt/Ticket/Display.html?id=1474
https://rt.egi.eu/rt/Ticket/Display.html?id=1476
+
https://rt.egi.eu/rt/Ticket/Display.html?id=1475
https://rt.egi.eu/rt/Ticket/Display.html?id=1641
+
https://rt.egi.eu/rt/Ticket/Display.html?id=1476
Mirror bug for gLExec
+
https://rt.egi.eu/rt/Ticket/Display.html?id=1641
 +
Mirror bug for gLExec
 +
 
 +
==== Savannah: https://savannah.cern.ch/bugs/?89792 ====
 +
DESCRIPTION: YAIM-gLExec-wn should let gLExec do the userswitch
  
https://savannah.cern.ch/bugs/?89792
 
YAIM-gLExec-wn should let gLExec do the userswitch
 
 
REPRODUCE: Run YAIM to observe the configuration in the glexec.conf and lcmaps.db
 
REPRODUCE: Run YAIM to observe the configuration in the glexec.conf and lcmaps.db
 
+
 
 +
or has no setting at all (default is switch by glexec).
 +
 
  
 +
 
PASSED: On successful switch by glexec
 
PASSED: On successful switch by glexec
  
https://savannah.cern.ch/bugs/?91835
+
==== Savannah: https://savannah.cern.ch/bugs/?91835 ====
https://savannah.cern.ch/bugs/index.php?72377
+
REFERENCES:
https://savannah.cern.ch/bugs/index.php?72378
+
https://savannah.cern.ch/bugs/index.php?72377
https://rt.egi.eu/rt/Ticket/Display.html?id=465
+
https://savannah.cern.ch/bugs/index.php?72378
https://rt.egi.eu/rt/Ticket/Display.html?id=466
+
https://rt.egi.eu/rt/Ticket/Display.html?id=465
Mirror bug for gLExec
+
https://rt.egi.eu/rt/Ticket/Display.html?id=466
 +
Mirror bug for gLExec
 +
 
 +
==== Savannah: https://savannah.cern.ch/bugs/?91836 ====
 +
DESCRIPTION: Signal handling in gLExec 0.9.0 can hang up gLExec
  
https://savannah.cern.ch/bugs/?91836
 
Signal handling in gLExec 0.9.0 can hang up gLExec
 
 
REPRODUCE: run glexec and flood it with signals after a very small delay, such that it traps signals e.g. during a syslog call. E.g. run several times:
 
REPRODUCE: run glexec and flood it with signals after a very small delay, such that it traps signals e.g. during a syslog call. E.g. run several times:
 +
<pre>
 
#!/bin/bash
 
#!/bin/bash
 
export GLEXEC_CLIENT_CERT=/tmp/x509up_u`id -u`
 
export GLEXEC_CLIENT_CERT=/tmp/x509up_u`id -u`
Line 338: Line 350:
 
ps -fp $pid
 
ps -fp $pid
 
for ((i=1; i<100; i++));do
 
for ((i=1; i<100; i++));do
s=$((i%64+1))
+
      s=$((i%64+1))
((s==9 || s==19 || s==32 || s==33)) && s=11
+
      ((s==9 || s==19 || s==32 || s==33)) && s=11
kill -$s $pid
+
      kill -$s $pid
 
done
 
done
 +
</pre>
 +
 
CHECK: gLExec does not hang up, even after many times.
 
CHECK: gLExec does not hang up, even after many times.
FAIL: gLExec locks up and can only be killed with a kill -9, an strace will show gLExec hangs is a lock.
+
 
 +
FAIL: gLExec locks up and can only be killed with a kill -9, an strace will show gLExec hangs in a lock.
 +
 
 
PASSED: gLExec will get interrupted or killed in a clean way.
 
PASSED: gLExec will get interrupted or killed in a clean way.
  
https://savannah.cern.ch/bugs/?91963
+
==== Savannah: https://savannah.cern.ch/bugs/?91963 ====
gLExec should check whether stdin/stdout/stderr exists
+
DESCRIPTION: gLExec should check whether stdin/stdout/stderr exists
 +
 
 
REPRODUCE: run in non-setuid mode:
 
REPRODUCE: run in non-setuid mode:
/usr/sbin/glexec /bin/sleep 60 1>&- 2>&- 0<&-
+
/usr/sbin/glexec /bin/sleep 60 1>&- 2>&- 0<&-
 +
 
 
CHECK: run:
 
CHECK: run:
ls -l /proc/`ps -o pid= -C glexec`/fd/[012]
+
ls -l /proc/`ps -o pid= -C glexec`/fd/[012]
 +
 
 
FAILED: e.g. filedescriptor 2 is missing, and filedescriptors 0 and 1 point to a socket (from syslog)
 
FAILED: e.g. filedescriptor 2 is missing, and filedescriptors 0 and 1 point to a socket (from syslog)
 +
 
PASSED: filedescriptors 0-2 point to /dev/null
 
PASSED: filedescriptors 0-2 point to /dev/null
  
https://savannah.cern.ch/bugs/?92667
+
==== Savannah: https://savannah.cern.ch/bugs/?92667 ====
gLExec 0.9.3 segfaults when preserve_env_variables is used in config
+
DESCRIPTION: gLExec 0.9.3 segfaults when preserve_env_variables is used in config
 +
 
 
REMARKS: Bug is cross-platform, but segfault occurs on SL6
 
REMARKS: Bug is cross-platform, but segfault occurs on SL6
 +
 
REPRODUCE: install glexec-0.9.3 on RH6 system and add preserve_env_variables = anything to the /etc/glexec.conf, then run /usr/sbin/glexec /usr/bin/id
 
REPRODUCE: install glexec-0.9.3 on RH6 system and add preserve_env_variables = anything to the /etc/glexec.conf, then run /usr/sbin/glexec /usr/bin/id
 +
 
CHECK: with preserve_env_variables there should be no problem in running glexec
 
CHECK: with preserve_env_variables there should be no problem in running glexec
FAILED: [gLExec]:  Premature exit due to signal, signal: 11
 
PASSED: no error message
 
  
https://savannah.cern.ch/bugs/?92812
+
FAILED:
LCMAPS without GSI SIGABORTs in StoRM EMI 2 RC3
+
[gLExec]:  Premature exit due to signal, signal: 11
 +
 
 +
PASSED: no error message, normal execution.
 +
 
 +
==== Savannah: https://savannah.cern.ch/bugs/?92812 ====
 +
DESCRIPTION: LCMAPS without GSI SIGABORTs in StoRM EMI 2 RC3
 +
 
 
REPRODUCE: install lcmaps version 1.5.2 (EMI RC 3)
 
REPRODUCE: install lcmaps version 1.5.2 (EMI RC 3)
 +
 
CHECK: run llrun using the without GSI interface.
 
CHECK: run llrun using the without GSI interface.
 +
 
PASSED: On successful llrun
 
PASSED: On successful llrun
 +
 
FAILED: On segmentation fault or abort based on an invalid free.
 
FAILED: On segmentation fault or abort based on an invalid free.
 +
 
REMARKS: The 1.5.3 version and newer of LCMAPS fixes the problem observed here
 
REMARKS: The 1.5.3 version and newer of LCMAPS fixes the problem observed here
  
https://savannah.cern.ch/bugs/?92818
+
==== Savannah: https://savannah.cern.ch/bugs/?92818 ====
glite_wms_wmproxy_server crashes with a SEGV when using the LCMAPS 1.5.2
+
DESCRIPTION: glite_wms_wmproxy_server crashes with a SEGV when using the LCMAPS 1.5.2
 +
 
 
REPRODUCE: install lcmaps version 1.5.2 (EMI RC 3)
 
REPRODUCE: install lcmaps version 1.5.2 (EMI RC 3)
 +
 
CHECK: run llrun using the without GSI interface.
 
CHECK: run llrun using the without GSI interface.
 +
 
PASSED: On successful llrun
 
PASSED: On successful llrun
 +
 
FAILED: On segmentation fault or abort based on an invalid free.
 
FAILED: On segmentation fault or abort based on an invalid free.
 +
 
REMARKS: The 1.5.3 version and newer of LCMAPS fixes the problem observed here
 
REMARKS: The 1.5.3 version and newer of LCMAPS fixes the problem observed here
 +
 
REMARKS: Similar to Savannah bug 92812
 
REMARKS: Similar to Savannah bug 92812
  
https://savannah.cern.ch/bugs/?93187
+
==== Savannah: https://savannah.cern.ch/bugs/?93187 ====
glexec-configure script contains some errors
+
DESCRIPTION: glexec-configure script contains some errors
 +
 
 +
REPRODUCE: run
 +
/usr/sbin/glexec-configure -o /tmp/glexec.conf -d /tmp/lcmaps.db argus argus.testbed
 +
 
 +
CHECK: the contents of /tmp/glexec.conf and /tmp/lcmaps.db
 +
 
 +
FAIL: e.g. endpoint line in pepc entry is missing a " at the end of the line
 +
 
 +
PASS: glexec-configure produces valid, working glexec.conf and lcmaps.db files
 +
 
 +
==== Savannah: https://savannah.cern.ch/bugs/?93190 ====
 +
DESCRIPTION: LCMAPS gives misleading error when PDL parsing fails
  
https://savannah.cern.ch/bugs/?93190
 
LCMAPS gives misleading error when PDL parsing fails
 
  
 +
 
CHECK: Error message from LCMAPS
 
CHECK: Error message from LCMAPS
 +
 
PASSED: Error message flags it as a parse error
 
PASSED: Error message flags it as a parse error
 +
 
FAILED: Error message flags it as an out of memory error
 
FAILED: Error message flags it as an out of memory error
  
https://savannah.cern.ch/bugs/?93248
+
==== Savannah: https://savannah.cern.ch/bugs/?93248 ====
gLExec in non-linger mode does not set umask() correctly.
+
DESCRIPTION: gLExec in non-linger mode does not set umask() correctly.
 +
 
 
REPRODUCE: Install glexec version 0.9.5 and disable linger mode (linger=no)
 
REPRODUCE: Install glexec version 0.9.5 and disable linger mode (linger=no)
 +
 
CHECK:
 
CHECK:
umask 0123; /tmp/dummy/usr/sbin/glexec /bin/bash -c umask  
+
umask 0123; /tmp/dummy/usr/sbin/glexec /bin/bash -c umask  
 +
 
 
PASSED: output should be 0123
 
PASSED: output should be 0123
 +
 
FAILED: output is 0077 (internal umask setting for glexec)
 
FAILED: output is 0077 (internal umask setting for glexec)
 +
 +
==== Savannah: https://savannah.cern.ch/bugs/?101238 ====
 +
DESCRIPTION: mkgltempdir -t option does not work
 +
 +
REPRODUCE:
 +
    export X509_USER_PROXY=<location of valid proxy>
 +
    export GLEXEC_CLIENT_CERT=$X509_USER_PROXY
 +
    gldir=`/usr/sbin/mkgltempdir -t 404` && ls -ld $gldir && /usr/sbin/mkgltempdir -r $gldir
 +
 +
PASSED: lists directory with permissions dr-----r--
 +
 +
FAILED: gives error messages starting with /bin/chmod: cannot access `<directory name>': Permission denied

Latest revision as of 11:17, 19 April 2013