Differences between revisions 13 and 14
Revision 13 as of 2012-01-31 12:09:11
Size: 7608
Comment:
Revision 14 as of 2012-02-06 16:51:42
Size: 7627
Comment:
Deletions are marked like this. Additions are marked like this.
Line 129: Line 129:
|| cfengine ||5,6||todo|| || ||<bgcolor="#007700"> cfengine ||5,6||done|| ||

Konfigurationsmanagement mit VAMOS, Subversion, SUE und Cfengine

Beschreibung von SUE/SVN

SUE Subversion Server
  • es existiert ein SVN Repository, welches auf allen Hosts lokal ausgecheckt wird (wenn der Host für sue/svn konfiguriert ist)
  • Features können nach und nach durch Erstellen eines Files $TFEAT/<feature>/svn umgestellt werden

    • es ist daran zu denken, dass das Repo, alle Utilities und Module auch im SVN verfügbar sein müssen
  • der Subversion Server läuft auf znrepo (mit SL6)
  • Repository findet man unter /var/svn/suecf
  • Zugang zum Repo
    • entweder über User/Passwort https://znrepo.ifh.de/suecf/

      • read/only Access für Hosts (/usr/sue/etc/suecf-svn.cfg)
      • Konfiguration svn: /var/svn/accfile
    • oder mit Kerberos-Authentisierung https://znrepo.ifh.de/svn

      • read/write Access für Admins und für Installationsserver(pallas) mit registry-Ticket
      • Konfiguration svn: /var/svn/accfilekerb (enthält alle Pricipals, die Änderungen vornehmen dürfen)
  • der Subversion Server wird durch das Feature svn konfiguriert

Konfiguration der Host Systeme
  • einige Scripte unter /products/sue/etc/ können nach der Umstellung nicht mehr benutzt werden und rufen automatisch die neuen Scripte aus dem RPM DZ_sue
  • die sue-svn Scripte befinden sich in /usr/sue/sbin, keine Links ins AFS mehr, (rpm DZ_sue)
  • /usr/sue/sbin/sue.update (Link auf sue.install) fast unverändert, es wird im noaction und verbose Modus informiert, welches Feature gerade abgearbeitet wird
  • /usr/sue/sbin/sue.checkout [-h] wird zum Auschecken verwendet, Pfad: /var/cache/suecf/repo
  • /usr/sue/sbin/sue.bootstrap
    • erzeugt alle Links unter /usr/sue/etc/ für die Konfiguration der Features und ruft /usr/sue/sbin/mkconf

/usr/sue/sbin/sue.bootstrap -h
usage:
        -d|-v     set debug mode
        -w        use web client, overriding "clever" autodetection
                  only allowed without option 'H' and 'P'
        -h        show usage
        -H <host> run sue.bootstrap for an other host (installation,no all checks),
                  not in combination with option 'w'
        -P <path> generating sue env for an other host in this working directory,
                  mandatory for option 'H'
  • die Option -H und -P wird vom Installationsserver verwendet (ai)
  • Option -w kann auch in der Initialisierungsphase verwendet werden (SL6 Installationsprozedur)
  • /usr/sue/sbin/mkconf generiert /usr/sue/var/env.pl
  • /usr/sue/sbin/check_status überprüft Netwerk und ob znrepo verfügbar ist
  • /usr/sue/sbin/set_status ist ein Link auf check_status und wird verwendet, um nach fehlgeschlagenem Checkout oder Sue-Run den Zustand zu melden, aber weitere Mails zu verhindern
  • es gibt jetzt nur noch ein Script, welches beim Booten, für den Full- oder Updates Modus gestartet wird: /usr/sue/sbin/sue.run

/usr/sue/sbin/sue.run -h 
  check network connection, the availability of the svn server,
  runs 'svn checkout; sue.bootstrap' and then sue.run with the given mode
  informs 'scout-linux' in case of problems
Usage:
        -d      set debug mode, no delay
        -v      set verbose mode (more cfengine output), no delay
        -n      set noaction mode, implied debug mode 
        -s      skip sue.bootstrap
        -m <mode>       set mode: full,boot,update or now(default)
                nightly run in 'full' mode with delay
                run in 'boot' mode without delay
                daily run in 'update' mode for requested features ( by vamos workflow )
                run in 'now' mode without delay for given features
                  in future: 
                  daily run can switch to full mode with
                  touchfeatures -F ALL ...
        -h      show usage

  • sue.run
    • während des Bootens darf sue.run nur im "boot" Modus laufen
    • Statuscheck
    • Check, ob /etc/nosue existiert
    • Delay ermitteln
    • SVN Checkout
    • Ermittlung der Features, die abzuarbeiten sind
    • Abarbeitung der Features

