13578
Comment:
|
13486
|
Deletions are marked like this. | Additions are marked like this. |
Line 164: | Line 164: |
||<bgcolor="#BDB76B"> ai ||5||done||for SL6 (iptables,SELinux) more to do || | ||<bgcolor="#007700"> ai ||5,6 ||done|| more to done || |
Line 170: | Line 170: |
||<bgcolor="#ff3333"> csinfo ||5||todo|| most of the archive should be packaged in an rpm|| | ||<bgcolor="#007700"> csinfo12 ||6||done|||| |
Line 199: | Line 199: |
|| mtf ||5,6||todo|| ? || | |
Line 207: | Line 206: |
|| osm || 5,6||todo|| || | ||<bgcolor="#007700"> osmng || 6|| done || || |
Line 209: | Line 208: |
||<bgcolor="#ff3333"> osmgit || 6 || done, but most should be put into an rpm || | |
Line 223: | Line 221: |
||<bgcolor="#ff3333"> ssh ||5,6,7||done|| || | ||<bgcolor="#007700"> ssh ||5,6,7||done|| || |
Line 225: | Line 223: |
|| svn ||5,6||todo|| || | ||<bgcolor="#007700"> svn ||5,6||done|| || |
Line 227: | Line 225: |
||<bgcolor="#007700"> tcp_wrapper ||5,6,7||done|| but urgently needs configuration cleanup (no hostnames, no netgroups, remove cruft!|| | ||<bgcolor="#007700"> tcp_wrapper ||5,6,7||done|| cleanup done|| |
Line 233: | Line 231: |
|| vamosw || 6||todo|| || | ||<bgcolor="#007700"> vamosw || 6||done|| || |
Line 273: | Line 271: |
== Konfigurationsmaster == Infos zum Konfigurationsmaster findet man [[KonfigMaster| hier]] |
Konfigurationsmanagement mit VAMOS, Subversion, SUE und Cfengine
Contents
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
neue Option -e(env) <path> : es ist möglich, Variablen aus /usr/sue/var/env.pl zu überschreiben
- 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 /usr/sue/var/env.pl
- dafür wird auf dem vamosweb ein cgi Script mkconf2 gerufen, welches ein aktuelles tar-File generiert mit env.pl, den entsprechenden Featurelinks und mehr
/usr/sue/sbin/sue.bootstrap -h usage: -d|-v set debug mode -h show usage -P <path> generating sue env in this directory -F <feature>:<dir> to test a feature on a host (maybe before putting the code into svn), examples: -F sudo:/tmp/test; /tmp/test/feature/sudo and /tmp/test/archive/sudo have to exist -F group:/afs/.ifh.de/common/installation/test
- /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 and 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 (über Webservice von configsrv)
- Abarbeitung der Features
Umstellung auf SUE/SVN Umgebung auf einem Linux Host
- alle SL5 und SL6 sind umgestellt
feature aaasue installiert /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 wird nicht mehr verwendet
rpm DZ_sue stattdessen
Bootscript /etc/init.d/sue_boot startet /usr/sue/sbin/sue.run -m boot
FAQ zu SUE/Cfengine
- Liste der konfigurierten Features
/usr/sue/sbin/sue.bootstrap generiert Liste/Verzeichnis
Anzeige mit /usr/sue/sbin/sue.update --list
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
läuft nur, wenn service sue_boot status ein OK zurückmeldet
- das sind z.Z.: hosts,netgroups,passwd,klogin,ssh
oder manuell aktivierte Features per activate [-h] auf SL5/SL6:
/usr/sue/sbin/activate -F list_of_features [-H list_of_hosts] [-N list_of_netgroups]
nach der Abfrage der ToDo-Liste wird diese auf dem configsrv gelöscht
- Beispiele:
activate -F scout,sudo -N linux-server activate -F ANY -H mydesk # alle Features, die standardmäßig laufen, der Test erfolgt erst auf dem Client activate -F nagios -H ANY
auf SL4 und Solaris funktionieren die alten sue Scripten und das /products/sue/etc/touchfeatures kann verwendet werden
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
- auch prüfen: cfengine Module, utils aktualisieren
svn commit <meinrepository> -m 'Kommentar'
- Kopieren der neuen Verzeichnisse ins eigene Repo und notwendige Anpassungsarbeiten durchführen
- Testen und Umstellen auf SVN: mehrere Möglichkeiten:
- 1) man kann das private ausgecheckte Repository zum Testen verwenden, Beispiel:
touch /etc/nosue
/usr/sue/sbin/sue.bootstrap -F passwd:/afs/ifh.de/user/z/znawn/computing/svn/repo/test -d
- jetzt verwendet sue.update den angegebenen Baum : /usr/sue/sbin/sue.update -n [-v] passwd
nach Beenden der Tests /usr/sue/sbin/sue.bootstrap;rm /etc/nosue
touch ~TFEAT/<feature>/svn
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>
- nach sue.checkout und sue.bootstrap kann man einzelne Variablen für Tests auf einem Host ändern
- Beispiel: Repository für feature klogin auf SVN Repo umdefiniert
# Syntax wie /usr/sue/var/env.pl cat /tmp/env.pl $ENV{"CF_PREFIX_KLOGIN"}='/var/cache/suecf/repo/test'; # Option -e erlaubt Überschreiben/Setzen von Variablen aus /usr/sue/var/env.pl /usr/sue/sbin/sue.update -n -e /tmp/env.pl [-v] <feature>
nach notwendigen Anpassungen touch ~TFEAT/<feature>/svn
- 1) man kann das private ausgecheckte Repository zum Testen verwenden, Beispiel:
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.
auf pallas als root kinit -k registry; cd /var/site/vamos; svn co https://znrepo.ifh.de/svn repo
unter dem Baum /var/site/vamos/repo Änderungen vom Workflow einpflegen lassen
Liste der Features und Status
feature |
SL |
Status |
Kommentare |
aaru |
5,6,7 |
done |
|
afs_backup |
5,6 |
done |
|
afs_client |
5,6 |
done |
|
afs_server |
5,6 |
done |
|
ai |
5,6 |
done |
more to done |
arcx |
5,6 |
done |
|
atlas |
5,6 |
done |
|
automount |
5,6 |
done |
|
cfengine |
5,6,7 |
done |
|
conmgr |
5 |
done |
|
csinfo12 |
6 |
done |
|
cta |
5,6 |
done |
|
cups |
5,6 |
done |
|
cvmfs |
5,6 |
done |
|
dcache |
5,6 |
done |
|
dhcp |
5,6 |
done |
needs workflow support |
doocsadm |
5,6 |
done |
|
exclude_macs |
5,6 |
done |
|
exports |
5,6 |
done |
|
ganglia |
5,6 |
done |
|
gdm |
5,6 |
done |
|
grid |
5,6 |
done |
|
group |
5,6,7 |
done |
|
hostmgt |
5,6 |
done |
|
hosts |
5,6,7 |
done |
|
httpd |
5,6 |
done |
|
infiniband |
5,6 |
done |
|
iptables |
5,6,7 |
done |
|
iss |
5,6 |
done |
|
kerberos |
5,6 |
done |
|
kernel |
5,6 |
done |
|
klogin |
5,6,7 |
done |
|
kvm |
5 |
done |
|
ldap |
5 |
done |
|
linux |
5,6 |
done |
|
localdisks |
5,6 |
done |
|
lustre |
5,6 |
done |
|
mailsrv |
5 |
done (Nov 2012) |
for SL6 more to do |
motd |
5,6 |
done |
|
mysql |
5,6 |
done |
|
nagios |
5,6 |
done |
now server and client |
name_srv |
5,6 |
done |
|
netflow |
5,6 |
done |
|
netgroup |
5,6 |
done |
needs workflow support |
nfs |
5,6 |
done |
|
nsswitch |
5,6,7 |
done |
|
osmng |
6 |
done |
|
osmdevel |
6 |
done |
|
pac |
5,6 |
done |
|
pam |
5,6 |
done |
|
passwd |
5,6,7 |
done |
|
passwd_prog |
5,6 |
done |
|
postgres |
5,6 |
done |
|
products |
5 |
done |
|
reg_notebooks |
5,6 |
done |
radius server, ... |
rlogsurf |
6 |
done |
|
samba |
5,6 |
done |
now with a regular archive, no longer uses /project/install |
scout |
5,6 |
done |
|
security |
5,6,7 |
done |
|
sge |
5,6 |
done |
|
spamd |
5 |
done |
|
ssh |
5,6,7 |
done |
|
sudo |
5,6 |
done |
|
svn |
5,6 |
done |
|
syslog |
5,6 |
done |
|
tcp_wrapper |
5,6,7 |
done |
cleanup done |
temp |
5,6 |
done |
was done since May 2012 |
tidy_up |
5,6, 7 |
done |
|
trusted |
5 |
done |
updated it, too |
tsm |
5,6 |
done |
|
vamos |
5,6 |
todo |
done |
vamosw |
6 |
done |
|
vsftpd |
5(,6?) |
done |
|
xntp |
5,6 |
done |
|
znmon |
5,6 |
done |
|
zzz |
5,6 |
done |
|
Änderungen an Features, die schon im SVN verwaltet werden
- auschecken
Änderungen mit svn commit <meinrepository> -m 'last modified ' einchecken
FAQ
Warum kann ich keine Files ...@<datum> löschen mit svn del ...?
Weil in @<datum> das Datum als Revision gedeutet wird und da diese Revision nicht existiert, wird angenommen, man will die aktuelle löschen und gelöscht wird das aktuelle File .
Mit ' svn del ...@<datum>@ ' kann man solche Files löschen.
Wie kann man vermeiden, dass .svn Verzeichnisse beachtet werden?
- Folgendes ins feature einbauen:
ignore: any:: .svn
- Folgendes ins feature einbauen:
- Wie kann man das execution Bit von Files im SVN setzen?
svn propset svn:executable ON somescript svn commit -m 'comment'
- zurückgehen auf ältere Versionen:
- Infos zu Änderungen
svn log repo/test/archive/rlogsurf/RLoghost/etc/logsurfer/kern.conf
- Änderungen aufzeigen
svn diff -r 212:218 repo/test/archive/rlogsurf/RLoghost/etc/logsurfer/kern.conf
- Auschecken älterer Revisions
svn co -r 212 https://znrepo.ifh.de/svn/test/archive/rlogsurf/RLoghost/etc/logsurfer/
- Infos zu Änderungen
Konfigurationsmaster
Infos zum Konfigurationsmaster findet man hier