EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Patch Preparation SA3 All Hands Meeting – 15-16/05/08 Juha Herrala CERN
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands 2 Content Clusters of competence Patch preparation Test writing Build
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Clusters of Competence Cluster of Competence (EGEE) == co-located development (JRA1) and testing (SA3) resources
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Clusters of Competence In EGEE II the clusters of competence did not exist –JRA1 and SA3 teams were geographically separated –Introducing ETICS affected the patch preparation process –Importance of coordinated testing activities was understood –Patch certification was sometimes affected by trivial errors in patch preparation Clusters of Competence have been introduced in the EGEE III –To support JRA1 teams in build and patch preparation and allow them to concentrate on the actual development work –To increase SW quality by more organized testing effort in conjunction with the testing coordinator –To achieve more effective patch certification within SA3 by injecting better prepared patches in the process
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Clusters of Competence The responsibilities of the SA3 partners within the clusters of competence focus on pre-release testing and patch preparation –All necessary work to produce a successful patch In addition their responsibilities should also include test writing.. –Regression tests etc... as well as build and multiplatform work –ETICS support etc.
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation The main tools are –ETICS (build) and –Savannah (patch description and communication)
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation Preparing a successful patch for certification –Identify complete rpm list and define the required build –Perform the build against the project definition –Run, ultimately as part of the build, deployment tests and regression tests –Update configuration and produce any necessary yaim packages –Perform smoke test on service and clients, possibly communicate results to the development cluster –Write the patch release notes –Submit a patch, referencing packages in the ETICS repository –Offer support as necessary to the assigned patch certifier
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation Workflow from the ETICS perspective 1.New ETICS component configurations created 2.New ETICS subsystem configuration created 3.Build of subsystem performed against glite_branch_3_1_ Patch submitted, referencing artifacts 6.Patch certified 7.Patch released to validation service 8.glite_branch_3_1_0 updated 9.glite_branch_3_1_0 cloned to produce a dated backup of the configuration 10.Patch released to production
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands CERN 08 Patch preparation
Enabling Grids for E-sciencE EGEE-III INFSO-RI Test writing As a part of their responsibilities, the clusters of competence should produce and maintain software tests Regression tests maintenance Important for SW quality assurance Tests evolve with bug fixing and patches Provision of new tests for the services in question where judged appropriate or requested by the testing coordinator Tests may originate from the JRA1 members SA3 all hands meeting13
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands 14 Build SA3 persons within the clusters of competence provide support for JRA1 teams in their build-related issues –In collaboration with JRA1 teams –Supported by the rest of SA3 –ETICS as the build tool Participation in resolving general build issues –Mostly ETICS related work Participation in resolving build issues related to multiplatform support –Debian4, 64bit platforms, SL5, etc –In conjunction with the porting coordinator –ETICS issues and SW porting issues
Enabling Grids for E-sciencE EGEE-III INFSO-RI SA3 All Hands 15 Summary Clusters of competence (in EGEE III) mean co-located JRA1 and SA3 resources The objectives are to support JRA1 in their patch preparation work, to test SW in an organized manner and to pass well prepared patches for SA3 to certify. The objective can be achieved if the SA3 persons within the clusters of competence take an active role in –Patch preparation –Test writing and –Build (including multiplatform support)