User Tools

Site Tools


cn:ccr:cloud:toolpercreazioneimmaginecloud

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
cn:ccr:cloud:toolpercreazioneimmaginecloud [2013/09/10 09:57]
dorigoa@infn.it
cn:ccr:cloud:toolpercreazioneimmaginecloud [2013/10/22 10:07] (current)
dorigoa@infn.it
Line 1: Line 1:
 +(WORK IN PROGRESS...)
  
 +===== Tool per l'​automatizzazione della procedura di creazione di immagini cloud Linux =====
 +   * Alvise Dorigo (INFN Padova)
 +
 +[[https://​github.com/​alvise72/​cloud|create-cloud-image]]
 +
 +Questo tool, scritto in perl, automatizza la procedura descritta [[http://​wiki.infn.it/​cn/​ccr/​cloud/​preparazione_immagini_per_centos_6.4_e_sl6.4_con_cloud-init|qui]]. Permette la creazione di immagini Linux SL5.9/6.4 o CentOS5.9/​6.4 resizables in maniera automatica stando su una piattaforma omologa (RH5/6, CentOS5/6, SL5/6, per via di ovvii problemi di non forward-compatibility del database RPM).
 +
 +Tanto per farsi un'​idea della personalizzazione permessa al momento si puo' guardare direttamente l'​help:​
 +
 +<code bash>
 +[root@lxadorigo ~]# ./​create-cloud-image ​
 +Usage: create-cloud-image [OPTIONS] <OS>
 +
 +Options:
 +--fake-run ​                     Do not really execute the operations,
 +                                just print them
 +
 +--help|-H ​                      Print this help and exit
 +
 +--verbose|-v ​                   High verbosity and commands'​ output
 +
 +--root-pwd|-P <​root_password> ​  Set the root's password
 +
 +--libdir|-L <​libdir> ​           Set the directory where to put the artifacts
 +                                (Default: HOME/​cloud-images)
 +
 +--mount-point <​mountpoint> ​     Set the temporary mountpoint for installation
 +                                (Default: /​mnt/​cloud-image-<​OS>​)
 +
 +--mirror|-m <​mirror> ​           Select a different mirror to download from
 +                                (See below for defaults)
 +
 +--size|-s <​disksize>​[G] ​        Set the initial O.S. disk size
 +                                (Default: 2 GB)
 +
 +--image-name|-n <​IMAGE_NAME> ​   Set the name of the image file
 +                                (Default: OS's name)
 +
 +--extra-packages|-e ​            ​Specify a list of comma separated additional
 +                                rpm pkgs to install
 +
 +--extra-pkikeys|-e ​             Specify a list of comma separated additional
 +                                PKI (local or remote) GPG KEY files to install
 +
 +--create-user|-u <​USERINFO> ​    ​Create a new user (<​USERINFO>​ format is:
 +                                <​username>​[,<​pwd>​[,<​shell>​[,<​pub_key>​]]])
 +
 +--upload <​LABEL_NAME> ​          ​Upload into glance (root user must be
 +                                atuhenticated into keystone)
 +
 +--filesystem|-f <​FS_NAME> ​      ​Format cloud image with a user specified
 +                                filesystem
 +
 +--locale <​REGION/​CITY> ​         Set the image'​s locale. Format must be compliant
 +                                with the directories contained in
 +                                /​usr/​share/​zoneinfo. Ex. "​Europe/​Rome",​
 +                                "​America/​New_York"​ (Default: "​Europe/​Rome"​)
 +
 +--install-ntp ​                  ​Install ntp package
 +
 +--ntp-servers <​servers> ​        ​Define a list of comma separated NTP servers
 +                                to put into the ntp configuration file
 +                                (Default: european servers)
 +
 +--overwrite ​                    If already present, forcely delete the directory
 +                                where to put the artifacts
 +
 +--donotupdate ​                  Do not run 'yum update'​
 +
 +--donotcreate-ec2user ​          Do not create ec2-user
 +
 +Supported OS are: "​CentOS5",​ "​CentOS6",​ "​SL6",​ "​SL5"​ (both x86_64)
 +
 +Default mirrors are:
 +  CentOS: http://​mirror3.mirror.garr.it/​mirrors/​CentOS
 +  SL:     ​http://​ftp.scientificlinux.org/​linux/​scientific
 +
 +
 +</​code>​
 +
 +Quindi e' possibile:
 +  * scegliere un mirror da cui scaricare il software da installare
 +  * scegliere la dimensione iniziale dell'​immagine (poi ridimensionabile al boot della macchina virtuale mediante scelta del flavor opportuno dalla dashboard di openstack)
 +  * impostare un eventuale utente non super-user; di default lo script crea ec2-user (operazione disattivabile con l'​opzione "​--donotcreate-ec2user"​) e cloud-init prevede l'​inserimento della chiave pubblica del proprietario della VM nel file authorized_keys di ec2-user qualora ec2-user esista. Per ottenere questo comportamento con un altro utente sara' necessario modificare il cloud.cfg installato nell'​immagine.
 +  * installare eventuali pacchetti rpm addizionali (e.g. tools di sviluppo, pacchetti grid, etc.)
 +  * installare eventuali chiavi GPG addizionali
 +  * settare il timezone
 +  * installare opzionalmente il repo di EPEL (con relativa chiave GPG)
 +  * impostare i server NTP e relativo demone
 +  * etc.
 +
 +Ovviamente lo strumento e' ancora sotto sviluppo per l'​aggiunta di funzinalita'​ o per la revisione di customizzazioni non necessarie per una corretta creazione di immagini cloud. ​
 +
 +Per info: alvise <DOT> dorigo <AT> pd <DOT> infn <DOT> it
 +
 +Un ringraziamento a Marco Caberletti (@CNAF) per il supporto tecnico e il "​trasferimento"​ di know-how.
cn/ccr/cloud/toolpercreazioneimmaginecloud.txt ยท Last modified: 2013/10/22 10:07 by dorigoa@infn.it