M.-E. Bégin¹, S. Da Ronco², G. Diez-Andino Sancho¹, M. Gentilini³, E. Ronchieri ², and M. Selmi² ¹CERN, Switzerland, ² INFN-Padova, Italy, ³INFN-CNAF,

Slides:



Advertisements
Similar presentations
OMII-Europe Repository Steven Newhouse Director, OMII-UK.
Advertisements

Intro to Version Control Have you ever …? Had an application crash and lose ALL of your work Made changes to a file for the worse and wished you could.
JTX Overview Overview of Job Tracking for ArcGIS (JTX)
Web publishing training Introduction to the Tera text Web Content Management System (CMS) Learning Objective: Basic knowledge and skills required to publish.
ManageEngine TM Applications Manager 8 Monitoring Custom Applications.
SC7 WG6 Rome Engineering Ingegneria Informatica S.p.A. INFSO-RI Isabel Matranga ETICS Automated Building,Testing and Quality Assurance.
Automated Tests in NICOS Nightly Control System Alexander Undrus Brookhaven National Laboratory, Upton, NY Software testing is a difficult, time-consuming.
1 CMPT 275 Software Engineering Revision Control.
SubVersioN – the new Central Service at DESY by Marian Gawron.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
QA Automation Solution. Solution Architecture Test Management tool CI Tool Automation framework Testing Project BDD Tool Text of test to Testing Project.
Deploying Dynamics Applications Thomas Hansen – Director, appSolutions a|s
Chapter 6 – Architectural Design Lecture 2 1Chapter 6 Architectural design.
Version Control with Subversion. What is Version Control Good For? Maintaining project/file history - so you don’t have to worry about it Managing collaboration.
ArcGIS Workflow Manager An Introduction
SCRAM Software Configuration, Release And Management Background SCRAM has been developed to enable large, geographically dispersed and autonomous groups.
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
Introduction to MDA (Model Driven Architecture) CYT.
I Copyright © 2004, Oracle. All rights reserved. Introduction Copyright © 2004, Oracle. All rights reserved.
F. Toussaint (WDCC, Hamburg) / / 1 CERA : Data Structure and User Interface Frank Toussaint Michael Lautenschlager World Data Center for Climate.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
INFSO-RI Module 01 ETICS Overview Alberto Di Meglio.
Version control Using Git Version control, using Git1.
Update on Database Issues Peter Chochula DCS Workshop, June 21, 2004 Colmar.
Large Scale Parallel Print Service Ivan Deloose – David Foster – Ignacio Reguero CHEP 2000 – 8 February 2000 – Padova (I) Presented by Ivan Deloose -
…using Git/Tortoise Git
Git workflow and basic commands By: Anuj Sharma. Why git? Git is a distributed revision control system with an emphasis on speed, data integrity, and.
XML Registries Source: Java TM API for XML Registries Specification.
Production Data Grids SRB - iRODS Storage Resource Broker Reagan W. Moore
RMS Importer Status MACS Week March 2011 PP b-ABR_RMSImporterStatus Angela Brett RMS Importer Status 1.
INFSO-RI Module 01 ETICS Overview Etics Online Tutorial Marian ŻUREK Baltic Grid II Summer School Vilnius, 2-3 July 2009.
Javascript Cog Kit By Zhenhua Guo. Grid Applications Currently, most grid related applications are written as separate software. –server side: Globus,
Introduction to the Adapter Server Rob Mace June, 2008.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Lecture 22: Client-Server Software Engineering
Enterprise Data Model for Transportation Planning Presentation to 2009 TRB Planning Application Conference Minhua Wang, Ph.D. Citilabs, Inc.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
Rational Unified Process Fundamentals Module 7: Process for e-Business Development Rational Unified Process Fundamentals Module 7: Process for e-Business.
EGEE User Forum Data Management session Development of gLite Web Service Based Security Components for the ATLAS Metadata Interface Thomas Doherty GridPP.
Project Database Handler The Project Database Handler is a brokering application that mediates interactions between the project database and the external.
INFSOM-RI Elisabetta Ronchieri INFN CNAF ETICS 2 nd EU Review (CERN) 15 February 2008 WP3 - Software Configuration Tools and Methodologies.
NOVA A Networked Object-Based EnVironment for Analysis “Framework Components for Distributed Computing” Pavel Nevski, Sasha Vanyashin, Torre Wenaus US.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
System/SDWG Update Management Council Face-to-Face Flagstaff, AZ August 22-23, 2011 Sean Hardman.
Part 4: FCM and the UM University of Reading, December 2015.
Presentation OLOMOLA,Afolabi( ). Update Changes in CSV/SVN.
LCG Distributed Databases Deployment – Kickoff Workshop Dec Database Lookup Service Kuba Zajączkowski Chi-Wei Wang.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
22 Copyright © 2008, Oracle. All rights reserved. Multi-User Development.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
INFSOM-RI WP3 Software Configuration Tools and Methodologies Elisabetta Ronchieri (INFN CNAF) ETICS Final Review (CERN) 15 February.
INFSOM-RI ETICS: E-infrastructure for Testing, Integration and Configuration of Software Alberto Di Meglio Project Manager.
The AstroGrid-D Information Service Stellaris A central grid component to store, manage and transform metadata - and connect to the VO!
 Project Team: Suzana Vaserman David Fleish Moran Zafir Tzvika Stein  Academic adviser: Dr. Mayer Goldberg  Technical adviser: Mr. Guy Wiener.
