Download presentation
Presentation is loading. Please wait.
Published byKelley Atkins Modified over 9 years ago
1
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 1 / 22 AliRoot and AliEn Build Integration and Testing System (BITS) Alina Grigoras alina.gabriela.grigoras@cern.ch Olga Vladimirovna Datskova olga.vladimirovna.datskova@cern.ch
2
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 2 / 22 BITS purpose Having a current, up to date, installable binary image of AliEn and AliRoot for different architectures Automate the process of building AliEn and AliRoot components Introduce a better understanding of the dependencies between packages Perform unit and functional tests during build time, deploying error alerts immediately Provide a web interface that allows monitoring of the current build status and remote access to logs
3
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 3 / 22 Supported Platforms AliEn and AliRoot are supported for the following platforms : SLC5 32 and 64 bits SLC5 Itanium IntelMac 32 and 64 bits Leopard IntelMac 32 and 64 bits Snow Leopard ( to be added ) Ubuntu 9.10 64 bits (testing purpose) AliEnBITS Web Interface Main Menu
4
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 4 / 22 Build environment overview Based on the Konstruct framework used to build KDE and dependencies which in itself is based on BSD ports system Each package is defined as a directory in a hierarchy For each package there is a Makefile containing a set of variables: Name, version, author, web page License information Build and runtime dependencies Master sites for downloading the package source Additional patches needed for AliEn/AliRoot environment Checksums for verifying the integrity of the downloaded sources
5
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 5 / 22 Build process[1] Get the available Releases Select the one to be (re)built Fetch the latest changes for this release Do a cvs update Determine the build order Analise the dependencies between packages Select the packages that have to be rebuilt Based on modifications received on cvs update Based on last build status Based on package dependencies
6
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 6 / 22 Build process [2] For each package Clean its environment Fetch source archive from master sites Build, install and run tests Create the binary image for binary installations Generate package web page Build / SLOC / Graph dependencies Cleanup environment Send notification email when status changes
7
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 7 / 22 AliEn: packages graph
8
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 8 / 22 AliEn: available builds The current build system maintains the following versions of AliEn across all supported platforms: The build also provides the following AliEn distributions (the sizes are for v2-18 SLC5 64 bits): DistributionPacked size (MB)Unpacked size (MB) user18.771.1 workernode44.8156.4 client62.2 279.7 vobox126.0 476.1 all160.1660.6 http://alienbuild.cern.ch:8888
9
http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 9 / 22 AliEn: Release Web Page
10
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 10 / 22 Package Web Page AliEn Package Details - general information about the package - links to the Makefile + the applied patches AliEn Package Dependencies - list of packages that have to be build before building this package AliEn Packages Depending on it - the list of packages that can't be build before building this package
11
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 11 / 22 AliEn: user distribution Latest installation instructions for the user distribution can be found at http://alien2.cern.chhttp://alien2.cern.ch User distribution contains the necessary libraries for compiling ROOT with AliEn Grid support. The detailed instructions can be found on the same page as above. wget http://alien.cern.cern/alien-installerhttp://alien.cern.cern/alien-installer chmod +x alien-installer./alien-installer [pcepalice10] /home/alienmaster >./alien-installer ###################### Automated AliEn user installer ################ Installing in the default directory: /home/alienmaster/alien If you wish to install in a specific directory do:./alien-installer -install-dir Platform set as: x86_64-unknown-linux-gnu Waiting 10 seconds. Press 'Ctrl+c' to exit the installation........Starting installation Downloading user distribution...................................Done Extracting the files........................................Done Relocating the user installation..............................Done Installation finished!
12
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 12 / 22 AliEn Tests –AliEn Tests are performed after each build Test the installation procedure Perform different functional tests Save the log files for the failed tests Save the log files of all AliEn services during the test Publish relevant logs
13
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 13 / 22 Release Test Web Page General information Main test steps and their results Results per test types Logs: - AliEn services logs - failed tests logs Global log of the build process
14
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 14 / 22 AliRoot: build specifics Same build process as AliEn – Checks for new releases or changes in the current development releases – After each build performs quality and functional tests http://alirootbuild.cern.ch:8889
15
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 15 / 22 AliRoot: web interface http://alirootbuild.cern.ch:8889
16
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 16 / 22 Adding a new AliRoot release new releases can be added using a web interface For each AliRoot release we need to specify the dependencies – AliEn version – Geant3 version – Root version Release administration http://alirootbuild.cern.ch:8889 Available version list extracted from source repositories
17
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 17 / 22 AliRoot benchmarks AliRoot benchmarks are triggered after each build The results are published on a web page The logs are available from any remote location History charts to compare with previous builds / releases
18
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 18 / 22 AliRoot: on the GRID After a complete build and in case of no errors during the tests, AliRoot packages can be registered into AliEn using a web interface from MonAlisa
19
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 19 / 22 AliRoot: Geant4 Geant4-v2010xxxx CLHEP Geant4_vmc Geant4 Data Files Build dependency Installation point ROOT The Grid Geant4 unlike its predecessor is written in C++ and has a completely new installation procedure AliRoot BITS for Geant4 packages was adjusted in order to facilitate automatic compilation and installation procedures The final Geant4 package installed on the GRID (see left diagram) contains a number of dependent packages, libraries and data files.
20
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 20 / 22 Perl upgrade from 5.8.8 to 5.10.1 Always use the latest packages Enabling thread support for improving AliEn performance Issues Some packages are really old and they are not supported anymore Rebuilding a distribution takes ~a couple of hours thus each iteration is slow Problems are really difficult to spot Packages that don't have a clear building and installation script Because of the big number of packages and dependencies one change in a package can trigger a whole chain of problems Some packages are not supported at all for some platforms, usually for Mac AliEn: current work [1]
21
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 21 / 22 Adding a gLite test environment, without installing gLite with AliEn Issues: installing gLite on all build servers independent of the build and testing process, certificates etc Synchronizing the build number between different platforms You can have AliEn 2-18.23 for 32bits and AliEn 2-18.30 for 64bits Major cleaning of AliEn packages (somewhere in the future) AliEn: future plans
22
http://alienbuild.cern.ch:8888http://alienbuild.cern.ch:8888 http://alirootbuild.cern.ch:8889 22 / 22 Usual work: Building and registering to AliEn different tags of AliRoot Current work: Implementing an automatic email alert system If AliRoot fails, check where it failed and email the responsible persons about it This applies only to the trunk, that is build every night We are in test phase Future plans : Automatically register packages to AliEn, now it is done using an intermediate MonAlisa webpage AliRoot: present and future
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.