Devstack
| Fiche express | |
|---|---|
| Type | Script d'installation OpenStack « tout-en-un » |
| Rôle | Environnement de développement/test, pas de production |
| Fichiers clés | stack.sh, local.conf |
| Dépôt | opendev.org/openstack/devstack |
| Voir aussi | Openstack |
DevStack est un ensemble de scripts shell qui déploient un environnement OpenStack complet et fonctionnel sur une seule machine (ou VM), à partir des sources. Il est maintenu par le projet OpenStack lui-même et sert principalement à trois usages : découvrir la plateforme, développer/tester des correctifs sur les projets OpenStack, et monter rapidement des labs de démonstration. Il n'est pas conçu pour la production — les mots de passe et options par défaut privilégient la simplicité de mise en route, pas la sécurité.
Prérequis
- Une machine (physique ou VM) dédiée, de préférence une installation minimale d'Ubuntu LTS ou
CentOS/RHEL récent (distributions officiellement supportées par les scripts CI de DevStack).
- Un utilisateur non-root dédié, généralement nommé
stack, avec les droits
sudo — DevStack refuse volontairement de s'exécuter en root.
- Des ressources correctes pour un lab tout-en-un : au minimum 2 vCPU, 8 Go de RAM et 30 Go de
disque libre (davantage si plusieurs services optionnels sont activés).
Installation
sudo apt install git git clone https://opendev.org/openstack/devstack.git cd devstack
- Création de l'utilisateur dédié et prise en main du répertoire :
sudo useradd -s /bin/bash -d /opt/stack -m stack sudo chmod +x /opt/stack echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack sudo chown -R stack:stack /opt/devstack # adapter au chemin réel du clone
- Basculer sur l'utilisateur
stackavant de lancer l'installation :
su - stack cd /opt/devstack
Fichier de configuration local.conf
DevStack se pilote via un fichier local.conf à la racine du dépôt :
[[local|localrc]] # Activer des services optionnels si besoin, ex: heat # enable_service heat # Format de token Keystone (UUID plus simple à lire en dev que le format PKI historique) KEYSTONE_TOKEN_FORMAT=UUID # Mots de passe : à réserver strictement à un environnement de dev/test isolé du réseau, # jamais à un environnement exposé ou partagé DATABASE_PASSWORD=motdepasse RABBIT_PASSWORD=motdepasse SERVICE_TOKEN=motdepasse SERVICE_PASSWORD=motdepasse ADMIN_PASSWORD=motdepasse
Lancement
./stack.sh
L'installation télécharge et installe l'ensemble des services OpenStack activés (Nova, Neutron, Cinder, Keystone, Glance, Horizon par défaut), avec leurs dépendances. En fin d'exécution, le script affiche l'URL du dashboard Horizon et les identifiants générés.
Arrêt et redémarrage
- Arrêt propre des services DevStack :
./unstack.sh
- Redémarrage sans tout réinstaller (reprend les services existants) :
./rejoin-stack.sh
- Réinstallation complète depuis zéro :
./unstack.sh && ./clean.sh && ./stack.sh
Utilisation
Une fois l'installation terminée, DevStack expose :
- le dashboard Horizon à l'adresse affichée en fin d'installation (généralement
http://<ip-machine>/) ;
- les endpoints d'API des différents services (Nova, Neutron, Keystone...), utilisables via la
CLI unifiéeopenstackune fois les credentials chargés (fichieropenrcgénéré par DevStack) ;
- voir Openstack pour un exemple de workflow (création de clé SSH, lancement d'instance,
volumes, IP flottante...) directement applicable à un DevStack fraîchement installé.
Voir aussi
- Openstack — présentation de la plateforme et de ses composants
- Documentation officielle : https://docs.openstack.org/devstack/latest/