CVS services for ATLAS (and others) Helge Meinhard CERN.

Slides:



Advertisements
Similar presentations
Warren Jones, Fluke Co., Eugene Kramer, Remedy Co. Introduction to CVS 1999 Concurrent Versions System Overview of CVS architecture. Repository structure.
Advertisements

1 Dynamic DNS. 2 Module - Dynamic DNS ♦ Overview The domain names and IP addresses of hosts and the devices may change for many reasons. This module focuses.
Module 5: Creating and Configuring Group Policy
CVS Selim Çıracı Ahmet Kara Metin Tekkalmaz. CVS – Open Source Version Control System Outline What are Version Control Systems? And why do we need them?
Hands-On Microsoft Windows Server 2003 Networking Chapter 7 Windows Internet Naming Service.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Module 6 Windows 2000 Professional 6.1 Installation 6.2 Administration/User Interface 6.3 User Accounts 6.4 Managing the File System 6.5 Services.
CP476 Internet Computing Browser and Web Server 1 Web Browsers A client software program that allows you to access and view Web pages on the Internet –Examples.
Apache : Installation, Configuration, Basic Security Presented by, Sandeep K Thopucherela, ECE Department.
© 2010 VMware Inc. All rights reserved VMware ESX and ESXi Module 3.
Hands-On Microsoft Windows Server 2008 Chapter 8 Managing Windows Server 2008 Network Services.
SubVersioN – the new Central Service at DESY by Marian Gawron.
CERN - IT Department CH-1211 Genève 23 Switzerland t SVN Pilot: CVS Replacement Manuel Guijarro Jonatan Hugo Hugosson Artur Wiecek David.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 14: Problem Recovery.
A crash course in njit’s Afs
Linux Operations and Administration
Windows Server MIS 424 Professor Sandvig. Overview Role of servers Performance Requirements Server Hardware Software Windows Server IIS.
Hands-On Microsoft Windows Server 2008 Chapter 1 Introduction to Windows Server 2008.
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.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
1 TAC2000/ IP Telephony Lab Advanced Linux Administration Language: Offered in English Instructor: Dr. Quincy Wu (
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
Chapter 10 Networking and the Internet ITSC 1458.
Csci5233 Computer Security1 Bishop: Chapter 27 System Security.
Guide to Linux Installation and Administration, 2e1 Chapter 8 Basic Administration Tasks.
Home Media Network Hard Drive Training for Update to 2.0 By Erik Collett Revised for Firmware Update.
Nightly Releases and Testing Alexander Undrus Atlas SW week, May
October, Scientific Linux INFN/Trieste B.Gobbo – Compass R.Gomezel - T.Macorini - L.Strizzolo INFN - Trieste.
Yannick Patois – CVS and Autobuild tools at CCIN2P3 – hepix - October, n° 1 CVS setup at CC-IN2P3 and Datagrid edg- build tools CVS management,
COMP1321 Digital Infrastructure Richard Henson February 2014.
CERN Manual Installation of a UI – Oxford July - 1 LCG2 Administrator’s Course Oxford University, 19 th – 21 st July Developed.
CVS Client/Server CVS (GNU CVS) –Open source –Cross-platform Designed as a client/server application Remote access –Client cvs: uses rsh or ssh to establish.
Chris Onions Getting started with CVS in ATLAS 11 Getting started with CVS in ATLAS Chris Onions (Tutorial based on that of Raúl Ramos Pollán CERN / IT.
Linux Services Muhammad Amer. 2 xinetd Programs  In computer networking, xinetd, the eXtended InterNET Daemon, is an open-source super-server daemon.
An Intro to Concurrent Versions System (CVS) ECE 417/617: Elements of Software Engineering Stan Birchfield Clemson University.
Subversion (SVN) A Revision Control System Successor to CVS Carlos Armas Hervey Allen.
CVS – concurrent versions system Network Management Workshop intERlab at AIT Thailand March 11-15, 2008.
Linux Networking Security Sunil Manhapra & Ling Wang Project Report for CS691X July 15, 1998.
CSE 219 Computer Science III CVS
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 13 FTP and Telnet.
Chapter 10 Chapter 10: Managing the Distributed File System, Disk Quotas, and Software Installation.
CVS – concurrent versions system AROC Guatemala July 19-23, 2010 Guatemala City, Guatemala.
Networking in Linux. ♦ Introduction A computer network is defined as a number of systems that are connected to each other and exchange information across.
Core 3: Communication Systems. Network software includes the Network Operating Software (NOS) and also network based applications such as those running.
1 CSE306 Operating Systems Projects CVS/SSH tutorial.
SWGData and Software Access - 1 UCB, Nov 15/16, 2006 THEMIS SCIENCE WORKING TEAM MEETING Data and Software Access Ken Bromund GST Inc., at NASA/GSFC.
Linux Services Configuration
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Free Powerpoint Templates Page 1 Free Powerpoint Templates Users and Documents.
12 CVS Mauro Jaskelioff (originally by Gail Hopkins)
Linux Operations and Administration
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
CERN 13-Jun-2002 Andreas Pfeiffer, CERN/IT-API, Development Infrastructure Andreas Pfeiffer CERN IT/API
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
VMware Certified Professional 6-Data Center Virtualization Beta 2V0-621Exam.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
COMP1321 Digital Infrastructure Richard Henson March 2016.
Switchvox SMB 4.6 for your peace of mind
VMware ESX and ESXi Module 3.
CVS – concurrent versions system
CVS – concurrent versions system
An Intro to Concurrent Versions System (CVS)
LCGAA nightlies infrastructure
Lab 1 introduction, debrief
Software Version System Part1: Subversion at CERN
HC Hyper-V Module GUI Portal VPS Templates Web Console
Concurrent Versions System
APACHE WEB SERVER.
HC VMware Module
Presentation transcript:

CVS services for ATLAS (and others) Helge Meinhard CERN

Outline Introduction User perspective Services offered Gotchas/niggles System perspective Design goals Implementation Steps taken, experience so far; what next?

Introduction (1) Large software projects require a version control system a configuration management system a build system developer communication change control, workflows, process model automated testing management …

Introduction (2) cvs only addresses the first point (version control system) Repository of (specially formatted) files Checkout/commit Concurrent editing, conflict resolution Tags, branches, … All developers need access to repository by using machines that see the repository in the file system (‘local’ mode) by using cvs client/server

Introduction (3) ‘Local’ access requires write permission to all developers No guarantee that everybody uses cvs commands Even rm –rf $CVSROOT is possible… Large organisations have used AFS Additional problems with stale locks, corrupted files, …

Introduction (4) (Obvious) alternative: cvs in client/server mode Repository can be on local disk Enforces usage of cvs (no rm –rf possible) Login to server required for small number of people only

User perspective

User perspective: Services cvs server cvs notification Web server with cvsweb Mirroring tool

Services: cvs server (1) Access methods: kserver export CVSROOT=:kserver:atlas-sw.cern.ch:/atlascvs Kerberos 4 (same as for AFS) Works automatically when logging into CERN machines No special registration

Services: cvs server (2) Access methods (2): pserver export Requires special registration on the server, with password, requires cvs logon on client side Weak security Others: Possible, not currently implemented ssh Kerberos 5 …

Services: cvs server (3) Commit and tag access controlled by username for any subdirectory of the repository (implies all subdirectories thereof)

Services: cvs notification Mail digest sent to mailing list Contains details about all commit and tag operations

Services: Web server Web server to provide services requiring local access to repository Cvsweb: interactive browsing of repository Check file tree Look at revision history of a file Look at any specific revision of a file Run diff on any pair of revisions of a file Editing capabilities of cvsweb not implemented

Services: Mirroring tool cvsupd server running Allows for efficiently updating a 1:1 copy of the repository Useful for outside labs … and for our own mirror on AFS

User perspective: Gotchas (1) cvs checkout –d module -d., -d /an/absolute/path, -d two/levels all don’t work “Long standing, hard to fix design defect in cvs client/server” Spurious changes of CVSROOT Workaround in cvs-acl.pl scripts Problems with accounts in multiple groups cvs failed if ATLAS was not the primary group Another consequence: Some repository files, after copying over from AFS, had wrong group assignment Being resolved now

Gotchas (2) ‘Connection refused’ by cvs server Too many connections within 60 second interval, limit now 240 Cures itself after 10 minutes

System perspective

System perspective: Design goals Use standards wherever possible Standard machine, OS, management tools, … Well-known and established tools for specific services Serving more than one repository from same server should be possible Assurance of data integrity Service view decoupled from physical implementation

System perspective: Implementation System Hardware, OS, disk layout, backups, … User administration cvs servers cvs commit/tag controls, notification Web server, cvsweb Mirror server Data safeguards

System (1) 4 year-old PC Tyan Tahoe II, 66 MHz FSB 2 Intel Pentium II 300 MHz 256 MB System disk: 10 GB IDE non-mirrored Intel Pro/100 Adaptec AHA 2940 UW In air-conditioned server room, under UPS Connected to CERN backbone via 100 Mbit/s switch

System (2) OS: CERN Linux with AFS, SUE (default/CERN), sshd Data disks: 2 Seagate Barracuda 9 GB 7200 rpm Software RAID (level 1 – mirrored) 8.5 GB mounted as /local

System (3) (Simplified) layout of /local /local/atlas/cvsRepository cvslockReserved for locks cvsupConf. files for cvsupd httpdcvsweb conf. and hooks /local/home/atlascvscron jobs running under ATLAS account /local/home/httpdcvsweb scripts /atlascvs  /local/atlas/cvs

System (4) Backup Every night / (including /etc), /local, /var using TSM (ex-ADSM) Unnecessary services disabled ftp, telnet, shell (rsh), login (rlogin) Only connection: ssh DNS aliases defined: atlas-sw, chorus-sw

User administration All cvs users need to be known on server Daily synchronisation with lxplus cluster /etc/passwd, /etc/group, /etc/account Can add local users, otherwise no change Interactive access blocked for most users at HEPiX shell script level SUE feature project_pdp_acl with local configuration files

cvs servers Started by inetd on request /etc/services: Added cvskserver on port 1999 (cvspserver already defined on port 2401) /etc/inetd.conf: Added cvspserver and cvskserver running /usr/local/bin/cvs pserver/kserver Parameters: stream tcp nowait.240 root

Cvs: Controlling commits/tags Perl scripts hooked into commitinfo and taginfo All calling cvs_acls.pl Separate configuration for commits and tags Non-zero exit aborts commit or tag operation Another perl script to detect and block attempts to move or delete tags

Cvs notification taginfo, loginfo files make sure every tag and commit gets recorded one file per operation in a subdirectory of CVSROOT cron job (running as atlascvs) every 10 minutes Sorts and reformats all files Sends mail [to Deletes all files

Web server: Apache Apache rpm (from RedHat 6.1 update area) Configuration changes: cgi scripts enabled cvsweb registered as cgi script No automatic server signatures, no version numbers from server Virtual host atlas-sw.cern.ch running from same IP address running cvsweb as user atlascvs, group zp

Web server: cvsweb Revision From stud.fh-heilbronn.de/~zeller/cgi/cvsweb.cgi Newer incarnations exist with additional functionality, eg. for committing and tagging Linked with virtual Apache host atlas-sw, tied with ATLAS repository

Mirror server: cvsupd (1) Supports mirroring a file tree Particular support for cvs repositories Version 16.1 downloaded from installed in /usr/bin, /usr/sbin

Mirror server: cvsupd (2) Configuration: Run daemon as nobody Allow connections from everywhere, but require a password Mask out sensitive information from CVSROOT Client is run all 30 mins in order to create a mirror of ATLAS repository to AFS

Data safeguards All relevant user data on mirrored disk cvs repository, configuration of auxiliary tools Frequent (30 min) mirroring of repository to AFS Daily TSM backup of all machine data

Steps taken, experience so far; what next?

Steps taken, experience so far ATLAS migration: done in several steps in June and July 2001 Write permissions removed from AFS except for cvs server Moved repository from AFS to local disk Some problems fixed, workarounds provided, or left open Heavy developer activity since, some (proto-) releases of full ATLAS software built Last week: Chorus repository migrated

Steps taken, experience so far (2) No major problem so far Machine stuck due to /var/log/lastlog filling up /var /var almost filling up because /var/log/httpd/*log not rotated (sue purge feature disabling RedHat logrotate…) Bad performance when running cvsup client for mirroring onto AFS on server Now moved to separate machine

What next? Move to IT provided machine Faster hardware, hardware RAID disks Fully monitored by operators Improvements to existing stuff Per-directory notification of commits/tags Access control with cvsupd Other accompanying services LXR, Bonsai, … Discuss/agree with more potential users Define a service (?)