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.