Project

General

Profile

GlideinwmsTesting

ReleaseTestingMatrix contains pages with tests done for each release

Checklist for RC testing

  • RPM install of Frontend (including setup, upgrade/reconfig, start, stop)
  • RPM install of Factory (including setup, upgrade/reconfig, start, stop)
  • Tarball install of Frontend (including setup, upgrade/reconfig, start, stop)
  • Tarball install of Factory (including setup, upgrade/reconfig, start, stop)
  • Verify that RPM install instructions are correct and up-to-date (OSG Twiki)
  • Verify that tarball install instructions are correct and up-to-date (GWMS website)
  • Verify that GWMS web site is current (check history and download/install pages)
  • Verify yum upgrade from current to rc works (no errors, service upgrade/reconfig works)
  • Verify that yum downgrade from rc to current works
  • Smoke test: using GSI authentication (host+personal certificate), jobs submission on the Frontend (hostname like jobs) trigger glideins and jobs run to completion
  • No errors or warnings in GWMS log files on Frontend and Factory
  • No errors or warnings in HTCondor log files on Frontend (all daemons: User collector/negotiator, schedd) and Factory (all daemons: Factory collector/negotiator, schedd, gridmanager)
  • Monitoring info about job execution shows up in Frontend and Factory monitoring pages
  • 2 or more entries and submit 3 batches of jobs: 1s only o entry 1, 2nd only to entry 2, 3rd to boh; verify in logs and monitoring that the distribution is correct.

The tester should document, SL and HTCondor version used.
Some tests will need o be repeated for an upgrade.

What is covered by the automated test:
  • Loop over (SL6, SL7):
    • Loop over (all supported OSG versions):
      • RPM install of Frontend (including setup, upgrade/reconfig, start, stop)
      • RPM install of Factory (including setup, upgrade/reconfig, start, stop)
      • Smoke test: using GSI authentication (host+personal certificate)
        • submit jobs to the Frontend schedd
        • Verify glideins triggered on Factory, start on CE, and connect back to Frontend
        • Verify jobs run to completion
        • Look for python exceptions in log files
        • Look for other errors in condor/gwms log files
      • Optionally, yum upgrade Factory and Frontend and repeat last 5 steps
To run the smoketests:
  • cd glideinwms/build/jenkins/gwms-smoketest
  • if the above directory does not exist in the branch you are working with, check it out from branch dbox_ci (from branch master very soon)
  • these tests assume a personal certificate is set to X509_USER_PROXY, it will attempt to make one. If it cannot the smoke tests will fail IF YOU WANT TO RUN THESE TESTS FROM A MAC YOU NEED TO IMPORT AND SET A CERTIFICATE.
  • the tests are driven by config files with the naming convention smoke_test.osg-repo.elVer.cfg example:
    • smoke_test.osg-development.el6.cfg : install and test from osg-development on el6 machines
    • smoke_test.osg-upcoming.el7.cfg : install and test from osg-upcoming repo on el7 architecture machines
    • smoke_test.upgrade.el7.cfg : install and test from osg repo on el7 machine, then upgrade from osg-development, and re-run the tests.
    • NB the upgrade tests are fragile as the upgrade procedure seems to have lots of quirks from version to version

Would be nice to have also these tests

  • ...
  • ...

OSG acceptance tests (before promoting o testing repo)

  • RPM install of Frontend and Factory (including setup, upgrade/reconfig, start, stop) on all supported OS with current production HTCondor
  • RPM upgrade from previos producion release of Frontend and Factory (including setup, upgrade/reconfig, start, stop) on all supported OS with current production HTCondor

Short instructions and tips to perform some of the tests

To test the system:
  • Follow RPM or Tarball installation instructions (RPMs are currently the preferred and most tested option).
  • Remember that jobs cannot be submitted by root. You will need an unprivileged account. Make sure that proxies are updated on the Frontend.
Unit tests and pylint/futurize tests:
  • Check out the branch of the code you want to test, you have to cd up one directory outside of glideinwms to run the tests
  • to see the tests in the checked out branch: ls glideinwms/unittests/test*.py
  • To run the unit tests (you have to be outside the repo) do:
    • ./glideinwms/build/jenkins/run_unittests.sh LIST_OF_TESTS
      *to run all unit tests:
    • ./glideinwms/build/jenkins/run_unittests.sh -a
  • to run all and get a coverage report:
    • ./glideinwms/build/jenkins/run_unittests.sh -ac
  • to run pylint/pep8 tests:
    • ./glideinwms/build/jenkins/run_pylint.sh
  • to run futurize tests:
    • ./glideinwms/build/jenkins/run_futurize.sh -i -f /path/to/some/logdir #will create logdir if it doesnt exist