mirror of
https://github.com/schoebel/mars
synced 2024-12-11 09:15:48 +00:00
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
|
src/bin.exe anlegen (lib.sh)
|
|||
|
alle function Variablen local
|
|||
|
|
|||
|
Konzept:
|
|||
|
Unterscheidung replay apply fetch durchgaengig
|
|||
|
siehe marsadm_pause_cmd
|
|||
|
Symlinknamen: apply fetch sync
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Fragen:
|
|||
|
Einstellen von hosts am besten dynamisch. Wie? Momentan mach ich das in .conf
|
|||
|
Dateien
|
|||
|
|
|||
|
|
|||
|
Doku:
|
|||
|
- Alle globalen Variablen in .conf - Dateien
|
|||
|
- Die Reihenfolge der default-*.conf - Dateien ist u.U. wichtig, wenn die
|
|||
|
gegenseitig Variable referenziert werden!!
|
|||
|
- Alle globalen Variablen und alle Funktionen mit Modulname als Pr<50>fix
|
|||
|
- Globale Arrays muessen mit declare -g deklariert werden, da die Variablen via
|
|||
|
source innerhalb einer Funktion bekannt gemacht werden
|
|||
|
- Globale Arrays sollten im Namen _list als Postfix haben
|
|||
|
- Nur die _prepare, _run, _finish, _cleanup Funktionen duerfen mit globalen
|
|||
|
Variablen arbeiten.
|
|||
|
- Werden in einem Modul globale Variablen gebraucht, bekommen die das Pr<50>fix
|
|||
|
my_<modul_name>_
|
|||
|
- Standardfunktion _check_variables fuer Plausi der globalen Variablen
|
|||
|
- Funktionen die return-Wert auf stdout schreiben, duerfen nicht myexit
|
|||
|
aufrufen wg a=$(myfunc) || myexit 1
|
|||
|
- Die Pflege der run_list, prepare_list usw. sollte ausschlie<69>lich in den
|
|||
|
.conf - Dateien erfolgen. (wird in blkreplay nicht beachtet
|
|||
|
30_recreate_lvm.sh)
|
|||
|
- ueber verbose_script lib_vmsg ("echo if verbose") definieren
|
|||
|
- error recovery functions: Wann gesetzt, wann wieder aufgehoben:
|
|||
|
siehe Beispiel grub_restore_boot_configuration
|
|||
|
- Signale abfangen siehe main_error_recovery_functions
|
|||
|
- check - Funktionen sollten nicht lib_exit aufrufen, sondern
|
|||
|
eine Fehlermeldung ausspucken und 1 returnen, damit der
|
|||
|
Aufrufer noch reagieren kann (insbesondere damit man die
|
|||
|
Aufrufstelle findet)
|
|||
|
- Werden Werte an Aufrufparameter zurueckgegeben, heissen die
|
|||
|
f "pid"
|
|||
|
function f
|
|||
|
{
|
|||
|
local varname_pid
|
|||
|
...
|
|||
|
eval $varname_pid=pid
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
- Namenskonvention fuer lib - Funktionen und main (gemaess Moduln)
|
|||
|
- "includeable" conf Dateien (Beispiel
|
|||
|
./build_test_environment/resource/lib-resource.conf) evtl. via base-directory
|
|||
|
bis zu dem nach oben nach .conf - Dateien gesucht wird
|
|||
|
- Argumentzahlpruefung in allen Funktionen
|
|||
|
|
|||
|
- Problem, wenn man nur einen Test laufen lassen will => Subdirectory out und
|
|||
|
- out.conf gelinkt auf <test>.conf (Beispiel admin/apply_fetch/apply/out.conf)
|
|||
|
|
|||
|
|
|||
|
Meeting:
|
|||
|
passwort freier Zugang aller roots untereinander
|
|||
|
|
|||
|
|
|||
|
Robustheit:
|
|||
|
- sequence number vorne und hinten in die log Eintr<74>ge
|
|||
|
- keine Nullbytes als F<>llsel
|
|||
|
|
|||
|
|
|||
|
remote device:
|
|||
|
ln -s /tmp/fly@istore-test-bs7,remote-floppy /mars/resource-lv-2/_direct-002-istore-test-bap7
|
|||
|
|
|||
|
|
|||
|
|