INFSO-RI-508833 Enabling Grids for E-sciencE www.eu-egee.org The gLite Software Development Process Alberto Di Meglio CERN.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Project Management Summary Castor Development Team Castor Readiness Review – June 2006 German Cancio, Giuseppe Lo Presti, Sebastien Ponce CERN / IT.
Configuration Management Managing Change. Points to Ponder Which is more important?  stability  progress Why is change potentially dangerous?
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
EGEE is a project funded by the European Union under contract IST Software Configuration Management and Integration Alberto Di Meglio EGEE.
CSSE 375 Software Construction and Evolution: Configuration Management
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
Quality Assurance and Testing in LCG CHEP 2004 Interlaken, Switzerland 30 September 2004 Manuel Gallas, Jakub MOSCICKI CERN
SPI Software Process & Infrastructure GRIDPP Collaboration Meeting - 3 June 2004 Jakub MOSCICKI
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks gLite Release Process Maria Alandes Pradillo.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
SPI Software Process & Infrastructure EGEE France - 11 June 2004 Yannick Patois
Software Configuration Management
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
EGEE is a project funded by the European Union under contract IST JRA1 Testing Activity: Status and Plans Leanne Guy EGEE Middleware Testing.
EMI INFSO-RI EMI SA2 Report Quality Assurance Alberto Aimar (CERN) SA2 WP Leader.
EMI INFSO-RI EMI Quality Assurance Processes (PS ) Alberto Aimar (CERN) CERN IT-GT-SL Section Leader EMI SA2 QA Activity Leader.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
EGEE is a project funded by the European Union under contract IST Testing processes Leanne Guy Testing activity manager JRA1 All hands meeting,
EGEE is a project funded by the European Union under contract IST Build Infrastructure & Release Procedures Integration.
A DΙgital Library Infrastructure on Grid EΝabled Technology ETICS Usage in DILIGENT Pedro Andrade
The LCG SPI project in LCG Phase II CHEP’06, Mumbai, India Feb. 14, 2006 Andreas Pfeiffer -- for the SPI team
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks General relationships with EGEE JRA1 SA3.
Software Quality Assurance
FP6−2004−Infrastructures−6-SSA IPv6 in the EGEE Related Projects: the EUChinaGRID experience Gabriella Paolini – GARR.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EGEE is a project funded by the European Union under contract IST Software Configuration Management and Integration Alberto Di Meglio EGEE.
1 / 22 AliRoot and AliEn Build Integration and Testing System.
EGEE is a project funded by the European Union under contract IST JRA1-SA1 requirement gathering Maite Barroso JRA1 Integration and Testing.
INFSO-RI Enabling Grids for E-sciencE SA1 and gLite: Test, Certification and Pre-production Nick Thackray SA1, CERN.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Usage of virtualization in gLite certification Andreas Unterkircher.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Quick Recap Monitoring and Controlling. Lesson 11: Monitoring and Controlling Project Work Topic 11A: Identify the Monitor and Control Project Work Process.
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
GLite build and integration system Building and Packaging Robert HARAKALY
JRA2: Quality Assurance Overview EGEE is proposed as a project funded by the European Union under contract IST JRA.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks The future of the gLite release process Oliver.
IBM Software Group ® Managing Reusable Assets Using Rational Suite Shimon Nir.
Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Tools and techniques for managing virtual machine images Andreas.
INFSO-RI Enabling Grids for E-sciencE ARDA Experiment Dashboard Ricardo Rocha (ARDA – CERN) on behalf of the Dashboard Team.
Software Engineering Overview DTI International Technology Service-Global Watch Mission “Mission to CERN in Distributed IT Applications” June 2004.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
G.Govi CERN/IT-DB 1 September 26, 2003 POOL Integration, Testing and Release Procedure Integration  Packages structure  External dependencies  Configuration.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
A. Aimar - EP/SFT LCG - Software Process & Infrastructure1 SPI Software Process & Infrastructure for LCG Project Overview LCG Application Area Internal.
EGEE is a project funded by the European Union under contract IST GLite Integration Infrastructure Integration Team JRA1.
INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio EGEE – JRA1 CERN.
EMI INFSO-RI Software Quality Assurance in EMI Maria Alandes Pradillo (CERN) SA2.2 Task Leader.
EMI INFSO-RI Software Metric Definitions, Reports and Analysis in EMI Authors: Eamonn Kenny (TCD), Gianni Pucciani (CERN) Date: Tuesday 12 th April.
INFSO-RI Enabling Grids for E-sciencE gLite Certification and Deployment Process Markus Schulz, SA1, CERN EGEE 1 st EU Review 9-11/02/2005.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Patch Preparation SA3 All Hands Meeting.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks MSA3.4.1 “The process document” Oliver Keeble.
INFSO-RI Enabling Grids for E-sciencE gLite Test and Certification Effort Nick Thackray CERN.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
GLite build and integration system Building and Packaging Robert HARAKALY
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Implementing product teams Oliver Keeble.
SPI Software Process & Infrastructure Project Plan 2004 H1 LCG-PEB Meeting - 06 April 2004 Alberto AIMAR
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
EMI INFSO-RI SA2: Quality Assurance Status Report Alberto Aimar(SA2) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
SCD Monthly Projects Meeting 2014 Scientific Linux Update Rennie Scott January 14, 2014.
INFSO-RI Enabling Grids for E-sciencE Software Process Author: Laurence Field (CERN) Presented by David Smith JRA1 All Hands meeting,
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Towards an Information System Product Team.
INFSOM-RI WP3: WP3: Software configuration tools and methodologies Status Report ETICS All-Hands – 23 May 2007 E. Ronchieri.
DataGrid Quality Assurance
The gLite Software Development Process
Overview – SOE PatchTT November 2015.
SPI Software Process & Infrastructure
Leanne Guy EGEE JRA1 Test Team Manager
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

