wiki:Obsolete/Doc/SCDB/SWRepositories

Version 3 (modified by /C=FR/O=CNRS/OU=UMR8607/CN=Michel Jouvin/emailAddress=jouvin@…, 18 years ago) (diff)

--

Software Repositories Management

This page is under construction, based on a french version of this documentation....

SCDB provides a lightweight alternative to Quattor SWrep. It requires no additional component to the base SCDB, relying on http server to serve RPMs.

SCDB Software repositories are implemented through directories associated with templates describing directories contents. These templates are maintained through SCDB standard management tool, based on ant.

This page describes SCDB software repositories layout and management operations related to them.

RPM Repositories Layout

Repository Directories

Chaque repository correspond à un répertoire sur le serveur Quattor. Sur quattorsrv.lal.in2p3.fr, ces répertoires sont dans l'arborescence /www/htdocs/packages. Il y a plusieurs sous arborescences, notamment :

  • ca : contient la version en cours des RPMs définissant les différentes CAs.
  • glite-xxx et lcg-xxxx : contient la distribution d'une version du middleware gLite ou LCG2.
  • lemon : contient la distribution de Lemon. Il y a une sous arborescence par architecture.
  • os : contient les différentes versions d'OS, avec une sous arborescence par version.
  • quattor : contient la distribution Quattor (serveur et client), hors composants NCM. Il y a une sous arborescence par architecture.
  • ncm-components : contient les RPMS des différents composants NCM utilisés.
  • site : contient divers RPMs utilisés au LAL ou dans GRIF.

Associated Templates

Pour chaque repository, il y a un template associé décrivant le contenu du repository. Lors de la compilation des profils, la disponibilité d'un RPM utilisé dans le profil est vérifiée en utilisant le contenu de ce template et non pas le contenu réel du répertoire.

Les templates associés aux repositories se trouve dans le répertoire cfg/sites/grif/repository du repository Quattor.

La création d'un template pour un nouveau repository se fait en copiant un template existant, en supprimant la variable content et en editant les autres informations (y compris le commentaire).

Tout ajout ou retrait de RPM dans un repository nécessite la mise à jour des templates associés avec la procédure décrite ci-dessous.

Updating RPM Repositories

La mise à jour d'un repository consiste à ajouter ou supprimer un ou des RPMs d'un repository ou à créer ou supprimer un repository. Dans tous les cas, la procédure à suivre est la même et nécessite un accès local à la machine quattorsrv.lal.in2p3.fr. Les différentes étapes sont :

  • Mise à jour du répertoire correspondant au repository : cela consiste à créer le répertoire si on créée un nouveau repository et à mettre/supprimer les fichiers .rpm.
  • Création du template associé au repository (nouveau repository uniquement) : voir ci-dessus.
  • Mise à jour des templates associés : pour cela il faut avoir un copie local à jour du repository Quattor et utiliser la commande ant suivante :
    ant update.rep.templates
    

Le résultat de la commande ant est une nouvelle version des templates associés à tous les repositories qui doit être compilée et déployée suivant la procédure standard (y compris svn commit).

Remarque : Tant qu'on ne supprime pas de RPM dans un repository, l'exécution de cette commande est non destructive et n'a aucun impact sur les versions déjà installées tant que le profil d'une machine n'est pas modifié pour utiliser explicitement la nouvelle version.