Installation rapide d’un OpenStack

L’existant

Pour le moment, la maquette d’OpenStack avec laquelle je m’amuse régulièrement était basée sur Ubuntu Server 12.04. J’ai dû faire quelques scripts (essentiellement bash) pour automatiser l’installation et pouvoir rapidement remettre en fonctionnement une plateforme que j’aurais pu casser.

Bien que la solution fonctionne plutôt bien, elle n’est pas vraiment adaptée à un test-run suivi d’une mise en production, et la maintenance des scripts me prend pas mal de temps. En plus, à chaque évolution d’OpenStack, je recommence tout le boulot. Intéressant, mais pas tout à fait ce que je voudrais. C’est alors que je suis tombé sur RDO de RedHat.

Comme RedHat connaît très bien OpenStack (c’est le plus gros contributeur), ils ont choisi de packager proprement la suite logicielle. Contrairement à ce qui est fait sous Ubuntu, un ensemble de scripts puppet sont là pour automatiser la configuration d’OpenStack, car c’est vraiment la partie casse-pied à réaliser, celle qui est essentiellement faite avec mes scripts shells.

On repart de zéro

Comme je n’ai rien d’important sur ma maquette OpenStack, je vais tout effacer et repartir de zéro. Donc, en point de départ:

  • Un serveur OVH (petit Q6600 avec 4Go de RAM, rien d’extraordinaire). Il est indispensable que le processeur possède les extensions de virtualisation. Les fameuse instructions VT (ou SVM sur AMD).
  • Quelques IP, je supposerai que j’ai le range 1.2.3.0/24

Réinstallation

Via l’interface OVH, je lance une réinstallation complète du serveur, sur une CentOS, 64 bits et en prenant le noyau de la distribution.

Une fois l’installation effectuée, on fait le boulot habituel, création d’un utilisateur, ajout de l’utilisateur dans les sudoers, mise à jour du serveur, et ajout de clés ssh pour s’y connecter facilement. Je ne détaillerai pas cette partie là.

Ajout du dépot RDO

On se connecte sur le serveur et on ajoute le dépôt:

sudo yum install -y http://rdo.fedorapeople.org/openstack/openstack-grizzly/rdo-release-grizzly.rpm
 Je n’ai pas testé, mais en remplaçant grizzly (la dernière version « stable » de OpenStack) par havana, on devrait accéder à la pré-release, la prochaine version encore en cours de développement.

On installe alors le paquet pour tout installer et configurer:

sudo yum install -y openstack-packstack

Il suffit alors de lancer le script de configuration

packstack --allinone --os-quantum-install=n

Ici, l’installation sera sur un seul serveur, d’où le « –allinone » et sans installer le réseau quantum. On n’a plus qu’à aller chercher un café, l’installation, après avoir demandé le mot de passe root du serveur, va tourner pendant 15 à 20 minutes. On notera que le système va également installer nagios pour superviser l’infrastructure. Les paramètres et mots de passe sont soit dans le /root/keystonerc_admin soit dans les logs de l’installation /root/packstack-answers-DATE.txt.

Bien que l’installation semble terminé, ça peut fonctionner mais notre range d’IP n’est pas configuré. Packstack configure un range en 10.quelquechose, on va devoir le supprimer pour mettre le nôtre. Pour ça, on source le fichier rc:

. /root/keystonerc_admin

on peut alors supprimer l’ancien range

nova floating-ip-bulk-delete 10.3.4.0/22

On ajoute notre range

nova floating-ip-bulk-create 1.2.3.0/24

Et on vérifie qu’il est bien présent:

nova-manage floating list

Connexion à l’interface

On n’a plus qu’à lancer un navigateur sur l’URL http://IP.DU.SERVEUR/  pour s’identifier avec l’utilisateur admin et le mot de passe de la variable OS_PASSWORD du fichier /root/keystonerc_admin

Évidemment il reste du boulot, ajouter des images, créer les utilisateurs, mais la plateforme est là et on pourra très facilement et rapidement ajouter des nœuds d’instances au besoin.

L’essentiel de la documentation est sur le site http://openstack.redhat.com/, et je n’ai rien fait d’autre que de suivre le tutoriel du site pour mettre en place ma maquette.