35
SPI Software Process & Infrastructure Project Status http://spi.cern.ch LHCC Review - 23 November 2004 Alberto AIMAR [email protected]

Presentation at the LHCC Review

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Presentation at the LHCC Review

SPI Software Process &

Infrastructure

Project Statushttp://spi.cern.ch

LHCC Review - 23 November 2004

Alberto [email protected]

Page 2: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 2

Presentation Outline

2003• Recommendations of previous Review

2004• Status of the SPI Services

• Actions performed to fulfill the recommendations

• Milestones 2004

2005• Proposed Milestones• Summary

Page 3: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 3

Recommendations of 2003 review (I)

• CVS service• Move to the IT CVS service as soon as possible• After testing or features and performance• Use centrally managed tools

• Savannah portal• Avoid divergence of CERN customization with mainstream

Savannah• Concerns about scalability

• Documentation and web site• Website and SPI workbook were praised as good and

complete• Maintain workbook up to date• Verify that doxygen comments are included in the code

Page 4: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 4

Recommendations of 2003 review (II)

• External Software service• Transparent decisions making for provision and

maintenance of external software• Add flexibility to support different structures of

installations and maintain the original structures of the tools

• Make available compilation and installation scripts• Suggest simple QA scripts to validate installations of new

versions of external tools

• QA activities• Work to automate the verification• Person to be centrally responsible for QA and to chase

projects to improve compliance

Page 5: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 5

Recommendations of 2003 review (III)

• Build System and Infrastructure• Role of a central librarian• Common build settings, release procedures• Share of common build tools not developed within the

projects• Build centrally the software and free developers in projects• Have prereleases available to the users• Investigate a config/make solution• Clarity long term strategy• Support others build system used by other experiments

(CMT)

• Software Distribution• More interaction with LCG deployment and check existing

distribution tools (e.g. pacman)• Customize distribution by platform and component

Page 6: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 6

SPI Services (November 2004)

• External Software

• Savannah Project Portal

• Software Librarian, builds and releases

• Testing Frameworks

• QA checklists and reports

• Software Distribution

• LCG Software Configuration

• Development of LCG policies, templates

• Code Documentation (doxygen, lxr, viewcvs)

• Documentation and LCG Workbook

Actions performed to fulfill the recommendationCVS service to IT

•Passed to IT after validation and intensive testing•We migrated all projects ourselves, no problems

Page 7: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 7

SPI External Software Service

• We install software needed by LCG projects.

• Open Source and Public Domain software (libraries and tools)

• There are currently 65 different packages, plus others under evaluation. For more than 400 installations

• The LCG projects (SEAL, POOL, PI, Simulation and SPI) propose what to install in agreement with LHC needs

• We also provide configuration for the LCG projects• A unique AFS location• Standard structure

package_name/version/platform/package_ content

• We have automated many installations of the external software

• The web site is now automated and generated from the real status of the installations

• Some installations specific to users/experiments needs.

Page 8: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 8

External Software (II)

• The platforms supported • decided by the Architects Forum that represents the App. Area

projects and LHC experiments

• Linux Red Hat 7.3: rh73_gcc32, rh73_gcc323, rh73_icc80, rh73_ecc80

• Linux SCL3: slc3_gcc323• Windows platforms (Win32): win32_vc71 • Mac OSX: osx103_gcc33

• We also provide help (and our scripts) to users that want to build on other platforms (e.g. Suse 9.1, RH 9.0, etc)

Actions performed to fulfill the recommendationExternal Software service

•Maintain original structure of the installed packages•Automated installations and making available all installation scripts and tools•Some tools for which we have verification material we now check the installation, more on the way

Page 9: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 9

External Software – http://spi.cern.ch/extsoft

Page 10: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 10

SPI Savannah Portal Service

• Functionality:• Bug tracking, Task

management Download area, etc

• The Web portal for LCG software projects

• Customized from GNU (SourceForge as origin)

• Totally web based• Single entry point to all

projects• Uniform access to project

information• Set up common web

infrastructure for a project without coding

• What SPI changed• installation from GNU, general

bug fixing and improvements• integration with AFS

authentication• Integration with standard

services already available• What SPI does

• administration (project approval) • maintenance (submitted bugs)• development (support requests)

