Questo articolo descrive una evoluzione dei principi gia discussi nell’articolo “Change management di una AMI in EC2” mostrando come utilizzare il pacchetto bofwpt nello script di preparazione dell'AMI.
Bofwpt è una utility per Ubuntu sviluppata come parte del progetto BOTK . Bofwpt originariamente è stata pensata per installare servizi del framework BOFW partendo da una loro configurazione in subversion. Poiché le applicazioni del framework BOFW sono delle normali applicazioni web, la stessa utility può essere utilizzata anche in un contesto più ampio.
In particolare il pacchetto può essere utilizzato per automatizzare la configurazione di una istanza standard di un sistema operativo (virtuale o concreta). In altre parole bofwpt pemette di configurare una macchina partendo dalla definizione dei servizi gestiti in un CMDB in accordo con le best practice ITIL.
Bofwpt richiede alcuni file di configurazione e una organizzazione del repository dei servizi che segue alcune regole definite nella documentazione del pacchetto cui si rimanda per magiori informazioni.
Ad esempio, partendo dalla situazione descritta nell’articolo da cui abbiamo preso spunto, creiamo nella home dell’utente amministrativo (ubuntu) una directory rebuild.d ed in essa salviamo lo script prepareami.sh con il seguente contenuto:
apt-get install -y subversion
svn co https://botk.googlecode.com/svn/trunk/bofwpt /tmp/tempBofwptSrc
cd /tmp/tempBofwptSrc;sh install.sh
echo "eLamp /home/ubuntu/rebuild.d easervices.trunk" >/etc/bofwpt/apps.conf
L’ultima riga installa la definizione del servizio base che configura un lamp server (apache, mysql, php). Nell’esempio lo abbiamo chiamato eLamp e abbiamo immaginato che tale servizio sia definito nel CMDB easervices.trunk . Non entriamo nel merito di come è costruito lo script di installazione perché possiamo farcene una idea di massima guardando l'esempio contenuto alla fine dell’articolo da cui siamo partiti.
Dobbiamo però ricordarci di aggiungere allo script anche la definizione del repository in cui è definito il servizio eLamp, ad esempio:
echo "SCMDBUSER=svnuser
SCMDBPWD=svnpassword
SCMDBURL=https://subversion.server/subversion/path" > /etc/bofwpt/CMDBs/easervices.trunk
Infine concludiamo la preparazione del server lanciando la configurazione del servizio base con il comando:
bofwpt install eLampCon questi pochi passi, non solo saremo in condizioni di riconfigurare automaticamente una distribuzione standard del sistema operativo per adattarla per uno specifico scopo, ma anche di farlo partendo da un servizio soggetto ad un rigoroso controllo di configurazione.