EGI Verifier Guideline
|Technology||Software Component Delivery||Software Provisioning||UMD Middleware||Cloud Middleware Distribution||Containers Distribution||Technology Glossary|
|Software Provisioning menu:||Software Provisioning Process||UMD Release Process||Quality Assurance||UMD||Staged Rollout|
This guide describes the verification procedure for the latest QC.
Verification of software products is managed through EGI's RT, every product will consist of one or more tickets that include the information about the product and links to the repositories where the packages are available.
If you are performing an external verification, you do not need to manage the RT tickets. Instead you should perform the verification and provide the final report.
In order to start a verification, the verifier must:
- Set RT ticket(s) Owner with the current verifier.
- Set UMDRelease to the appropriate UMD Release (currently 2 or 3) and save the state.
- Change RolloutProgress to In Verification to start the actual verification.
Core Components Verification List
In order to be able to better organize the verification activity a list of core components that MUST to be verified. The list is available here
Installing the products
Each product to be verified must be installed in a controllable environment where tests are easily reproducible. The EGI Verification Testbed may be used for this purpose (check the link for requesting new VMs for the products).
Products must be installed (or upgraded) using the packages from the repository linked in the RT ticket. The URL for this repository can be found at the Custom Fields of the RT ticket within attribute RepositoryURL. The easiest way of adding the repositoy is using the files available at the repofiles directory.
Verification is performed using UMD repositories + OS provided repositories + EPEL (for RH based distributions). No other external repositories may be used.
Once the product is installed (or upgraded), the verifier must perform a basic configuration that allows testing of the product features. This configuration should use the services already existing in the testbed if they are needed. Check EGI Verification Testbed for a list of available services. Support for dteam and ops.vo.ibergrid.eu VOs is expected for all services.
Sample configurations for some of the products are available at configuration-templates github repo.
QC Assessment & Verification report
Each verification must be documented with a final report that includes an executive summary of the result and a summary of the tests performed. The tests to be performed are described in the the current QC document, see also below and at the http://github.com/egi-qc/qc-tests GitHub repository for more information. Verification report template is available at EGI DocDB #1993 in different formats.
The effort dedicated to testing the criteria should be adjusted depending on the type of release:
The effort dedicated to those criteria should be adjusted depending on the type of release:
- Major releases (may not be backwards compatible) or first time the product enters EGI's process:
- Product installation from scratch (optionally also upgrade).
- Generic QC assessment.
- Verifier must assess product meets its functionality.
- Test any new functionality.
- Other releases (Minor or Revision):
- Package installation or upgrade.
- Check those features affected by update changes (described at TP release notes). The rest of criteria, should be filled in the report as Not Tested and if available a link to the report where the testing of the criterion was performed.
Tests for the generic QC are described in http://egi-qc.github.io/. Each criterion includes in the What to check and What to report fields describe what needs to be tested and what to include in the verification report respectively. More detailed information about the tests is also available at EGI_QC6_Testing.
Specific QC depends on the product to be verified. There are two criteria in this section:
- Basic Funcionality Test: This includes basic functionality tests of the product that assures that it performs its intended functionality (e.g. a CE is able to submit jobs). These tests do not need to cover the complete functionality or stress the product and should be restricted to the verification testbed. A list of proposed tests for each product is available at EGI_QC6_Specific. If the product does not have any proposed tests yet, the verifier may decide which product functionality to test based on his/her experience with the product.
- New Features/Bug Fixes Test: These tests must focus on new features or fixed bugs of the release. Verifier must check the release notes and test those new features that are feasible to test in the verification testbed within reasonable effort. Take into account that StageRollout will also test the product in a production environment.
Handling issues during verification
If the Verifier finds any problems or issues with the product (any of the criteria is not met or problems to install/configure/operate the product), either they are clarified within the ticket by the verification team by using the verifiers list (sw-rel-qc(at)mailman.egi.eu) or, if the problems needs the interaction of the Technology Provider, a GGUS ticket should be opened.
If a GGUS ticket is needed:
- The ticket should be created with default priority and the short description should begin with UMD Verification and then describe the issue.
- Priority may be set to urgent if the issue is a show-stopper.
- A link to the GGUS ticket must be included into the RelatedGGUSTickets RT field. It should be also listed in the verification report.
- RT ticket RolloutProgress should be changed to Waiting for Response status. Once the issue is solved, it should be changed again to In verification.
The product is considered as ACCEPTED if all the criteria marked as critical pass. Otherwise it will be REJECTED
Once filled, the verification report must be uploaded as a new doc in DocDB with the following information:
- Title: QC Verification Report: <PRODUCT_NAME>-<VERSION>.
- The File field is used to upload Verification Report (as PDF preferably).
- Keywords: must include QualityCriteria, Verification.
- Media type must be set to Document.
- status must be set to FINAL.
- View must be set to public.
- Modify should be set to umd-team.
- TOPICS space field must be set to Software Provisioning Verification Reports and WP5.
Finally, the result of the verification must be set by changing the RolloutProgress field of the RT ticket(s).
- If the product is accepted (i.e. meets all critical criteria) then change this field to the StageRollout value. This will cause the Rollout teams to continue with the software provisioning process.
- If the product is not accepted, then change the value to Rejected, causing the process to stop.
- If the rejection involves two or more RT tickets, the verifier must fill link the verification report for every RT ticket.
When the process is finished (the product is accepted or rejected) the verifier must also fill the "Time Worked" RT field to account the real hours/minutes spent to finish the verification process.