Déploiement d’un OpenStack chez Online point par point

Les pré-requis

Un serveur, pour commencer. Ici c’est un serveur Dedibox LT2014 que j’ai choisi. On lui ajoute le support Business pour avoir un bloc d’IP RIPE /27.

IP du serveur: 1.2.3.4 (c’est fictif hein)

IP RIPE: 2.4.5.32/27 (fictif aussi)

Installation du serveur

L’installation a été faite avec une CentOS 6.4.

Partitionnement

  • / :20 Go
  • /boot : 2 Go
  • swap : 16 Go

Post-installation

L’installation de CentOS fait apparaître les biosdevname, ce qui veut dire que la première interface réseau n’est pas eth0 mais a un nom correspondant à son emplacement physique (em1 pour une carte embarquée (embedded) sur la carte mère).

Vu que j’ai em1 et pas eth0 et que ça va perturber mes scripts d’installation, on va revenir à une configuration traditionnelle, eth0 et eth1 pour les interfaces réseau.

Pour ça, on supprime le paquet biosdevname

yum remove biosdevname

ensuite on modifie la configuration des interfaces pour qu’elle reprenne les nom traditionnels. Pour ça on renomme /etc/sysconfig/network-scripts/ifcfg-em1 en /etc/sysconfig/network-scripts/ifcfg-eth0.

mv /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/ifcfg-eth0

On fait de même avec em2 en eth1

mv /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/ifcfg-eth1

on remplace em1 par eth0 dans /etc/sysconfig/network-scripts/ifcfg-eth0, et pareil pour em2 et eth1.

sed -i 's/em1/eth0/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/em2/eth1/g' /etc/sysconfig/network-scripts/ifcfg-eth1

Je n’ai pas eu à virer les entrées dans /etc/udev/rules.d/70-persistent-net.rules car le fichier était inexistant, mais s’il existe, autant effacer son contenu.

On redémarre le serveur, et on vérifie que les interfaces réseaux sont bien eth0 et eth1 (eth1 est down par défaut).

Installation de quelques paquets utiles

Ça c’est ma préférence personnelle, mais j’aime bien avoir screen sous la main, surtout quand j’ai une connexion a un timeout.

yum install -y screen

Installation d’Openstack

Là, c’est du très classique. J’utilise la méthode décrite sur le blog et plus à jour sur http://openstack.redhat.com/.

yum install -y http://rdo.fedorapeople.org/rdo-release.rpm

puis

yum install -y openstack-packstack

Maintenant j’installe OpenStack en précisant mon bloc d’IP en tant qu’IP à utiliser pour le tenant demo. C’est cette opération que je conseille de lancer dans un screen.

packstack --allinone --provision-demo-floatrange=2.4.5.32/27

Et on va prendre le café… Il y en a pour 15-20 minutes environ.

Post-installation OpenStack

Ça serait trop facile si on s’arrêtait là…

Configuration du proxy VNC

Pour qu’on puisse accéder à la console des VMs, on doit modifier l’adresse d’écoute du proxy VNC. Pour ça, on va modifier la ligne nonvcproxy_base_url du fichier /etc/nova/nova.conf, avec l’IP de la machine.

novncproxy_base_url=http://1.2.3.4:6080/vnc_auto.html

Proxy-ARP

Ensuite on va activer le proxy ARP sur l’interface eth0 pour que la machine relaie bien les paquets du bloc d’IP sur le switch virtuel des VMs.

echo net.ipv4.conf.eth0.proxy_arp=1 >> /etc/sysctl.conf

Et ensuite ?

On n’a plus qu’à profiter de notre installation. En se connectant avec l’utilisateur demo sur l’interface web (le mot de passe est dans le fichier /root/keystonerc_demo) on peut modifier les groupes de sécurité, créer une instance, lui attribuer une IP flottante et se connecter dessus.

On doit aussi reconfigurer le stockage qui est actuellement en LVM sur un fichier de 20 Go. Mais je laisse ça pour plus tard, le plus difficile est passé.

Si on veut être un minimum sérieux, on va maintenant basculer l’interface web en SSL, je ferai peut être un article là dessus plus tard.