For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/hosted-private-cloud/cloud-platform/snc-cloud-platform-glance-image-management.md.

Gestion des images Glance

Voir en Markdown

Découvrez comment importer, vérifier, partager et supprimer des images dans Glance sur SNC Cloud Platform, et en créer des volumes avec la CLI OpenStack

Objectif

Guide pratique pour importer, vérifier et gérer des images dans Glance (service de catalogue d'images d'OpenStack) sur SNC Cloud Platform. Public cible : toute personne ayant besoin d'une image absente du catalogue par défaut.

Ce guide couvre le cycle de vie complet d'une image dans Glance sur cette plateforme : import, vérification, utilisation pour créer un volume ou une instance, gestion de la visibilité, suppression — avec les spécificités propres à cette plateforme, qui viennent compléter la documentation générique OpenStack.

Prérequis

  • Avoir configuré la CLI OpenStack (consultez le « Guide Terraform » pour l'authentification via clouds.yaml).
  • Disposer au minimum du rôle member.
  • Disposer d'un poste avec assez d'espace disque libre pour stocker localement l'image à importer — l'import se fait depuis le poste local, pas côté serveur (reportez-vous à la section « Méthodes d'import disponibles »).

En pratique

Méthodes d'import disponibles

Glance propose plusieurs méthodes d'import. Sur cette plateforme, seule openstack image create --file (import direct depuis le poste local) est prise en charge — c'est la méthode recommandée :

MéthodeFonctionnementSur cette plateforme
openstack image create --file (import direct, CLI)Le fichier est envoyé depuis le poste local vers Glance en HTTP✅ Méthode recommandée, utilisée dans ce guide. Un fichier de ~7-8 Go s'importe typiquement en 1 à 3 minutes selon la bande passante montante du poste local.
web_downloadGlance télécharge l'image depuis le serveur, à partir d'une URL fournie❌ Non fonctionnel sur cette plateforme, du fait des exigences de cloisonnement réseau liées à la qualification SecNumCloud en cours (les services internes n'ont pas d'accès sortant vers Internet) — privilégiez l'import direct ci-dessus.
Import manuel via l'interface HorizonImport d'un fichier local via le formulaire web « Créer une image »⚠️ Pas encore fonctionnel. Utilisez la CLI (openstack image create --file), pleinement prise en charge.
copy-imageDuplique une image déjà présente dans Glance vers un autre store✅ Fonctionne (testé : openstack image import <image> --method copy-image --store <store>). Utile principalement dans un contexte multi-store ; cette plateforme n'expose aujourd'hui qu'un seul store (defaultstore).

Étape 1 — Lister les images existantes

Avant d'importer quoi que ce soit, vérifiez qu'une image équivalente n'existe pas déjà :

openstack image list -f table -c Name -c Status -c Visibility

Catalogue de base généralement disponible sur cette plateforme (variable selon le projet) : distributions Linux courantes (Debian, AlmaLinux, CentOS) en images OVH prêtes à l'emploi (cloud-init inclus). Toute image hors de ce catalogue (Windows, distribution non listée, appliance spécifique) doit être importée manuellement.

Étape 2 — Importer une image

openstack image create \
  --disk-format <format> \
  --container-format bare \
  --private \
  --progress \
  --file /chemin/local/vers/image \
  nom-de-l-image

Choisir le bon --disk-format

Type de fichier--disk-formatUsage typique
ISO d'installation (Windows, installeur d'une distribution Linux)isoDémarrage depuis un CD-ROM virtuel pour lancer un installeur interactif ou automatisé
Image disque QCOW2 (format QEMU natif, souvent avec cloud-init)qcow2Image prête à l'emploi, démarrage direct
Image disque RAWrawImage prête à l'emploi, pas de compression

--container-format bare convient dans la quasi-totalité des cas (pas de métadonnées de conteneur supplémentaires).

--private restreint la visibilité de l'image à votre projet (reportez-vous à l'étape 5).

Importer une image volumineuse

--progress affiche une barre de progression pendant l'import — utile pour les fichiers de plusieurs Go, où, sans elle, plusieurs minutes sans retour visuel pourraient laisser croire à un blocage.

Étape 3 — Vérifier une image importée

openstack image show nom-de-l-image -f value -c status -c size -c checksum -c disk_format

status doit valoir active. Toute autre valeur qui persiste (queued, saving) signale un import qui ne progresse pas — reportez-vous à la section « Bon à savoir (troubleshooting) ».

Étape 4 — Créer un volume à partir d'une image

Deux cas d'usage, dont le comportement diffère en pratique :

Volume autonome (recommandé)

openstack volume create --image nom-de-l-image --size <taille-Go> nom-du-volume

Fonctionne de façon fiable et rapide (quelques dizaines de secondes pour plusieurs Go). Privilégiez cette méthode pour vérifier qu'une image se convertit correctement en volume avant de l'utiliser pour créer une instance.

Warning

<taille-Go> doit être strictement supérieure à la taille virtuelle de l'image (virtual_size côté Glance), pas à son poids compressé sur disque. Une image de quelques centaines de Mo peut avoir une taille virtuelle de 15-20 Go une fois décompressée.

Volume créé en même temps qu'une instance (server create --block-device)

openstack server create \
  --block-device uuid=<id-image>,source_type=image,destination_type=volume,volume_size=<taille-Go> \
  ...
Warning

Bonne pratique : créer plusieurs block devices source_type=image simultanément dans une seule commande server create peut laisser l'instance en task_state=scheduling/spawning plus longtemps que prévu avant d'atteindre ACTIVE. La méthode recommandée sur cette plateforme consiste à précréer chaque volume séparément (méthode ci-dessus, rapide et fiable), puis à les référencer dans server create avec source_type=volume (pas image) :

openstack server create \
  --block-device uuid=<id-volume>,source_type=volume,destination_type=volume,boot_index=0 \
  ...

Étape 5 — Gérer la visibilité d'une image

openstack image set --private nom-de-l-image   # visible uniquement par le projet courant
openstack image set --shared nom-de-l-image    # partage explicite avec des projets spécifiques

# une fois en visibilité shared, autoriser un projet précis à y accéder :
openstack image add project nom-de-l-image <id-du-projet-cible>

--private est le choix par défaut recommandé pour une image destinée à un usage ponctuel (test, VM Windows). --shared fonctionne normalement sur cette plateforme pour partager une image avec des projets spécifiques. La visibilité public (accessible à l'ensemble des projets de la plateforme) n'est pas disponible.

Étape 6 — Supprimer une image

openstack image delete nom-de-l-image

Une image ne peut pas être supprimée tant qu'un volume ou une instance en dépend encore directement. Cela varie selon la méthode d'attachement : un volume déjà créé à partir de l'image n'en dépend plus. Vérifiez l'absence d'usage actif avant suppression :

openstack volume list --property image_id=<id-image> -f table

Exemple — importer une image depuis le catalogue Public Cloud

Un cas d'usage courant : récupérer une image du catalogue Public Cloud (PCI) et la téléverser dans le catalogue d'images SNC Cloud Platform. Dans cet exemple, l'image AlmaLinux 10 est téléchargée depuis le catalogue d'images Public Cloud puis téléversée dans le catalogue d'images SNC Cloud Platform — conservez le format de disque de catalogue de l'image d'un bout à l'autre (voir l'étape de téléversement).

Cet exemple requiert en plus :

  • des identifiants OpenStack pour un projet Public Cloud (le téléchargement s'effectue depuis le catalogue Public Cloud),
  • environ 10 Go d'espace disque libre sur le poste local pour y stocker temporairement l'image téléchargée.
Info

Le SNC Regional Panel ne gère pas les images pour l'instant ; la console OpenStack (Horizon) n'est pas pleinement prise en charge pour cela non plus — utilisez la CLI OpenStack.

Récupérer l'image du catalogue Public Cloud

Configurez les identifiants OpenStack de votre projet Public Cloud. Recherchez l'image et téléchargez-la :

openstack image list -f value -c Name | grep -i alma
AlmaLinux 10
AlmaLinux 10 - UEFI
AlmaLinux 8
AlmaLinux 8 - UEFI
AlmaLinux 8 - cPanel
AlmaLinux 9
AlmaLinux 9 - UEFI

openstack image save --file almalinux_10.img "AlmaLinux 10"

# Attendre la fin du téléchargement

ls -lh almalinux_10.img
-rw------- 1 debian debian 10G Jun 29 13:32 almalinux_10.img

Relevez le format de disque de l'image, que vous indiquerez dans l'option --disk-format lors du téléversement :

openstack image show "AlmaLinux 10" -f value -c disk_format

Téléverser l'image dans le catalogue d'images

Configurez les identifiants OpenStack de votre projet SNC Cloud Platform.

Créez l'image dans le catalogue à partir du fichier, en remplaçant <disk-format> par le format relevé à l'étape précédente :

openstack image list -f value -c Name | grep -i alma

openstack image create --file almalinux_10.img --disk-format <disk-format> --container-format bare --private --progress "AlmaLinux 10"
[=============================>] 100%
...

openstack image list -f value -c Name | grep -i alma
AlmaLinux 10

Créer une instance à partir de cette image

Consultez le guide « Créer une instance et s'y connecter » pour plus de détails.

openstack server create --flavor b3-8 --image "AlmaLinux 10" --boot-from-volume 20 --network Ext-Net --key-name test test-almalinux
...

# attendre la fin de la création de l'instance (statut ACTIVE)

openstack server show test-almalinux -f value -c status -c addresses
{'Ext-Net': ['192.0.2.10']}
ACTIVE

ssh almalinux@192.0.2.10 grep ^PRETTY_NAME /etc/os-release
PRETTY_NAME="AlmaLinux 10.1 (Heliotrope Lion)"

Bon à savoir (troubleshooting)

SymptômeExplicationRecommandation
Import bloqué en statut queued, aucune progressionweb_download tenté depuis une URL externe — méthode non prise en charge sur cette plateforme (reportez-vous aux méthodes d'import)Utilisez l'import direct depuis le poste local (openstack image create --file, étape 2)
Le formulaire Horizon « Créer une image » n'est pas disponiblePas encore fonctionnel sur cette plateformeUtilisez la CLI (openstack image create --file)
Détail d'une erreur d'import (/v2/tasks/<id>) non consultable directementL'API /tasks n'est pas exposée sur cette plateformeVérifiez le statut de haut niveau via openstack image show ; pour un diagnostic plus fin, contactez le support OVHcloud
Block Device <id> is not bootable lors de la création d'une instance sur un volume créé à partir d'une imageRare avec une image standard (l'attribut bootable est normalement positionné automatiquement par Cinder lors d'une conversion image→volume) — concerne surtout les volumes vierges (source_type=blank), hors du périmètre de Glance à proprement parlerConsultez le guide « Créer une VM Windows Server » pour le cas des volumes vierges
Instance qui met du temps à atteindre ACTIVE avec plusieurs block devices source_type=image dans la même commande server createLa conversion simultanée de plusieurs images en volumes au moment du démarrage n'est pas la méthode recommandée sur cette plateformePrécréez chaque volume séparément via openstack volume create --image, puis référencez les volumes (source_type=volume) dans server create — reportez-vous à l'étape 4
Image virtual size is XGB and doesn't fit in a volume of size YGB--size/volume_size inférieur à la taille virtuelle réelle de l'imageAugmentez la taille avec une marge confortable au-dessus de la virtual_size annoncée par Glance

Aller plus loin

Créer une VM Windows Server — import d'une ISO, cas d'usage complet incluant les volumes vierges ; même plateforme, mêmes limitations d'import.

Guide Terraform — bloc data "openstack_images_image_v2" pour réutiliser une image déjà présente sans la recréer.

Documentation officielle de la CLI OpenStack Image (Glance) : docs.openstack.org — Image v2.

Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.

Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?