INFSOM-RI The ETICS Service Configuration, Building and Testing Elisabetta Ronchieri, ETICS Project, INFN CNAF.
ACGT Architecture and Grid Infrastructure Juliusz Pukacki ‏ EGEE Conference Budapest, 4 October 2007.
© CGI Group Inc. User Guide Subversion client TortoiseSVN.
INFSOM-RI Elisabetta Ronchieri INFN CNAF ETICS 2 nd EU Review (CERN) 15 February 2008 WP3 - Software Configuration Tools and Methodologies.
INFSOM-RI WP3: WP3: Software configuration tools and methodologies Status Report ETICS All-Hands – 23 May 2007 E. Ronchieri.
Large Scale Parallel Print Service
Marc-Elian Bégin ETICS Project, CERN
Elisabetta Ronchieri WP3
The ETICS Build and Test Service
Course Name: QTP Trainer: Laxmi Duration: 25 Hrs Session: Daily 1 Hr.
Module 01 ETICS Overview ETICS Online Tutorials
Notefied (web publishing)
Analysis models and design models
David Cleverly – Development Lead
Introduction to the SHIWA Simulation Platform EGI User Forum,
Presentation transcript:

M.-E. Bégin¹, S. Da Ronco², G. Diez-Andino Sancho¹, M. Gentilini³, E. Ronchieri ², and M. Selmi² ¹CERN, Switzerland, ² INFN-Padova, Italy, ³INFN-CNAF, Bologna, Italy ETICS Meta-Data Software Editing - From Check Out To Commit Operations References [1] M. E. Bégin, et al., Build, Configuration, Integration and Testing Tools for Large Software Projects: ETICS, In Proceeding of RISE 2006 International Workshop, September, 2006, University of Geneva, Switzerland [2] The Grid Quality Process, References [1] M. E. Bégin, et al., Build, Configuration, Integration and Testing Tools for Large Software Projects: ETICS, In Proceeding of RISE 2006 International Workshop, September, 2006, University of Geneva, Switzerland [2] The Grid Quality Process, etics-get-project P Scenario 1 A possible scenario consists of a user that downloads a project, called P. Then, the user creates a subsystem A that contains two components, called A-1 and A-2. Next, the user modifies subsystem and project configurations in order to link respectively the new component configurations (i.e., A-1.HEAD, A-2.HEAD) and subsystem configuration (i.e., A.HEAD). Finally, the user commits changes performed locally. Scenario 1 A possible scenario consists of a user that downloads a project, called P. Then, the user creates a subsystem A that contains two components, called A-1 and A-2. Next, the user modifies subsystem and project configurations in order to link respectively the new component configurations (i.e., A-1.HEAD, A-2.HEAD) and subsystem configuration (i.e., A.HEAD). Finally, the user commits changes performed locally. Scenario 2 Another scenario consists of a user that downloads a project, called P1. Then, the user modifies an existing component configuration (B.HEAD) changing a static dependency, then addes a new component configuration (C.HEAD), next modifies the previous configuration (B.HEAD) adding the new one as dynamic dependency. At this point the user commits changes performed locally. Scenario 2 Another scenario consists of a user that downloads a project, called P1. Then, the user modifies an existing component configuration (B.HEAD) changing a static dependency, then addes a new component configuration (C.HEAD), next modifies the previous configuration (B.HEAD) adding the new one as dynamic dependency. At this point the user commits changes performed locally. User 2 Get project P1 > etics-get-project P1; > etics-commit Commit Modify configuration B.HEAD > etics-configuration prepare -c B.HEAD B; > etics-configuration modify \ -i Configuration-B.HEAD.ini; Add configuration C.HEAD > etics-configuration prepare \ --new -c C.HEAD C; > etics-configuration add \ -i Configuration-C.HEAD.ini; Modify configuration B.HEAD > etics-configuration modify \ -i Configuration-B.HEAD.ini; User 1 Get project P > etics-get-project P; > etics-configuration prepare -c P.HEAD P; > etics-configuration modify \ -i Configuration-P.HEAD.ini; > etics-commit Commit Modify configuration P.HEAD > etics-configuration prepare -c A.HEAD A; > etics-configuration modify \ -i Configuration-A.HEAD.ini; > etics-module prepare \ --new --parent A --component A-2; > etics-module add -i Component-A-2.ini; Create component A-2 > etics-module prepare \ --new --parent A --component A-1; > etics-module add -i Component-A-1.ini; > etics-module prepare --new -s A; > etics-module add -i Subsystem-A.ini; Create subsystem A Create component A-1 Modify configuration A.HEAD Example of Component-A-1.ini file: [Component-A-1] licenceType = ETICS vendor = ETICS description = None repository = download = None packageName = A.1 homepage = None vcsroot = [Parent] Subsystem = A Example of Component-A-1.ini file: [Component-A-1] licenceType = ETICS vendor = ETICS description = None repository = download = None packageName = A.1 homepage = None vcsroot = [Parent] Subsystem = A Example of Configuration-B.HEAD.ini file: [Configuration-B.HEAD] profile = None status = None moduleName = P1.B description = P1.B v version = path = None age = 1 tag = B_branch_1_0_0 [Platform-default:BuildCommand] … [Platform-default:TestCommand] … [Platform-default:VcsCommand] checkout = echo ‘hi’ [Platform-default:Property] … [Platform-default:Environment] … [Platform-default:StaticDependency] externals|globus = globus v ,B [Platform-default:DynamicDependency] P1|C = C.HEAD,R Example of Configuration-B.HEAD.ini file: [Configuration-B.HEAD] profile = None status = None moduleName = P1.B description = P1.B v version = path = None age = 1 tag = B_branch_1_0_0 [Platform-default:BuildCommand] … [Platform-default:TestCommand] … [Platform-default:VcsCommand] checkout = echo ‘hi’ [Platform-default:Property] … [Platform-default:Environment] … [Platform-default:StaticDependency] externals|globus = globus v ,B [Platform-default:DynamicDependency] P1|C = C.HEAD,R It is important to observe that the ini file name contains as prefix one of the following values: Component, Subsystem, Project and Configuration. The prefix is followed by – plus a name. List of Operations handled by the module and configuration Commands add clone that creates a new data; that copies existing data (used for configuration only); modify rename that modifies existing data; that changes the name of existing data; preparethat generates a plain-text representation of existing data; removethat deletes existing data. Editing Commands etics-moduleused for project, component and subsystem data, generically called module; etics-configurationused for configuration; etics-commitused for committing changes performed locally. Details of Commands and Operations Web Application Web Service Via command-line tools Via browser Remote build/test infrastructure Database Figure 1: ETICS Architecture Introduction Experience in Grid projects, like EGEE, has shown that the use of version control and build systems is not able to support the development of the software efficiently, due to the large number of errors that cause the breaking of the build process. Common errors are, for example: the adoption of new libraries, libraries incompatibility, the extension of the current project in order to support new software modules. Solution ETICS, an integrated infrastructure for the automated configuration, build and test of Grid and distributed software [1, 2], has defined meta-data software abstractions, from which it is possible to download, build and test software projects. It is possible, for example, to set dependencies amongst components, and define what environment variables are necessary in order to execute a given component. Meta-data Meta-data is managed by ETICS in the same way than a version control system. This is possible thanks to the existence of a meta-data repository and the handling of a list of operations (e.g., check out, commit). Figure 1 synthesizes ETICS Architecture. Implementation A Project Metadata (e.g., project structure, VCS/Build/Test Commands, Environment Variables) is stored in a centralized relational database. In order to build or test, the clients will download an XML representation of the meta-data in their respective working areas. Introduction Experience in Grid projects, like EGEE, has shown that the use of version control and build systems is not able to support the development of the software efficiently, due to the large number of errors that cause the breaking of the build process. Common errors are, for example: the adoption of new libraries, libraries incompatibility, the extension of the current project in order to support new software modules. Solution ETICS, an integrated infrastructure for the automated configuration, build and test of Grid and distributed software [1, 2], has defined meta-data software abstractions, from which it is possible to download, build and test software projects. It is possible, for example, to set dependencies amongst components, and define what environment variables are necessary in order to execute a given component. Meta-data Meta-data is managed by ETICS in the same way than a version control system. This is possible thanks to the existence of a meta-data repository and the handling of a list of operations (e.g., check out, commit). Figure 1 synthesizes ETICS Architecture. Implementation A Project Metadata (e.g., project structure, VCS/Build/Test Commands, Environment Variables) is stored in a centralized relational database. In order to build or test, the clients will download an XML representation of the meta-data in their respective working areas. Table 1: Some editing commands Table 2: List of Operations (1) Work Area Web Service Non-Local Solution Local Solution For each operation commit (1) (2) operations Figure 2 shows the order of the actions performed by the local and non-local solutions. ETICS provides various commands to handle the metadata locally (some editing commands are described on Table 1). When a local editing command is executed, all the local changes are tracked in a local history file Different commands support different operations, as described in Table 2. ETICS provides a transaction mechanism, which avoids any possible intermediate state causing data corruption. Figure 2: Local and Non-local solutions actions. (1) and (2) represent the order of the actions.