8.6. Modelli di riferimento di Cobbler
All'interno dell'interfaccia web di RHN Satellite sono disponibili alcune funzioni per la creazione delle variabili per il loro utilizzo con i profili e le distribuzioni kickstart. Per esempio, per creare una variabile del profilo kickstart consultate la Sezione 4.4.9.3.3, «Dettagli Kickstart ⇒ Variabili».
Le variabili kickstart sono parte di una modifica infrastrutturale in Satellite per supportare il templating nei file kickstart. Nel contesto dei file kickstart, i template rappresentano dei campi contenenti le descrizioni usate per la creazione dei file kickstart e non per la creazione di kickstart specifici.
Questi modelli di riferimento (template) vengono condivisi da vari profili e sistemi che possiedono le propri variabili e valori corrispondenti. Queste variabili modificano i tamplate ed un template engine analizza il template e i dati della variabile in un file kickstart utilizzabile. Cobbler utilizza un template engine avanzato chiamato Cheetah il quale fornisce un supporto per i template, per le variabili e per gli snippets.
I vantaggi derivati dall'utilizzo dei modelli di riferimento includono:
- Contenuti molto potenti che permettono agli amministratori di creare e gestire un numero molto grande di profili o sistemi in modo semplice, o di creare manualmente i kickstart per ogni situazione specifica.
- Anche se i template possono divenire complessi e comportare la presenza di cicli, condizioni ed altre caratteristiche e sintassi complesse, essi possono essere usati in modo semplice per creare i file kickstart.
8.6.1. Come usare i modelli di riferimento Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
I template di kickstart possono avere valori statici per alcune entità comuni, come ad esempio PXE image filename, indirizzi della sottorete e percorsi comuni come ad esempio
/etc/sysconfig/network-scripts/
. Tuttavia la differenza tra template e file kickstart standard è nell'utilizzo da parte dei primi delle proprie variabili.
Per esempio un file kickstart standard può avere un networking simile al seguente:
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
Tuttavia in un kickstart template file, il passaggio del networking potrebbe somigliare al seguente:
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
Queste variabili verranno sostituite con i valori impostati nelle variabili del vostro profilo kickstart o all'interno delle variabili del sistema. Se sono state definite le stesse variabili nelle informazioni del profilo e in quelle del sistema, allora le variabili del sistema avranno precedenza.
Per maggiori informazioni sui template di kickstart consultate la pagina del progetto Cobbler sul seguente URL:
8.6.2. Kickstart Snippets Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
Se avete configurazioni comuni uguali su tutti i template di kickstart e sui profili, è possibile utilizzare la caratteristica Snippets di Cobbler per trarre vantaggio sul riutilizzo del codice.
Gli snippets di kickstart sono sezioni del codice di kickstart invocabili da una fuzione
$SNIPPET()
la quale verrà analizzata da Cobbler e sostituita dai contenuti di snippet.
Per esempio, se siete in possesso di una configurazione comune della partizione del disco fisso per tutti i server:
Potete prendere lo snippet in questione, salvarlo su di un file (
my_partition
) e posizionarlo in /var/lib/cobbler/snippets/
in modo da renderlo accessibile al Cobbler.
Successivamente usate snippet tramite la funzione
$SNIPPET()
nei vostri template kickstart. Per esempio:
$SNIPPET('my_partition')
$SNIPPET('my_partition')
Ogni qualvolta viene invocata la suddetta funzione, il parser Cheetah sostituirà la funzione con lo snippet del codice contenuto nel file
my_partition
Per maggiori informazioni sugli snippet di kickstart consultate la pagina del progetto Cobbler al seguente URL: