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.
- 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
- Loop over (all supported OSG versions):
- 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.
- 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
- ./glideinwms/build/jenkins/run_unittests.sh LIST_OF_TESTS
- 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