Download presentation
Presentation is loading. Please wait.
Published byMartha Lewis Modified over 8 years ago
1
A. Aimar - EP/SFT LCG - Software Process & Infrastructure SPI Infrastructure for LCG Software Projects CHEP 2003 A.Aimar EP/SFT CERN LCG Software Process & Infrastructure
2
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Project context of LCG SPI LCG Application Area LCG Infrastructure Common services Similar ways of working (process) Tools, templates, training General QA, tests, integration, release LCG Application Area software projects POOL: Persistency SEAL: Core common software PI: Physics Interfaces Simulation Detector Description …etc… LHC grid software applications (LHC experiments, projects, etc) LCG SPI project
3
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Project context of the LCG SPI “Software Management Process RTAG” General recommendations -All LCG projects must adopt the same set of tools, standards and procedures -Adopt commonly used open-source or commercial software where available -Avoid “do it yourself solutions” -Avoid commercial software that may give licensing problems If each project needs an infrastructure, many projects need it even more… -Tools, standards and procedures -Try to avoid complexity
4
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Infrastructure Software Development Keep it “simple and modular” a. Provide general services needed by each project -CVS repository, Web Site, Software Library -Mailing Lists, Bug Reports, Collaborative Facilities b. Provide solutions specific to the software phases -Tools, Templates, Training, Examples, etc. Coding Analysis and Design Development Release Specifications Testing ….. Deployment and Installation ….. Planning General Services Software Development
5
A. Aimar - EP/SFTLCG - Software Process & Infrastructure http://spi.cern.ch
6
A. Aimar - EP/SFTLCG - Software Process & Infrastructure SPI services overview SPI Services LCG repository LCG project portal LCG software library External software LCG software CVS and delivery Code documentation Testing framework Builds and releases … Developers’ web Bug reports FAQ, News
7
A. Aimar - EP/SFTLCG - Software Process & Infrastructure LCG repository SPI Services LCG repository LCG project portal LCG software library External software LCG software CVS and delivery Code documentation Testing framework Builds and releases … Developers’ web Bug reports FAQ, News
8
A. Aimar - EP/SFTLCG - Software Process & Infrastructure >>> CVS repository and Delivery Areas CVS repository A central CVS repository managed and available to all projects Any project just needs to ask for it, and declare its users permissions Managing mirroring and backups Users access controlled Tools for automatic clean up of locks, etc Systems to browse the repositories Delivery areas The AFS and DFS delivery areas 1.an area to install software created by projects in the LCG application area 2.an area where external and third party software 3.an area where software is installed which is provided by people for evaluation within a project Pre-installed software shall be in directories specifying the package name, the package version and the “OS_Compiler”
9
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Many components available Build and release tool Scram Memory Leaks Valgrind Coding guidelines RuleChecker Standard directory structures Automatic Builds talk by A.Undrus on Nicos Software distribution Developers workbook Software documentation, templates, etc
10
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Code Documentation Features of interest: Code browsing Code searching Code information Design diagrams Any LCG project will have them available as part of the infrastructure Doxygen LXR ViewCVS
11
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Code documentation: Doxygen
12
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Code documentation : LXR
13
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Code documentation: ViewCVS CVSgraph: Displays the tree of revisions and branches graphically Enscript: Colorize files in the CVS repository.
14
A. Aimar - EP/SFTLCG - Software Process & Infrastructure >>> Software Testing Tests of classes individual class small groups of collaborating classes work package Software developer CODE Test programs Automatic software test run process Code Documentation Tools CppUnit PyUnit Oval
15
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Test frameworks: CppUnit A simple test 1.Subclass the TestCase CppUnit class 2.Override the method runTest(). 3.call CPPUNIT_ASSERT Similar tools: Junit, PerlUnit, PyUnit, QtUnit Output in XML, compiler or text Windows version for MVC++6.0
16
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Test frameworks: Oval Ovalfile (configuration) Executable Test Source Code Reference file Log file Oval run Oval diff Oval build Can be use for Unit- test It is possible to set different run environments Can run external scripts and external binaries Talk on OVAL at CHEP 2003 Oval: validation regression
17
A. Aimar - EP/SFTLCG - Software Process & Infrastructure LCG Software Library SPI Services LCG repository LCG project portal LCG software library External software LCG software CVS and delivery Code documentation Testing framework Builds and releases … Developers’ web Bug reports FAQ, News
18
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Service: Software Library All software needed by more than one LCG projects shall be installed in common areas Available for several compilers and operating systems Maintained centrally with support and help to the user External documentation available Contact with the authors if the software is developed in HEP or LCG Distribution and pre-installation to all LCG and HEP users
19
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Current status Central installation of HEP or open source software needed by LCG related projects or following their requests in term of version and platforms (Linux, Windows and Solaris when needed). Standard installation & location Availability AFS: /afs/cern.ch/sw/lcg/external/ DFS: \\cern.ch\dfs\project\lcg\external\ (just started) sundev005 /afs/cern.ch/user/l/lcgspi [87]> ls /afs/cern.ch/sw/lcg/external/ Ant/ JACE/ Python/ edg-rls-client/ png-lib/ valgrind/ Boost/ JDK/ TJDO/ expat/ root/ wxPython/ CMake/ JDORI/ XalanJ/ gccxml/ scripts/ Colt/ Log4J/ XercesC/ mysql/ tarFiles/ CppUnit/ MMMySQL/ XercesJ/ mysql++/ test.html* GSL/ Oval/ doxygen/ packages/ uuid/
20
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
21
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
22
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
23
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
24
A. Aimar - EP/SFTLCG - Software Process & Infrastructure LCG project portal SPI Services LCG repository LCG project portal LCG software library External software LCG software CVS and delivery Code documentation Testing framework Builds and releases … Developers’ web Bug reports FAQ, News
25
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Project Portal and Bug Tracker Bug Tracker A central installation so that each project has an available bug tracker system Centrally managed but customizable for different needs Easier to post bug if projects use similar systems No work of maintenance and upgrade on the projects Web based http://lcgappdev.cern.ch Project Portal The development front-end of every project With all features needed, configured and integrated News and Faq Task management Mailing lists access Bug tracking access Download area Access to the CVS repository We have customized “Savannah” from GNU http://savannah.gnu.org
26
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
27
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Benefits Totally web based Single entry point to project(s) Uniform access to project information Set up common web infrastructure for a project without coding
28
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
29
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Bug tracker Fields customizable for each project File uploads Audit trail Full text searches Cc forwarding
30
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
31
A. Aimar - EP/SFTLCG - Software Process & Infrastructure News system Messages can be displayed in threads Monitoring (automatic sending of email) Link detection Transforms URLs to links References to bugs/tasks get linked
32
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
33
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Task manager Sub-project/task hierarchy Tasks can be assigned to developers Tasks carry a deadline, etc. Tasks/bugs interdependencies
34
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
35
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Personalize web page A logged in user gets a customizable personal entry page display of current work status -User's bugs, tasks,... -Monitored news threads -Bookmarks
36
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
37
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
38
A. Aimar - EP/SFTLCG - Software Process & Infrastructure And much more… Consolidate project links ViewCVS (, Doxygen, LXR, Bonzai,...) Project homepage Mailing lists (subscribe/unsubscribe) FAQ system (user/admin documents) Support manager Download area Patch manager Projects administrators can choose what to use for each project
39
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Admin: Project types Name and description Preferences common to one type of projects Homepage, CVS information List of status descriptions (e.g. alpha, beta, stable) Download/upload area (faq) information Allow use of other subsystems (patch manager, task manager, news, support request manager, bug tracker, FAQ)
40
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Admin: For each project Public information -Name, description, development status -Enable subsystems ( bug tracker, patch manager, task manager, CVS link, news system, support tracker, FAQ system, download/upload area ) Members Task manager, patch manager, support manager: none, tech, admin tech&admin Project administrator
41
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
42
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Admin: Bug tracking configuration Bugs -Fields, values -Email notification -Global: List of 'external' email addresses who get all new bug submissions -Personal (techs+admins): List of 'Users to watch' -Personal(techs+admins): Detailed list of events that trigger email to you News Delete postings
43
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
44
A. Aimar - EP/SFTLCG - Software Process & Infrastructure
45
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Specific implementations General bug fixing and improvements Implemented bulk user registration Get a list of users and add/remove them all without registering them one by one Integration with AFS authentication Added a PAM module to verify a login against the AFS authentication The user can still define a password not using the AFS password Sending back to Savannah our changes, patches and fixes http://lcgappdev.cern.ch for now
46
A. Aimar - EP/SFTLCG - Software Process & Infrastructure Conclusions Homogeneity is important for the LCG and for its projects Help people to move from project to project or work across projects common structure, same tools, etc Common services are avoiding many annoying tasks to projects software library, repository A single users/developers entry for multiple projects projects portal SPI’s address is http://spi.cern.ch
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.