Umstellung auf SUE/SVN Umgebung auf einem Linux Host

  • getestet auf SL5 und SL6, jetzt auch ohne Änderungen bei Neuinstallation
  • suesvn-mod setzen:
    • feature sue-svn holt /usr/sue/etc/suecf-svn.cfg (user/passwort für svs) vom cfengine server
      • (nur gebraucht bei vorhandenen Installationen, sonst über ai verteilt)
    • feature sue auf "no" stellen
    • rpm DZ_sue installieren
  • Bootscript /etc/init.d/sue_boot startet /usr/sue/sbin/sue.run -m boot

Updates per Cron-Jobs

tagsüber nur per workflow angestoßene Features (6-23 Uhr alle 10 Minuten)
  • cron job: /usr/sue/sbin/sue.run -m update

  • das sind z.Z.: hosts,netgroups,passwd,klogin,ssh
  • oder manuell aktivierte Features per touchfeatures

   /products/sue/etc/touchfeatures -F list_of_features [-H list_of_hosts] [-N list_of_netgroups]
  • in Zukunft soll es noch die Option geben, ein vollständiges Update anzustoßen

Vollständiger Lauf (ab 3 Uhr mit Verzögerung)
  • cron job: /usr/sue/sbin/sue.run -m full

Nutzung von SVN

Erste Benutzung von SUE/SVN
  • Zugangsberechtigung: ~TARCH/svn/ServerSUE/var/svn/accfilekerb
  • auschecken: svn co https://znrepo.ifh.de/svn [ <meinrepository> ]

Einchecken neuer Features
  • auschecken
  • einchecken von ~TFEAT/<feature>, ~PFEAT/<feature>, ~TARCH/<feature>, ~PARCH/<feature>

    • Kopieren der neuen Verzeichnisse ins eigene Repo und notwendige Anpassungsarbeiten durchführen
      • bitte vorher nach Möglichkeit aufräumen
    • dann mit svn add <meinrepository>/... die Verzeichnisse hinzufügen

  • im Modifier suesvn-mod das feature auf noautotest stellen

  • touch ~TFEAT/<feature>/svn

  • auf einem Host, der umgestellt wurde, prüfen:

    /usr/sue/sbin/sue.checkout
    /usr/sue/sbin/sue.bootstrap
    /usr/sue/sbin/sue.update -n [-v] <feature>
  • bei Features, deren Repo vom Vamos Workflow aktualisiert wird, muß auch dafür gesorgt werden, dass SVN Repo aktualisiert wird. Das Feature host wurde bereits umgestellt, siehe /afs/ifh.de/project/VAMOS/prod/conf/workflow-config. Das Script svn_commit checkt die Änderungen ein.

Liste der Features und Status

feature

SL

Status

Kommentare

aaru

5,6

todo

afs_client

5,6

done

arcx

5,6

todo

atlas

5

todo

automount

5,6

done

cfengine

5,6

done

conmgr

5

todo

cups

5,6

todo

ganglia

5

todo

gdm

5

todo

group

5,6

todo

hosts

5,6

done

kerberos

5,6

todo

kernel

5,6

todo

klogin

5,6

todo

ldap

5

todo

linux

5,6

todo

motd

5,6

todo

nagios

5,6

todo

name_srv

5,6

todo

netgroup

5,6

todo

nsswitch

5,6

todo

pam

5,6

todo

passwd

5,6

todo

passwd_prog

5,6

todo

products

5

todo

scout

5,6

done

security

5,6

todo

ssh

5,6

todo

sudo

5,6

todo

syslog

5,6

todo

tcp_wrapper

5,6

todo

tidy_up

5,6

todo

trusted

5,6

todo

vamos

5,6

todo

xntp

5,6

todo

zzz

5,6

todo

Änderungen an Features, die schon im SVN verwaltet werden
  • auschecken
  • Änderungen mit svn commit <meinrepository> -m 'last modified ' einchecken

KonfigurationsManagement (last edited 2023-01-12 22:32:05 by FabianKrack)