Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

UMDQualityCriteria Generic

From EGIWiki
Revision as of 11:19, 23 September 2010 by Enolfc (talk | contribs)
Jump to navigation Jump to search

Documentation

Services in UMD must include a comprehensive documentation written in a uniform and clear style. All Quality Criteria described below may be met by a single document that contains all the requested sections.

Functional description

Description

Document with a functional description of the component

Verification

Existence and quality of the document

User documentation

Description

User guide describing the functionality of the software and how to use it

Verification

Check availability of user guide. Check completeness of user guide.

Man pages

Description

Commands must include documentation on its usage and options. It may not be applicable to services without user interface commands

Verification

Availability of man pages.

API Documentation

Description

If service has an API, include documentation of all its functions.

Verification

Availability of API documentation.

Administrator Documentation

Descrpiton

Administrator guide describing installation, configuration and operation of the system

Verification

Availability and completeness of the guide.

Service Reference Card

Description

For each of the services that the component runs, include the following documentation:

Service Reference Card
Service ServiceName
Description Description of the service
Init scripts List of init scripts for the service, expected run levels
Daemons List of daemons needed for the service
Configuration List of configuration files used by the service
Logs List of log files used by the service
Open ports List of ports the service uses
Cron List of crons used by the service
Any other relevant information Include here any other relevant information about the service

Source Code Quality

The source code of each component of the UMD middleware should follow a coherent and clear programming style that helps in the readability of the code and eases maintenance, testing, debugging, fixing, modification and portability of the software. Open source components must publicly offer their source code and the license with the binaries.

License

Description

All UMD components must have a compatible license for using it in the EGI infrastructure

Verification

Check the component license

Source Code Availability

Description

Open source code must provide pointers to the source

Verification

Existence of source code

Build Procedures

Description

Open Source components should provide a documented and reproducible build procedure

Verification

Existence of build documentation. Existence of automatic build procedures.

Management, Monitoring, Traceability

UMD components should have mechanisms for managing them, monitoring their status and tracing actions they perform on the system. Ideally, these should be also available remotely, allowing operators to react timely to problems in the infrastructure. TBD: Is there any standard interface for this?

Service control

Description

Services run by the component must provide a mechanism for starting and stopping the services.

Verification

Test for the mechanism that starts/stops the services. Test all possible combinations:

  • start with already started services
  • start with services stopped
  • stop with stopped services
  • stop with started services

Service status

Description

Services must provide a mechanism to query their status.

Verification

Test the mechanism that queries the service status with both running and stopped service.

Service responsiveness

Descripition

Services must react to requests timely. They should provide a mechanism to check their responsiveness to the requests

Verification

Provide a test that checks the service responds to requests (e.g. expected ports are open, expected answer to requests is received).

Service correctness

Description

Services should react to requests and perform the expexted actions after that request. A test for checking the correctness of the request should be provided

Verification

Provide a test that checks the correctness of typical requests that may be integrated in a monitoring framework. To Be Defined: monitoring framework to use (probably Nagios), include documentation on how to write the tests.

Traceability

Description

All actions taken by the service should be traceable by the service administrator. Log files or similar mechanisms should be provided by the service.

Verification

Provide a test that checks that the tracing mechanism of the service is working properly (e.g. log file of the service is generated)