• Status• >110 hosted projects• >850 registered users

• Users doubled in one year and many features added

Actions performed to fulfill the recommendationSavannah portal

• Collaboration with the open source is established and constant• We benefit of the fixes of the open source and collaboration with main developers is going very well

Page 11: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 11

Savannah Service – http://savannah.cern.ch

Page 12: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 12

SPI Software Distribution Service

• Simple solution to use• local installations (external

sites, laptops,...)• using simplest approach• python downloader + tar format• replicate the central AFS tree

(in a optimized way)• package dependency from

SCRAM

• We can generate distribution easily from a general description we have

• Looking into pacman as a suitable solution

• Simple tool to install• successful for users

installations• very easy to use and

reliable• Different use-cases should

have different solutions• Our tool is adequate as a

simple solution for LCG Application Area Distribution

• Long-term solutions have being investigated

• Pacman test installation is available

Actions performed to fulfill the recommendation Software distribution

•Binaries: python-based tool and pacman distribution•Sources: distribution of all external and LCG software and all the SPI tools to build from sources•We need to improve interaction with Deployment and EGEE. Contacts established but no common solutions adopted

Page 13: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 13

Software Distribution – http://spi.cern.ch/lcgsoft

Page 14: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 14

Support of Build and Releases

• LCG Librarian • Started in Summer

2004• Working to centralize all

build and release tasks• Task to build the LCG

software for all supported platforms

• Coordinate releases and pre-releases with the projects

• Maintain the configuration for the build and for other build systems in (e.g. generate and keep up to date the CMT files of the configurations)

Actions performed to fulfill the recommendationBuild System and Infrastructure

•Librarian role filled in June 2004 and very beneficial to centralize this activity•Developed scripts to centrally do the releases and installations•We performed the certification of all external and LCG software for SLC3, as test of the automatic installation scripts

• Developing simple tools to automate the build of the LCG software

• Librarians Integration group• Discuss/agrees the

additional needs of the experiments in terms of build and package versions/installations.

• Reports to Architects Forum that defines the general priorities for SPI

Page 15: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 15

Software configuration and dependencies

• XML description to have a simple to parse format• Build information• Dependency description

• Build and install for external packages and LCG software• Generate the configurations for the build and release

systems needed by the users • LCGCMT support• Config/make based solution• SCRAM support

• We don’t want to make one more build and configuration system but generate for the existing ones

Actions performed to fulfill the recommendationBuild System and Infrastructure (II)

•Config/make solution is going to be achieved via the XML description files that he had to implement in order to support several tools for build and distribution•XML description will allow to support several build systems•Generate and keep up to date configuration files for CMT

Page 16: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 16

IntegrationTests

System Tests

Examples

Software testing

Integration test

System test

Acceptance test

Unit test

Software developer

Sw-testing team

LHC experiments

Use in Exp.

Work PackageTest

Automated testing

SPI Testing Services

• Software testing should be an integral part of the software development in the LCG App Area

• The goal was to provide something that can be run automatically as often as needed (releases, development, etc)

SPI provides• Test frameworks

• CppUnit, Oval• Qmtest

• Test support• Test policies• Test doc

• Different platforms/compilers

Page 17: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 17

Testing Support – http://spi.cern.ch/testing

Page 18: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 18

Quality Assurance Activities

QA Checklist on each Release

• Build the release • Run automatic tests• Statistics

• Test Inventory • Documentation/Examples

Inventory • Savannah Statistics • Code Inventory • Rule Checker , Logiscope

• LCG Policies • Configuration of a build system • CVS directory structure

Well-defined, transparent• clear rules and checklist of

assessed items• anybody at anytime may

see statistics • create reports themselves• anybody may contribute

QA Reports• Automatic reports

• Generated at every release

• Published on the SPI web site

• Evaluation and usage of external tools continued

Actions performed to fulfill the recommendation•QA activities

•Automated generation of reports, a web form is being put in place•Resources (junior) joined in August 2004, for now no resources for verification of compliance to the QA criteria defined•No resources for actively verifying QA and testing compliance

Page 19: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 19

QA Reports

Page 20: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 20

LCG Policies

• LCG Policies• CVS and Build Directory Policy • Software Testing Policies • Version Numbers, Tagging and