INFSO-RI Enabling Grids for E-sciencE The gLite Software Development Process Alberto Di Meglio CERN

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 2 Overview Software configuration management and tools Release process QA Metrics and Process Auditing

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 3 Software Process JRA1 Software Process is based on an iterative method loosely based on RUP and some XP practices It comprises two main 12-month development cycles divided in shorter development-integration-test-release cycles lasting from 2 to 6 weeks The two main cycles starts with full Architecture and Design phases, but the architecture and design are periodically reviewed and verified. The process is fully documented in a number of standard document: –Software Configuration Management Plan (SCM) –Test Plan –Quality Assurance Plan –Developer’s Guide

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 4 SCM The SCM Plan is the core document of the Software Process It contains a description of the processes and the procedures to be applied to the six SCM activity areas: –Software configuration and versioning, tagging and branching conventions –Build Tools Systems –Bug Tracking –Change Control and the Change Control Board (CCB) –Release Process –Process Auditing and QA Metrics It is based on a number of standard methods and frameworks including: –ISO 10007: Quality management systems -- Guidelines for configuration management, ISO, 2003 –IEEE Software Engineering Guidelines ( –The Rational Unified Process ( 306.ibm.com/software/awdtools/rup/) In addition it adopts best-practice solutions 1 to guarantee the highest possible quality in a very distributed and heterogeneous collaboration 1 S.P. Berczuk, Software Configuration Management Patterns, Software Patterns Series, Addison-Wesley, 2002 A. Di Meglio et al., A Pattern-based Continuous Integration Framework for Distributed EGEE Grid Middleware Development, Proc. CHEP 2004

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 5 Version and Configuration Control Based on CVS using CERN Central IT CVS service Fixed directory structure for each module Rules for tagging and branching (e.g. bug fix branches) Common naming conventions for baseline and release tags Configuration files to automate creation of workspaces –Used to enforce build reproducibility –Used to create private workspaces for developers Rules apply also to external dependencies, all third- party packages and versions are controlled by the build systems, not the developers

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 6 CVS Structure JRA1 EGEE CVS org.glite org.glite.subsys org.glite.subsys.comp1 org.glite.subsys.compN project src test doc interface examples config

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 7 Build Tools Ant: used for the general build management and all Java modules. Make + GNU Autotools: for C/C++, Perl and other languages as necessary. Some effort has been done to port the Makefiles to Windows or use Cygwin, but with very limited success CruiseControl: used to automate the nightly and integration builds on the central servers An abstraction layer has been created on top of these tools to provide a common interface to all build tools independently of the language, platform and tool used

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 8 Build Infrastructure Two nightly build servers on RH Linux 3.0 (ia32) –Clean builds out of HEAD and v. 1.x every night of all components –Results are published to the gLite web site –Tagged every night and totally reproducible One continuous build server on RH Linux 3.0 (ia32) –Incremental builds out of v. 1.x every 60 minutes –Results published to CruiseControl web site –Automated build error notifications to developers and Integration Team One nightly build server on RH Linux 3.0 (ia64) –Clean builds every night of all components One nightly build server on Windows XP –Clean builds every night of all components currently ported to Windows Build system supported platforms: –Red Hat Linux 3.0 and binary compatible platforms (SLC 3, CentOS, etc), 32 and 64-bit (gcc) –Windows XP/2003

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 9 Defect Tracking System Based on the Savannah project portal at CERN Used also for change requests (for example API changes, external libraries version changes, etc). In this case, request are assigned to the Change Control Board for further evaluation (explained later) Heavily customized to provide several additional bug status on top of the default Open and Closed (!) Each gLite subsystem is tracked as a separate category and related bugs are assigned to the responsible clusters

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 10 Defect Tracking Configuration Two conditions: Open, Closed Ten main states: None, Accepted, In Progress, Integration Candidate, Ready for Integration, Ready for Test, Ready for Review, Fixed, Duplicate, Invalid Transitions between two states is subject to specific checks (Is it a defect? Can it be fixed? Test passed, Review passed?) Not all transitions are allowed and additional automated changes can be triggered by changing the bug status (condition, assignment, etc)

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 11 Defect Tracking Cycle

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 12 Change Control Board All public changes must go through a formal approval process The CCB is tasked to collect and examine the change requests Changes are tracked and handled as quickly as possible The CCB is not a physical team, but a role that is assumed by more than one team or group depending on the type of change (interface changes, bug fixes, software configuration changes, etc)

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 13 Release Process DevelopmentIntegrationTesting Coordinated with Applications and Operations Software Code Deployment Packages Integration Tests FailPass Fix Functional Tests Testbed Deployment Fail Pass Installation Guide, Release Notes, etc

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 14 Software Quality Assurance Software Metrics are collected as part of the build process Failure to pass a quality check fails the build Additional checks are implemented in the version control system (coding style, documentation tags) Software Defect and QA Metrics are collected from the defect tracking system Reports and graphs are published on the project web site

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 15 Code Style and Conventions

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 16 Unit Tests Reports

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 17 Autogenerated Documentation

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 18 SLOC Total Physical Source Lines of Code (SLOC) SLOC = 955,825 (as of 21 November 2005) Total SLOC by language (dominant language first) Java (29.85%) C (27.92%) Ansi C (21.90%) Perl (7.89%) sh (7.42%) Python (4.55%) Total complete builds: 641 (all 1.x branches), 236 (HEAD) Number of subsystems: 21 Number of CVS modules: 454 Pre-Release Defects/KSLOC = 2.75 Post-Release Defects/KSLOC = 1.10

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 19 Code Size and Stability The Code Size chart shows the changes in total number of SLOCs during the life of the project The Code Stability chart shows the change rate of code size during the life of the project. As the project nears completion the rate should approach 0

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 20 The Defects/kSLOC Chart Pre-Release QI Post-Release QI CMM2 Space Shuttle MySQL 5 Windows XP (Beta 2)

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 21 Software Defects Statistics

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 22 Software Defects Statistics

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 23 Defects Trends (I) Time Open defects The Rayleigh Defect Prediction Model Design Implementation Tests and Release

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 24 Defects Trends (II) gLite 1.0 gLite 1.2/1.3 gLite The Rayleigh Defect Prediction Model applied to gLite

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 25 Defects Trends (III)

Enabling Grids for E-sciencE INFSO-RI II EGEE Review 26 More information