We present the testing and certification activities carried out in order to ensure the delivery of high quality grid middleware services, based on an automated testing framework, the Robot Framework, part of a Continuous Integration and Deployment System. The design and the provisioning of an on-demand testbed, based on Puppet framework and different virtualization techniques, like Xen, that support different testing scenarios are also described.
In order to enable EGI, PRACE and other European distributed computing and data infrastructures to provide their communities with sustainable and reliable services in their day-to-day work, grid middleware services must play an important role and mark a clear transition from ad-hoc development, maintenance and support models to more standard, sustainable and professional models by adopting best-practice service provision methods. During the EMI project the development, integration, maintenance and testing activities were under the responsibility of Product Teams. and were guided through QA procedures that ensured all EMI components satisfy well-defined certification and validation criteria. We present the automatic testing and certification procedures implemented for IGI grid middleware services, developed as part of EMI project, consisting in the use of a common test automation framework and different virtualization techniques for the on-demand provisioning of testing nodes.
IGI is the Italian Grid infrastructure, run for the benefit of the research and education communities in Italy and worldwide. It is part of the European Grid Infrastructure (EGI), offering more than 15000 computing cores and storage resources distributed across more than 50 computing centers all over Italy, and is one of the main contributors to the European Middleware Initiative (EMI) project, developing some of the important grid middleware services like CREAM, StoRM, VOMS, WMS.
We will present the testing and certification activities that lead to successful delivery of reliable and stable middleware services as part of the EMI distribution. The presentation will contain the description of the applied technologies to test software from deployment, configuration, functionality, performance and integration points of view. In particular we will speak about the adoption of Puppet, open source, framework to install and configure a complete testbed and about the testsuites developed in Python to test single software components, integrated in the Robot Framework testing environment. We will also describe the design of the testing and certification process as part of a continuous integration and deployment framework to be put in production after the EMI project end. Various typologies of tests, such as installation, configuration, functionality, stress and performance tests, are defined on the base of a set of use cases gathered as consequence of the collaboration among IGI Release and Certification team, developers, experiments and users.