Date post: | 13-Dec-2014 |
Category: |
Documents |
Upload: | softwarecentral |
View: | 204 times |
Download: | 1 times |
SPI Software Process &
Infrastructure
Project Statushttp://spi.cern.ch
LHCC Review - 23 November 2004
Alberto [email protected]
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
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
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
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
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
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.
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
A.Aimar SPI - Software Process & Infrastructure 9
External Software – http://spi.cern.ch/extsoft
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
A.Aimar SPI - Software Process & Infrastructure 11
Savannah Service – http://savannah.cern.ch
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
A.Aimar SPI - Software Process & Infrastructure 13
Software Distribution – http://spi.cern.ch/lcgsoft
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
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
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
A.Aimar SPI - Software Process & Infrastructure 17
Testing Support – http://spi.cern.ch/testing
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
A.Aimar SPI - Software Process & Infrastructure 19
QA Reports
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
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
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
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
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
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.
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.
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
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
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
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
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
A.Aimar SPI - Software Process & Infrastructure 32
BACKUP MATERIAL
•BACKUP MATERIAL
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
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
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