Release Procedure • Installation Directory Structure • Platform string, binary names,

debug flags and more• They are a needed by the

projects• They are defined by the LCG

projects, collected by SPI• If everything is different is too

difficult to use and to automate• compromising on our habits, for

project needs• tell when they are not followed

• First time that this exists at this extent, and that is checked

Page 21: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 21

Workbook and Documentation

• Code documentation activity continues

• Workbook for SPI• Repository/policy for the LCG workbooks• No documentation standards achieved in the

field but improvements• Trying a few solutions (DocBook, Wiki, blog)• Maybe too early in these heavy development

phases

Actions performed to fulfill the recommendation•Documentation and website

•Our website is stable and we keep it up to date•Testing wiki and other systems to simplify writing of documentation from several platforms•No documentation standard achieved

Page 22: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 22

Collaboration with EGEE

• Collaboration mostly with JRA1 (Middleware) and SA1 (Deployment) with considerable benefits. For all, I think.

• SPI provides tools for EGEE projects• Presented in several occasions at all levels and activities

• SPI services used• Savannah portal used by several activities (Middleware,

Deployment, etc). Requested several modifications to the software• Testing frameworks, all used (QMTest, CppUnit, PyUnit) • QA reports and metrics are being developed

• SPI services not used• No external software, no software distribution, no build system

• Few (minor) specific services• Verification of coding conventions via CodeWizard• dotProject service for basic planning

• Contribution to SPI: 2 FTEs

Page 23: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 23

Milestones done (I)

2004/1/31

Done

IT CVS service verified and validated by SPI

2004/1/31

Done

More code standards checks added to the QA reports (via doxygen)

2004/2/20

Done

Upgrade of the Savannah service and installation of the Gnu open source version

2004/2/28

Done

QA reporting tools available publicly

2004/2/28

Done

Delivery of configuration files also for the CMT build system

2004/3/15

Done

LCG software librarian in place

2004/4/1Done

Migration of all projects to IT CVS service

2004/4/15

Done

Certification of external software for the new Linux platform

Page 24: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 24

Milestone done (II)

2004/5/1 Done Definition of the EGEE collaboration

2004/5/15

Done RH 7.3 gcc 3.2.3 supported

2004/7/1 DoneCommon build and release solution in LCG App Area

2004/7/1 DoneValidation and test of the external tools needed by LCG projects

Page 25: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 25

Modified/Late Milestones

2004/5/15

Late/On the way

Documentation standards for workbook and documentation infrastructure in place >>> The project do their documentation and it was not perceived as priority vs resources

2004/5/31

Late/ Modified

RH 7.3 icc 8 supported>>> Mac OSX, SLC3, RH73_gcc323 had priority

2004/6/15

Late/On the way

Convergence plan for the LCG software infrastructure >>> On the way, collaboration well ongoing but the use cases and tools are quite different (development, installations, deployment)

2004/6/15

Late/Modified

Appwork evaluation >>> An XML solution to generate build and dependencies information is being developed.

Page 26: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 26

Additional Milestones and Activities in 2004

• We have many services running and using all resources assigned, we follow the AF’s decisions for our priorities and activities

• The certification of the new CERN platform and the adoption first of CEL3 and later of SLC3 required more work than expected• SPI had to compile and provide several versions of the external packages in

order to accommodate the needs of different experiments and to suit their software configurations.

• Support for Mac OSX, SLC3 and RH73_gcc323 were decided as priority • Delayed the port to other platforms (such as icc 8);

• We had to start defining a simple XML description of build/config info• This will simplify generation of specific information needed by several external

tools (Scram, CMT, pacman, etc) • Required investing more time that is now saved when a new installation is

needed• EGEE collaboration started successfully

• 2 FTE contributed to the SPI project• SPI was involved in presenting/adapting its existing services. In particular the

collaboration is the Middleware (JRA1) and Quality Assurance (JRA2) activities. • The services involved were Savannah, QA and Testing in particular.

• Savannah service required the implementation of new features to suit LCG and EGEE needs.

Page 27: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 27

Proposed Milestones for 2004 Q4 and 2005 Q1

2004/10/15

Done

Naming and coding conventions for EGEE Middleware in the build system

2005/10/31

Done

Adapt the QA reports to EGEE QA standards

2004/11/15

OTW

Pacman cache for binaries of external and LCG packages

2004/11/15

OTW

Definition and implementation of the validation procedures of the installations of the external software

2004/11/20

OTW

Definition of software configuration information in XML

2004/11/30

New release of Savannah

2004/11/30

Definition of use cases and plans for the config/make solution

Page 28: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 28

Proposed Milestones (II)

2004/12/1 QA reports in production as deliverable of the LCG projects

2004/12/15

Sources distribution and build of external and LCG software

2004/12/15

Definition of the products and partitions of the LCG software, for individual partial releases and bug releases

2004/12/15

SPI Librarian performs the releases and pre-releases of the LCG software

2005/1/15 Definition of build information in XML

2005/1/15 QA Tests Coverage reports in production

2005/2/28 Independent build and release of partitions of the LCG software

Page 29: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 29

Proposed Milestones (III)

• Further milestones will be defined according to the recommendations of the LHCC review

2005/2/28

Build LCG software with config/make solution from XML configuration

2005/2/28

Generate CMT configuration information from XML configuration

2005/2/28

Generate SCRAM build information from XML configuration

Page 30: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 30

Summary

• SPI provides a set of stable services that fully use the current resources• Savannah, External Software, Testing Frameworks, Software

Distribution, Build and Release, QA Activities

• Resources will be reduced at the end of 2005 and we will not be able to add new activities • We will maintain and improve the existing ones • No requests for major new services from LCG, need to adapt or

interface to external tools

• We refer to and follow the guidelines of the Architects Forum • Representing the users and steering our priorities

• Whenever possible we also do help/work for experiments specific needs • Installations of additional software, interface to their

build/distribution systems, add features

Page 31: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 31

Proposed focus for 2005

• Continue to automate and centralize the cycle for software build/test/release/distribution

• Provide software that can be installed or downloaded on several platforms using standard tools

• Increase work on the QA and testing activities that was particularly difficult in 2004

• Focus more on encouraging other areas and projects to use uniform solutions provided

• Further milestones will be defined according to the recommendations of the LHCC review

Page 32: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 32

BACKUP MATERIAL

•BACKUP MATERIAL

Page 33: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 33

Resources

Services Responsible %

External software, installation and distrib.

E.Poinsignon 75

Savannah service, bug and devel. portal

Y.Perrin 100

LCG Librarian, Build and Configuration

A.Pfeiffer(5/04)

70

Documentation, Workbook, Policies, Web

A.Aimar 70

Build tools, Software Distribution Y.Patois (4/04)

100

QA reports and Testing Frameworks

J.Benard (8/04)

100

QA reports, Software distribution J.Moscicki 10

Testing Frameworks M.Gallas 10

Page 34: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 34

Summary of actions on 2003 recommendations (I)

• CVS service to IT• Passed to IT after validation and intensive testing• We migrated all projects ourselves, no problems

• Savannah portal• In synch with the open source• Close collaboration with the main Savane (“re-brand” of the

open source) developer

• Documentation and website• Our website is stable and be keep it up to date• Testing also “wiki” or other systems to easily allow multiple

authorship

• External Software service• Maintain original structure of the installed packages• Automated installations and making available all installation

scripts and tools• Some tools for which we have verification material we check

them, more on the way

Page 35: Presentation at the LHCC Review

A.Aimar SPI - Software Process & Infrastructure 35

Summary of actions on 2003 recommendations (II)

• QA activities• Automated generation of reports, a web form is being put in place• Resources (junior) joined only in August 2004, for now no resources for

verification of compliance to the QA criteria defined.• No resources for verification of compliance to QA and testing

standards• Build System and Infrastructure

• Librarian role filled in June 2004 and very beneficial to centralize this activity• Developed scripts to centrally do the releases and installations• We performed the certification of all external and LCG software for SLC3, as

test of the automatic installation scripts • Config/make solution is going to be achieved via the XML description files

that he had to implement in order to support several tools for build and distribution

• XML description will allow to support several build systems• Generate and keep up to date configuration files for CMT

• Software distribution• Binaries: python-based and pacman distribution• Sources: distribution of all external and LCG software and all the SPI tools to

build from sources• Interaction with Deployment and EGEE in this area but not major common

solutions adopted