Differences between revisions 1 and 116 (spanning 115 versions)
Revision 1 as of 2011-11-21 12:10:57
Size: 6247
Comment: erste Infos zu sue/svn
Revision 116 as of 2021-02-11 09:12:35
Size: 13590
Editor: IngoEbel
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Konfigurationsmanagement mit VAMOS, Subversion, SUE und Cfengine == == Konfigurationsmanagement mit VAMOS, Git, SUE, Cfengine und Ansible ==
Line 6: Line 6:
<!> Diese Infos sind teilweise veraltet. Sue wird seit 2020 mit Git verwendet. Außerdem findet eine Migration nach Ansible statt.
Line 7: Line 8:
 * es existiert ein SVN Repository, welches auf allen Hosts lokal ausgecheckt wird
* z.Z. wird nur das Feature scout und hosts dort verwaltet
 * es existiert ein SVN Repository, welches auf allen Hosts lokal ausgecheckt wird (wenn der Host für sue/svn konfiguriert ist)
Line 14: Line 14:
  * entweder über User/Passwort https://znrepo.ifh.de/suecf/   * entweder über User/Passwort https://znrepo.zeuthen.desy.de/suecf/
Line 17: Line 17:
  * oder mit Kerberos-Authentisierung https://znrepo.ifh.de/svn   * oder mit Kerberos-Authentisierung https://znrepo.zeuthen.desy.de/svn
Line 19: Line 19:
    * Konfiguration svn: /var/svn/accfilekerb
  * Anleitung siehe ...
    * Konfiguration svn: /var/svn/accfilekerb (enthält alle Pricipals, die Änderungen vornehmen dürfen)
Line 24: Line 23:
 * einige Scripte unter /products/sue/etc/ nach der Umstellung nicht mehr aktuell
 * 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
 * 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 in
formiert, welches Feature gerade abgearbeitet wird
Line 29: Line 30:
  * erzeugt alle Links unter /usr/sue/etc/ für die Konfiguration der Features und ruft /usr/sue/sbin/mkconf   * 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
Line 34: Line 36:
        -w use web client, overriding "clever" autodetection
                  only allowed without option 'H' and 'P'
Line 37: Line 37:
        -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'
        -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
Line 42: Line 43:
  * 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
Line 50: Line 47:
/usr/sue/sbin/sue.run -h
  check network connection, the availability of the svn server,
/usr/sue/sbin/sue.run -h 
  check network connection and the availability of the svn server,
Line 53: Line 50:
  informs 'scout' in case of problems   informs 'scout-linux' in case of problems
Line 55: Line 52:
        -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 or update
                
nightly run in full mode with delay
                run in boot mode without delay
                default daily run in
update mode
                
daily run can switch to full mode with
                 touchfeatures -F ALL ...
        -h show 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
Line 73: Line 72:
   * Ermittlung der Features, die abzuarbeiten sind    * Ermittlung der Features, die abzuarbeiten sind (über Webservice von ''configsrv'')
Line 76: Line 75:
==== Umstellung auf SUE/SVN Umgebung auf einem Linux Host ====
 
 * 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''
==== FAQ zu SUE/Cfengine ====
 * Liste der konfigurierten Features
  * ''/usr/sue/sbin/sue.bootstrap'' generiert Liste/Verzeichnis
  * Anzeige mit ''/usr/sue/sbin/sue.update --list''
Line 89: Line 83:
  * läuft nur, wenn ''service sue_boot status'' ein OK zurückmeldet
Line 90: Line 85:
 * oder manuell aktivierte Features per touchfeatures
{{{
   /products/sue/etc/touchfeatures -F list_of_features [-H list_of_hosts] [-N list_of_netgroups]
 * 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]
Line 94: Line 89:
 * in Zukunft soll es noch die Option geben, ein vollständiges Update anzustoßen  * 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
}}}
Line 99: Line 100:
==== 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.
 
Line 100: Line 117:
  ===== Erste Benutzung von SUE/SVN =====
 * Zugangsberechtigung: ~TARCH/svn/ServerSUE/var/svn/accfilekerb
 * auschecken: svn co https://znrepo.ifh.de/svn <meinrepository>
 <!> Veraltet
