PP-302: Implement save of PBS data for post-run analysis


Interface: New option (--post-analysis-data=<dir>) in pbs_benchpress command

  • Visibility: Public
  • Change Control: Stable
  • Synopsis: A new option added to pbs_benchpress command to enable saving post analysis data on test case failure in PTL
  • Details: To enable saving post analysis data on test case failure in PTL, new command line option will be introduced called '--post-analysis-data=<dir>' in pbs_benchpress command. By default PTL will not save any post analysis data in failure case. When enabled, PTL will store post analysis data on failure in given <dir> (if <dir> does not exits then PTL will create it, with 0755 permission and owner will be current user (i.e. user who invoked pbs_benchpress command)) in below format

    <dir>/<test suite 1 name>/

                                          <test case 1 name>/

                                                                         logfile_<status>

                                                                         PBS_<hostname>.tar.gz

                                          ...

                                          <test case n name>/

                                                                         logfile_<status>

                                                                         PBS_<hostname>.tar.gz

           ...

           <test suite n name>/

                                          <test case 1 name>/

                                                                         logfile_<status>

                                                                         PBS_<hostname>.tar.gz

                                          <test case 2 name>/

                                                                         logfile_<status>

                                                                         PBS_<hostname>.tar.gz

                                          ...

                                          <test case n name>/

                                                                         logfile_<status>

                                                                         PBS_<hostname>.tar.gz


    This post analysis data includes following data:
    • logfile_<status of test case>
      • This file contains PTL logs of current test case for which post analysis data is being stored
      • <status of test case> can be one of following:
        • PASS
        • SKIP
        • FAIL
        • ERROR
        • TIMEDOUT
      • Also in last line of this file will have time taken by current test case
    • PBS_<hostname>.tar.gz
      • This file is nothing but PBS diag saved by pbs_diag command with renamed as PBS_<hostname>.tar.gz from pbs_diag_yymmdd_hhmmss.tar.gz
        • PTL will run pbs_diag with following options
          • -f: for running pbs_diag in non-interactive mode
          • -j <jobid1>,<jobid2>,...,<jobidn>: comma separated list of job ids (if any)
          • -d 2: To save PBS logs for last two days
            • 2 days because there might be chances that date can switch (like midnight) while PTL is running test
        • Also PTL will run pbs_diag command with -g <path to core file> if all core files found in PBS_HOME directory
          • The output of above command will be store in <core file name>.out
          • After taking pbs_diag output for core file, core file will be deleted from PBS_HOME directory

Interface: New option (--tc-failure-threshold=<count>) in pbs_benchpress command

  • Visibility: Public
  • Change Control: Stable
  • Synopsis: A new option added to pbs_benchpress command to override default value of testcase failure threshold count while running testsuite
  • Details: While running testsuite, PTL will run testsuite till testcase failure reaches <count>, once testcase failure exceeds <count> then PTL will immediately stops execution of any remaining testcases from that testsuite with error message "Testcases failure for this testsuite count exceeded testcase failure threshold(<count>)" and PTL will move to next given testsuite. Default testcase failure threshold will be 10. <count> should integer while overriding default value for testcase failure threshold using this option, if <count> is not integer then PTL will bail out with error message "Invalid value provided for testcase failure threshold, please provide integer". <count>==0 will disable this threshold.

Interface: New option (--cumulative-tc-failure-threshold=<count>) in pbs_benchpress command

  • Visibility: Public
  • Change Control: Stable
  • Synopsis: A new option added to pbs_benchpress command to override default value of cumulative testcase failure threshold count while running tests
  • Details: While running tests, PTL will run tests till total testcase failure reaches <count>, once total testcase failure exceeds <count> then PTL will immediately stops execution of any remaining tests with error message "Total testcases failure count exceeded cumulative testcase failure threshold (<count>)". Default cumulative testcase failure threshold will be 100. <count> should integer while overriding default value for cumulative testcase failure threshold using this option, if <count> is not integer then PTL will bail out with error message "Invalid value provided for cumulative-tc-failure-threshold, please provide integer". <count> should be greater or equal to 'tc-failure-threshold', if <count> is less than 'tc-failure-threshold' then PTL will bail out with error message "Value for cumulative-tc-failure-threshould should be greater or equal to 'tc-failure-threshold'". <count>==0 will disable this threshold.

Interface: New option (--max-postdata-threshold=<count>) in pbs_benchpress command

  • Visibility: Public
  • Change Control: Stable
  • Synopsis: A new option added to pbs_benchpress command to override default value of max post analysis data threshold count while running testsuite
  • Details: While running testsuite, if saving post analysis data is enabled then PTL will save post analysis data for failure case till saved data count reaches <count> for the testsuite, once number of saved data the testsuite exceeds <count> then PTL will stops saving data for any further failure for that testsuite with error message "Total number of saved post analysis data for this testsuite is exceeded max postdata threshold (<count>)". Default max postdata threshold will be 10. <count> should integer while overriding default value for max postdata threshold using this option, if <count> is not integer then PTL will bail out with error message "Invalid value for max-postdata-threshold, please provide integer". <count> == 0 will disable this threshold. This threshold is only applies when saving post analysis data is enabled (i.e --post-analysis-data)