11.5. Cobbler-Templates
Innerhalb der RHN Satellite Web-Oberfläche gibt es Funktionen zum Erstellen von Variablen zur Verwendung mit Kickstart-Distributionen und Profilen. Lesen Sie z.B. für die Erstellung einer Kickstart-Profilvariablen bitte Abschnitt 7.4.9.3.3, »Kickstart Details ⇒ Variablen«.
Kickstart-Variablen sind Teil einer Änderung der Infrastruktur in Satellite, um Templating in Kickstart-Dateien zu unterstützen. Im Zusammenhang mit Kickstart-Dateien handelt es sich bei Templates um Dateien, die Beschreibungen enthalten, die zum Bauen von tatsächlichen Kickstart-Dateien verwendet werden, statt zur Erstellung von spezifischen Kickstarts.
Diese Templates werden dann gemeinsam verwendet von verschiedenen Profilen und Systemen, die ihre eigenen Variablen und zugehörige Werte besitzen. Diese Variablen modifizieren die Templates, und Software genannt Template Engine parst das Template und die variablen Daten in eine nutzbare Kickstart-Datei. Cobbler verwendet eine hochentwickelte Template Engine namens Cheetah, die Unterstützung für Templates, Variablen und Snippets bietet.
Vorteile der Verwendung von Templates sind u. a.:
- Robuste Features, die es Administratoren erlauben, große Mengen von Profilen oder Systemen zu erstellen und zu verwalten ohne erhöhten Aufwand, und ohne manuelles Erstellen von Kickstarts für jede einzelne Situation.
- Templates können zwar sehr komplex werden und Schleifen, Bedingungen und weitere fortgeschrittene Features und Syntax enthalten, aber sie können auch sehr einfach zum Erstellen von Kickstart-Dateien ohne derartige Komplexität benutzt werden.
11.5.1. Verwenden von Templates Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Kickstart-Templates können statische Werte enthalten für gemeinsame Elemente wie z. B. PXE-Image Dateinamen, Subnet-Adressen, und gemeinsame Pfade wie z. B.
/etc/sysconfig/network-scripts/
. Im Unterschied zu Standard-Kickstart-Dateien verwenden Templates jedoch Variablen.
Eine Standard-Kickstart-Datei kann beispielsweise eine Netzwerk-Passage enthalten ähnlich der folgenden:
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
network --device=eth0 --bootproto=static --ip=192.168.100.24 --netmask=255.255.255.0 --gateway=192.168.100.1 --nameserver=192.168.100.2
In einer Kickstart-Template-Datei hingegen könnte die Netzwerk-Passage etwa wie folgt aussehen:
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
network --device=$net_dev --bootproto=static --ip=$ip_addr --netmask=255.255.255.0 --gateway=$my_gateway --nameserver=$my_nameserver
Diese Variablen werden ersetzt durch Werte, die in Ihren Kickstart-Profilvariablen oder in Ihren Systemdetailvariablen eingestellt sind. Falls im Profil dieselben Variablen wie in den Systemdetails definiert sind, dann haben die Systemvariablen Vorrang.
Für weitere Informationen über Kickstart-Templates werfen Sie bitte einen Blick auf die Seite des Cobbler-Projekts unter der folgenden URL:
11.5.2. Kickstart-Snippets Link kopierenLink in die Zwischenablage kopiert!
Link kopierenLink in die Zwischenablage kopiert!
Falls Sie gemeinsame Konfigurationen haben, die über alle Kickstart-Templates und Profile hinweg gleich sind, können Sie das Snippets-Feature von Cobbler verwenden, um sich die Wiederverwendung von Code zunutze zu machen.
Bei Kickstart-Snippets handelt es sich um "Schnipsel" von Kickstart-Code, die aufgerufen werden können durch eine
$SNIPPET()
-Funktion, die durch Cobbler geparst wird, und der Funktionsaufruf wird durch die Inhalte des Snippets ersetzt.
Falls Sie z. B. eine gemeinsame Konfiguration der Festplattenpartitionen für alle Server haben, wie z. B.:
Sie können dies Snippet nehmen, in einer Datei abspeichern (z. B.
my_partition
), und diese Datei in /var/lib/cobbler/snippets/
ablegen, so dass Cobbler darauf zugreifen kann.
Sie können dieses Snippet dann mithilfe der
$SNIPPET()
-Funktion in Ihren Kickstart-Templates verwenden. Zum Beispiel:
$SNIPPET('my_partition')
$SNIPPET('my_partition')
Egal wo Sie diese Funktion aufrufen, der Cheetah Parser wird die Funktion durch den Code-Snippet ersetzen aus der
my_partition
-Datei.
Für weitere Informationen über Kickstart-Snippets werfen Sie bitte einen Blick auf die Seite des Cobbler-Projekts unter der folgenden URL: