Trennung von Produktions- und Entwicklungszweig


Motivation

Im Betrieb eingesetzte Software darf nur durch neuere Versionen ersetzt werden, wenn zumindesteine starke Zuversicht herrscht, dass die neue Version lauffähig ist und die erforderliche Funktionalität aufweist. Daher sollte jeder Update durch eine gewollte explizite Aktion erfolgen, die erst nach entsprechender Verifikation der Software erfolgen soll.

Degegenüber erfordert die Weiterentwicklung des System eine vergleichsweise häufige Aktualisierung von Softwarekomponenten, ohne dass immer in allen Einzelheiten die volle Funktionsfähigkeit des Gesamtsystems geprüft wird.

Es ist deshalb sicherzustellen, dass nicht durch die Weiterentwicklung versehentlich auch Software, die bereits im Betrieb läuft, ersetzt ist.

Realisierung

Die Trennung von im Betrieb eingesetzter Produktionssoftware einerseits und Entwicklungszweig andererseits wird durch Aufspaltung der Direktory-Struktur in einen Produktionszweig (production) und einen Entwicklungszweig (development) erreicht.

Ferner wird für jede Realease der Betriebsversion eine eigene Direkctory eingerichtet, mit der Struktur /<Systemversion>/>Release>.

Mit dem Umzug der SW-Entwicklung auf die 64-Bit Umgebung (Blade-Recher, asl72x) wurden die bisherigen Directories an anderer Stelle im Filesystem eingehängt. Aktuell (Anfang 2010) gelten folgende Pfade für den Produktionszweig:
libasl /common/usr/production/lib/asl/ (32-bit version)
libasl64 /common/usr/production/lib64/asl/ (64-bit version)
libppc /common/usr/eldk/ppc_6xx/opt/acc/sys/devman/  
incasl /common/usr/production/include/asl/  
incvme /common/usr/production/include/vme/  
incmsg /common/usr/production/include/msg/ (no release-specific sub-directories)

Bis auf die Message-Directory ( incmsg) enthalten alle Directories Release-spezifische Unter-Directories. So liegen die 64-bit Libraries für die Release 16 in der Directory common/usr/production/lib64/asl/16 . Jede dieser Directories enthält ferner den Link current, der auf die jeweils aktuelle Release zeigt.

Einrichtung der bisherigen Directory-Struktur (auf asl71x)

Bisherige Pfade auf asl71x:
libasl /usr/local/acc/production/lib/asl/v01/07
libppc /usr/local/acc/eldk/ppc_6xx/opt/acc/sys/devman/v09/07
incasl /usr/local/acc/production/include/asl/v01/07
incvme /usr/local/acc/production/include/vme/v09/07
incmsg /usr/local/acc/production/include/msg/07

Directrory-Struktur eingerichtet am 25. Feb. 2008:

  1. In /etc/init.d/devman (bezogen auf das root-Verzeichnis des ke3cg08, auf dem asl lautet der komplette Pfad somit /usr/local/acc/eldk/ke3cg08/etc/init.d/devman): Änderung des LD_LIBRARY_PATH auf .:opt/acc/sys/devman/v09/07
  2. Auf asl710 in /etc/xinetd.d/ufcserver Änderung der Variablen server und server_args in /usr/local/acc/production/lib/asl/v01/07/ufcserver, Änderung des Wertes für LD_LIBRARY_PATH in /usr/local/acc/production/lib/asl/v01/07
  3. Auf asl711 wurde in /etc/init.d/GSInameserver die Variable libasl auf /usr/local/acc/production/lib/asl/v01/07 gesetzt, so dass dann beim Durchlaufen des Init-Skripts das nameserver-Executable aus diesem Verzeichnis genutzt und der LD_LIBRARY_PATH entsprechend gesetzt werden. Die Dateien right.txt und accessdata.txt wurden nach /usr/local/acc/production/nameserver kopiert, in der Datei /usr/local/acc/etc/sysconfig/nameserver wurde die Variable DATADIR auf dieses Verzeichnis gesetzt, so dass ab sofort der Nameserver diese Dateien benutzt.
Topic revision: r5 - 18 Aug 2011, UnknownUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback