Devstack

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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 stack avant 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ée openstack une fois les credentials chargés (fichier
 openrc gé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