domenica 3 giugno 2018

Mini guida per installare Openstack con Devstack


Breve guida su come installare Openstack usando Devstack su laptop o VM.
Per come creare una VM utilizzando VirtualBox scriverò una guida a parte appena posso.

Per i miei test ho preferito usare una distro Ubuntu 16.04 LTS dato che sembra essere una delle maggiornmente supportate insieme a CenOS, RHEL 7, Debian, Fedora e OpenSuse. Per l'hardware ho utilizzato un computer con processore Intel Core 2 @ 2.13 Ghz con 8GB di memora RAM.

Ok dunque, per prima cosa effettuiamo il login via SSH ed aggiorniamo il sistema con i soliti comandi:

sudo apt-get update
​sudo apt-get upgrade

e siccome l'installazione deve essere effettuata da un utente non root, creeremo un nuovo utente con il seguente comando:

sudo useradd -s /bin/bash -d /opt/stack -m stack

Poichè l'installazione di Openstack apporta notevoli modifiche al sistema, c'è bisogno che l'utente "stack" abbia i privilegi root aggiungendolo nell'apposito gruppo dei sudoers con il seguente comando:

echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack

Se il comando precedente produrrà il seguente output significa che è andato tutto bene:

stack ALL=(ALL) NOPASSWD: ALL



Ora possiamo procedere con l'installazione di Git:

sudo apt-get install git
E questo punto possiamo switchare all'utente "stack" prima di avviare lo script di installazione:

sudo su - stack



Clonare Devstack con Git:

$ git clone https://git.openstack.org/openstack-dev/devstack

Per un elenco di release disponibili vi rimando al link uficiale:
https://releases.openstack.org/

Git clone creerà la cartella "devstack" ed altre sottocartelle. Dobbiamo copiare il file "local.conf" presente nella sottocartella "samples", nella dir principale "devstack".

cd devstack/
​sudo cp samples/local.conf local.conf




All'interno di local.conf specificheremo la password dell'utente admin e l'indirizzo IP del controller.


sudo nano local.conf
ADMIN_PASSWORD=YOURPASSWORD
​MYSQL_PASSWORD=$ADMIN_PASSWORD
​RABBIT_PASSWORD=$ADMIN_PASSWORD
​SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP=x.x.x.x
Un altro metodo consiste nel creare direttamente il file local.conf con le opzioni che ci interessano tramite il seguente comando:

cat >  local.conf <<EOF
[[local|localrc]]
ADMIN_PASSWORD=secret
DATABASE_PASSWORD=\$ADMIN_PASSWORD
RABBIT_PASSWORD=\$ADMIN_PASSWORD
SERVICE_PASSWORD=\$ADMIN_PASSWORD
HOST_IP=x.x.x.x
RECLONE=yes
EOF

A questo punto possiamo finalmente lanciare lo script di avvio e installazione di Openstack e attendere la fine:

./stack.sh

L'installazione dura mediamente 15-20 minuti dato che la maggior parte dei componenti vengono scaricati e quindi dipende molto dalla vostra connessione. Alla fine se tutto è andato a bene dovrebbe risultarvi qualcosa tipo questo:

This is your host IP address: x.x.x.x
This is your host IPv6 address: ::1
Horizon is now available at http://10.0.2.15/dashboard
Keystone is serving at http://10.0.2.15/identity/
The default users are: admin and demo
The password: secret
DevStack Version: pike
OS Version: Ubuntu 16.04 xenial
stack.sh completed in 1221 seconds.

Aprite il browser e digitate:

http://<HOST_IP>/dashboard

Dovrebbe comparirvi la schermata di login:



Apposto, godetevi l'interfaccia Horizon e buon divertimento ;)