Line 111: Line 124:
 * im Modifier ''suesvn-mod'' das feature auf ''noautotest'' stellen
 * touch ~TFEAT/<feature>/svn
 * auf einem Host, der umgestellt wurde, prüfen:
{{{
  * 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:
     {{{
Line 118: Line 142:
}}}
 * 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.
     }}}
  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

===== Liste der Features und Status =====

EL = Enterprise Linux (RHEL,SL,CentOS)

||<rowbgcolor="#ffffe0"> feature || EL || Ansible || Kommentare ||
||<bgcolor="#007700"> aaru ||6,7,8|| (./) || ||
||<bgcolor="#007700"> afs_backup ||5,6|| || ||
||<bgcolor="#007700"> afs_client ||5,6|| || ||
||<bgcolor="#007700"> afs_server ||5,6|| || ||
||<bgcolor="#007700"> ai ||5,6 || || more to done ||
||<bgcolor="#007700"> arcx ||5,6|| || ||
||<bgcolor="#007700"> atlas ||5,6|| || ||
||<bgcolor="#007700"> automount ||5,6|| || ||
||<bgcolor="#007700"> cfengine ||5,6,7|| || ||
||<bgcolor="#007700"> conmgr ||5|| || ||
||<bgcolor="#007700"> csinfo12 ||6|| ||||
||<bgcolor="#007700"> cta ||5,6|| || ||
||<bgcolor="#007700"> cups ||5,6|| || ||
||<bgcolor="#007700"> cvmfs ||5,6|| || ||
||<bgcolor="#007700"> dcache ||5,6|| || ||
||<bgcolor="#007700"> dhcp ||5,6|| || needs workflow support ||
||<bgcolor="#007700"> doocsadm || 5,6|| || ||
||<bgcolor="#007700"> exclude_macs || 5,6|| || ||
||<bgcolor="#007700"> exports || 5,6|| || ||
||<bgcolor="#007700"> ganglia ||5,6|| || ||
||<bgcolor="#007700"> gdm ||5,6|| || ||
||<bgcolor="#007700"> grid ||5,6|| || ||
||<bgcolor="#007700"> group ||5,6,7|| || ||
||<bgcolor="#007700"> hostmgt ||5,6|| || ||
||<bgcolor="#007700"> hosts ||5,6,7|| || ||
||<bgcolor="#007700"> httpd ||5,6|| || ||
||<bgcolor="#007700"> infiniband ||5,6|| || ||
||<bgcolor="#007700"> iptables ||5,6,7|| || ||
||<bgcolor="#007700"> iss ||5,6|| || ||
||<bgcolor="#007700"> kerberos ||5,6|| || ||
||<bgcolor="#007700"> kernel ||5,6|| || ||
||<bgcolor="#007700"> klogin ||5,6,7|| || ||
||<bgcolor="#007700"> kvm || 5 || || ||
||<bgcolor="#007700"> ldap ||5|| || ||
||<bgcolor="#007700"> linux ||5,6|| || ||
||<bgcolor="#007700"> localdisks ||5,6|| || ||
||<bgcolor="#007700"> lustre ||5,6|| || ||
||<bgcolor="#BDB76B"> mailsrv ||5|| (Nov 2012)|| for SL6 more to do ||
||<bgcolor="#007700"> motd ||5,6|| || ||
||<bgcolor="#007700"> mysql ||5,6|| || ||
||<bgcolor="#007700"> nagios ||5,6|| || now server and client ||
||<bgcolor="#007700"> name_srv ||5,6|| || ||
||<bgcolor="#007700"> netflow ||5,6|| || ||
||<bgcolor="#007700"> netgroup ||5,6|| || needs workflow support||
||<bgcolor="#007700"> nfs || 5,6 || || ||
||<bgcolor="#007700"> nsswitch ||5,6,7|| || ||
||<bgcolor="#007700"> osmng || 6|| || ||
||<bgcolor="#007700"> osmdevel || 6 || ||
||<bgcolor="#007700"> pac || 5,6|| || ||
||<bgcolor="#007700"> pam ||5,6|| || ||
||<bgcolor="#007700"> passwd ||5,6,7|| || ||
||<bgcolor="#007700"> passwd_prog ||5,6|| || ||
||<bgcolor="#007700"> postgres || 5,6|| || ||
||<bgcolor="#007700"> products ||5|| || ||
||<bgcolor="#007700"> reg_notebooks ||5,6|| || radius server, ...||
||<bgcolor="#007700"> rlogsurf || 6|| || ||
||<bgcolor="#007700"> samba || 5,6|| || now with a regular archive, no longer uses /project/install ||
||<bgcolor="#007700"> scout ||5,6|| || ||
||<bgcolor="#007700"> security ||5,6,7|| || ||
||<bgcolor="#007700"> sge ||5,6|| || ||
||<bgcolor="#007700"> spamd ||5|| || ||
||<bgcolor="#007700"> ssh ||5,6,7|| || ||
||<bgcolor="#007700"> sudo ||5,6|| || ||
||<bgcolor="#007700"> svn ||5,6|| || ||
||<bgcolor="#007700"> syslog ||5,6|| || ||
||<bgcolor="#007700"> tcp_wrapper ||5,6,7|| || cleanup ||
||<bgcolor="#007700"> temp || 5,6|| || was since May 2012||
||<bgcolor="#007700"> tidy_up ||5,6, 7|| || ||
||<bgcolor="#007700"> trusted ||5|| || updated it, too ||
||<bgcolor="#007700"> tsm || 5,6 || || ||
||<bgcolor="#007700"> vamos ||5,6||todo|| ||
||<bgcolor="#007700"> vamosw || 6|| || ||
||<bgcolor="#007700"> vsftpd ||5(,6?)|| || ||
||<bgcolor="#007700"> xntp ||5,6|| || ||
||<bgcolor="#007700"> znmon || 5,6|| || ||
||<bgcolor="#007700"> zzz ||5,6|| || ||
Line 125: Line 245:
===== Beispiele =====
 *
===== 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
    }}}
 * 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/
    }}}
  

== Konfigurationsmaster ==
 Infos zum Konfigurationsmaster findet man [[KonfigMaster| hier]]

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.

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.zeuthen.desy.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.zeuthen.desy.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 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

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.

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

Liste der Features und Status

EL = Enterprise Linux (RHEL,SL,CentOS)

feature

EL

Ansible

Kommentare

aaru

6,7,8

(./)

afs_backup

5,6

afs_client

5,6

afs_server

5,6

ai

5,6

more to done

arcx

5,6

atlas

5,6

automount

5,6

cfengine

5,6,7

conmgr

5

csinfo12

6

cta

5,6

cups

5,6

cvmfs

5,6

dcache

5,6

dhcp

5,6

needs workflow support

doocsadm

5,6

exclude_macs

5,6

exports

5,6

ganglia

5,6

gdm

5,6

grid

5,6

group

5,6,7

hostmgt

5,6

hosts

5,6,7

httpd

5,6

infiniband

5,6

iptables

5,6,7

iss

5,6

kerberos

5,6

kernel

5,6

klogin

5,6,7

kvm

5

ldap

5

linux

5,6

localdisks

5,6

lustre

5,6

mailsrv

5

(Nov 2012)

for SL6 more to do

motd

5,6

mysql

5,6

nagios

5,6

now server and client

name_srv

5,6

netflow

5,6

netgroup

5,6

needs workflow support

nfs

5,6

nsswitch

5,6,7

osmng

6

osmdevel

6

pac

5,6

pam

5,6

passwd

5,6,7

passwd_prog

5,6

postgres

5,6

products

5

reg_notebooks

5,6

radius server, ...

rlogsurf

6

samba

5,6

now with a regular archive, no longer uses /project/install

scout

5,6

security

5,6,7

sge

5,6

spamd

5

ssh

5,6,7

sudo

5,6

svn

5,6

syslog

5,6

tcp_wrapper

5,6,7

cleanup

temp

5,6

was since May 2012

tidy_up

5,6, 7

trusted

5

updated it, too

tsm

5,6

vamos

5,6

todo

vamosw

6

vsftpd

5(,6?)

xntp

5,6

znmon

5,6

zzz

5,6

Ä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
  • 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/

Konfigurationsmaster

  • Infos zum Konfigurationsmaster findet man hier

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