wiki:Obsolete/Download/SCDB/Upgrade

How to Upgrade SCDB

SCDB consists mainly in a set of client side tools, a Subversion server and an http server. Thus SCDB upgrades mainly consist of updating SCDB tools, Pan compiler and a few other external tools packages with SCDB (in external directory). In addition there a few Quattor specific RPMs on the Quattor server used for AII (initial installation of machines). This page describes how to upgrade each SCDB and Quattor specific parts. Refer to the relevant product documentation if you want to upgrade your http or Subversion server.

Note : SCDB has no http (generally Apache but not a requirement) or Subversion server version dependency.

Installing a new SCDB Release

To help upgrading all SCDB components and keeping them in sync, periodically SCDB releases are produced. Upgrading SCDB components of a production Quattor installation to a new SCDB releases involves a few steps:

  1. Do a fresh checkout of the SCDB release you want to install. The last recommended release is available at SVN URL http://svn.lal.in2p3.fr/LCG/QWG/SCDB/tags/pro. Note that this URL can be checked out but that a working copy referring this URL cannot be updated. In examples provided below, we assume this checkout is available in /scdb/pro: replace by the actual path at your site.
  2. Go to the top directory of your production SCDB installation and use directory-sync to synchronize your SCDB components with the checkout done during the previous step. A typical command would be:
     find external utils src -type d -not -path '*.svn*' -exec /scdb/pro/utils/misc/directory-sync {} /scdb/pro \;
    
  3. Remove all the plain files located in the top directory of your production installation except quattor.build.properties if it exists (this can be done with rm *, any file deleted by mistake can be reverted with svn revert) and copy the new version of these files from the checkout done during step 1. A typical command is (ignore error message about directories):
    cp /scdb/pro .
    
  4. Check the changed files with svn status, revert (svn revert) what is not appropriate (in particular some files specific to your installation may have been deleted) and commit the new SCDB version into your production SCDB installation

Updating Individual SCDB Components

Updating SCDB Tools

SCDB tools is a set of utilities, underlying products and ant tasks used to manage SCDB and produce/maintain some templates. They are all maintained separately from the QWG templates and their source is in SCDB branch of QWG repository. There are 3 separate branches related to SCDB tools:

  • trunk: where the new contributions go first. You should not expect this to be stable or ready for production at each revision and this is not recommended to use it in production. The associated SVN URL is https://svn.lal.in2p3.fr/LCG/QWG/SCDB/trunk.
  • branches: there is one branch for each major version of SCDB. Current version is v2. Material in this branch is sort of beta releases: not everything has been thoroughly tested but it is supposed to work. The associated SVN URL is https://svn.lal.in2p3.fr/LCG/QWG/SCDB/branches but take care of not checking out all branches.
  • tags: there is one branch for each released version of SCDB. Look at release notes for new version announcements and numbers. This is the production-ready released. One of them is flagged as pro and is the current recommended production version. The associated SVN URL is https://svn.lal.in2p3.fr/LCG/QWG/SCDB/tags but take care of not checking out all tags.

To update from one SCDB version to another, the easiest is to check out the SCDB version you want with a SVN client and then copy to your production SCDB the contents of all directory from the reference version. You can use directory-sync to help with this operation. As SCDB tools are part of SCDB, changes made can be reviewed and/or reverted with usual SVN commands.

For the external directory in SCDB tools, which contains all external tools used by SCDB, you can use a SVN external reference rather than having them directly inside your production SCDB. Look at how this is configured in SCDB distribution for an example. This has the advantage of smoother and easier upgrade of this part of SCDB tools at the cost of requiring a working connection with QWG repository to be able to deploy a configuration change.

Updating with Eclipse

In fact, there is not much to say about this. All SCDB tools are contained inside SCDB. Whether you are using Eclipse or not is not relevant but this is probably easier to update SCDB tools with command line tools on a Unix system than with a GUI. The basic operation is the same: check out the new version, copy the files it provides to your production SCDB.

If SCDB tools have been updated outside Eclipse, getting the new tools under Eclipse is just the matter of a svn update. Depending on your Eclipse Java VM configuration, you may have to restart Eclipse to successfully update panc and use the new version (this happens in particular if you use the same Java VM for Eclipse and SCDB, which is the recommended configuration).

Updating AII

The only Quattor-specific RPMs used with SCDB for AII support are installed on the Quattor server . They are:

  • cdb-sync
  • ncm-template
  • aii-server
  • aii-client
  • aii-ks
  • aii-pxelinux

These RPMs may have some other non Quattor-specific dependencies.

Normally, the recommended version for these RPMs is configured by default through standard template standard/quattor/aii/server/rpms.tpl. As other parts of SCDB have no dependency on these RPMs and they can be freely updated as needed, when new versions of these RPMs become available.

Updating SWrep

SWrep is the Quattor original service for managing RPM repositories. SCDB provides an alternative, based on plain http server and managed with SCDB Ant Tools (task update.rep.templates). If you want to use SCDB with SWrep, you have to also manage SWrep updates, using the standard upgrade procedure for SWrep.

Last modified 13 years ago Last modified on Apr 22, 2011, 10:00:12 AM