10766
Comment: Feature list cleanup
|
8438
|
Deletions are marked like this. | Additions are marked like this. |
Line 102: | Line 102: |
==== Nutzung von SVN ==== <!> Veraltet ===== 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' * 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 2) * 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> }}} 3) * 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'' * 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 |
Konfigurationsmanagement mit VAMOS, Git, SUE, Cfengine und Ansible
Beschreibung von SUE/SVN
Diese Infos sind teilweise veraltet. Sue wird seit 2020 mit Git verwendet. Außerdem findet eine Migration nach Ansible statt.
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 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 git), 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 git server, runs 'git pull; 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
- Git pull
Ermittlung der Features, die abzuarbeiten sind (über Webservice von configsrv)
- Abarbeitung der Features
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
Vollständiger Lauf (ab 3 Uhr mit Verzögerung)
cron job: /usr/sue/sbin/sue.run -m full
Nutzung von Git
Die Entwicklung von Sue/Git findet im gitlab auf repo.zeuthen.desy.de statt. Sue holt sich die Repos von einem der Git Mirror znrepo[1-3].
Um Zugriff zu https://repo.zeuthen.desy.de/infra/sue-cfengine zu erhalten bitte auf 1x Anmelden. Anschließen jemanden aus der Unix Gruppe bitten in die Gitlab Infra Gruppe aufgenommen zu werden. In https://repo.zeuthen.desy.de/profile/keys einen SSH Key hinterlegen oder alternativ immer per HTTPs arbeiten.
git clone https://repo.zeuthen.desy.de/infra/sue-cfengine.git
- cd sue-cfengine
- gewünsche Änderungen durchführen
- wenn neue Dateien erstellt wurden. "git add $PATH" bzw. "git add ." im aktullen Pfad
- git commit -am "meine aktuellen Änderungen sind das und das"
- git push
- bei https wird jetzt nach dem Usernamen und Passwort gefragt. Hier mit dem zna* Account sich anmelden.
Liste der Features und Status
EL = Enterprise Linux (RHEL,SL,CentOS)
feature |
EL |
Ansible |
Kommentare |
aaru |
6,7,8 |
|
|
afs_backup |
7 |
|
|
afs_client |
6,7 |
|
|
afs_server |
6,7 |
|
|
ai |
7 |
|
|
arcx |
6,7 |
|
|
atlas |
5,6 |
|
obsolete? |
automount |
6,7,8 |
|
|
cfengine |
6,7 |
|
|
conmgr |
7 |
|
|
cta |
6 |
|
|
cups |
6,7 |
|
|
cvmfs |
6,7,8 |
|
|
dcache |
7 |
|
|
dhcp |
7 |
|
|
doocsadm |
6,7 |
|
|
exclude_macs |
7 |
|
|
exports |
6,7 |
|
|
ganglia |
7 |
|
|
gdm |
6,7 |
|
|
grid |
7 |
|
|
group |
6,7,8 |
|
|
hostmgt |
7 |
|
|
hosts |
6,7,8 |
|
|
httpd |
7 |
|
|
infiniband |
7 |
|
|
iptables |
6,7 |
|
replaced by Ansible role nftables on EL8 |
iss |
7 |
|
|
kerberos |
6,7,8 |
|
|
kernel |
6,7 |
|
|
klogin |
6,7,8 |
|
|
kvm |
6,7 |
|
|
ldap |
7 |
|
|
linux |
6,7 |
|
|
localdisks |
6,7 |
|
|
lustre |
7 |
|
|
mailsrv |
7 |
|
|
motd |
6,7 |
|
|
mysql |
7 |
|
|
name_srv |
7 |
|
|
netgroup |
6,7,8 |
|
|
nfs |
5,6 |
|
obsolete |
nsswitch |
6,7,8 |
|
|
osmng |
6 |
|
|
osmdevel |
6 |
obsolete |
|
pac |
5,6 |
|
|
pam |
6,7 |
|
|
passwd |
6,7,8 |
|
|
passwd_prog |
6,7 |
|
|
postgres |
7 |
|
|
reg_notebooks |
7 |
|
radius server, ... |
samba |
5,6 |
|
Ansible role? |
scout |
5,6 |
|
obsolete |
security |
6,7 |
|
|
sge |
7 |
|
|
ssh |
6,7,8 |
|
|
sudo |
5,6 |
|
obsolete since SL7, no clear replacement at the moment |
syslog |
6,7,8 |
|
|
tcp_wrapper |
6,7 |
|
should be obsoleted, defaults to "allow all" on EL8 |
tidy_up |
6,7 |
|
|
tsm |
7 |
|
|
vamosw |
7 |
|
|
xntp |
6,7, |
|
runs with configuration done by Kickstart on EL8 |
znmon |
6,7 |
|
|
zzz |
6,7 |
|
|
Konfigurationsmaster
Infos zum Konfigurationsmaster findet man hier