Skip to content
Development
Skill

/glance

OpenStack Glance image service skill for deploying, configuring, operating, and troubleshooting the VM image registry. Covers image upload/download, format management (qcow2, raw, vmdk, vhd, iso), backend storage selection (file, swift, ceph), image import methods (web-download,

From plugin
gsd-skill-creator
70102 skills61 agents26 commands1 MCP
Install
$ npx -y skills add Tibsfox/gsd-skill-creator --skill glance --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/glance

Context preview

The summary Claude sees to decide when to auto-load this skill.

OpenStack Glance image service skill for deploying, configuring, operating, and troubleshooting the VM image registry. Covers image upload/download, format management (qcow2, raw, vmdk, vhd, iso), backend storage selection (file, swift, ceph), image import methods (web-download,

SKILL.md

glance.SKILL.md
name: openstack-glance
description: "OpenStack Glance image service skill for deploying, configuring, operating, and troubleshooting the VM image registry. Covers image upload/download, format management (qcow2, raw, vmdk, vhd, iso), backend storage selection (file, swift, ceph), image import methods (web-download, glance-direct, copy-image), metadata management, property protections, image sharing between projects, snapshot lifecycle, image caching, and storage usage monitoring. Use when deploying Glance via Kolla-Ansible, managing VM images, converting image formats, or troubleshooting image upload failures."
user-invocable: true
allowed-tools: Read Grep Glob
metadata:
  extensions:
    gsd-skill-creator:
      version: 1
      createdAt: "2026-02-22"
      triggers:
        intents:
          - "glance"
          - "image"
          - "snapshot"
          - "image format"
          - "qcow2"
          - "raw"
          - "image import"
          - "image registry"
        contexts:
          - "deploying openstack images"
          - "managing vm images"
          - "troubleshooting image service"
          - "converting image formats"

OpenStack Glance Image Service

Glance is the image catalog and delivery service for OpenStack. It stores, discovers, and serves virtual machine images that Nova uses to boot instances. Glance handles image metadata, format validation, access control, and backend storage abstraction -- it does not care where images are physically stored, only that they are retrievable.

Supported image formats: **qcow2** (default, copy-on-write, thin provisioning), **raw** (direct disk image, fastest I/O), **vmdk** (VMware), **vhd/vhdx** (Hyper-V), **iso** (CD/DVD). Backend storage options: **file** (local filesystem, simplest), **swift** (OpenStack object storage), **ceph** (distributed storage via RBD), **cinder** (block storage as image backend).

Deploy

Kolla-Ansible Configuration

**globals.yml settings:**

# Backend storage (choose one)
glance_backend_file: "yes"              # Local filesystem (single-node, simplest)
# glance_backend_ceph: "yes"           # Ceph RBD (multi-node, production)
# glance_backend_swift: "yes"          # Swift object storage

# File backend data directory
# glance_file_datadir: "/var/lib/glance/images"  # Default location

# Database and auth
glance_database_password: "{{ vault_glance_database_password }}"
glance_keystone_password: "{{ vault_glance_keystone_password }}"

# Image size limit (bytes, 0 = unlimited)
# glance_image_size_cap: 0

# Enable image import (web-download, glance-direct)
# enable_glance_image_import: "yes"

**Deployment:**

# Deploy Glance
kolla-ansible -i inventory deploy --tags glance

# Verify containers
docker ps --filter "name=glance" --format "table {{.Names}}\t{{.Status}}"
# Expected: glance_api (Up)

**Post-deploy verification:**

source /etc/kolla/admin-openrc.sh

# Verify Glance service in catalog
openstack service list | grep image
openstack endpoint list --service glance

# Test image upload with CirrOS (minimal test image)
wget http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img
openstack image create --file cirros-0.6.2-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public cirros
openstack image list
openstack image show cirros

Image Import Task Setup

For web-download and glance-direct import methods:

# glance-api.conf [DEFAULT]
enabled_import_methods = [glance-direct, web-download, copy-image]

# glance-api.conf [task]
task_executor = taskflow
work_dir = /var/lib/glance/tasks_work_dir

Configure

Backend Storage Selection

| Backend | Use Case | Pros | Cons | |---------|----------|------|------| | **file** | Single-node, lab, development | Simplest, no dependencies | No HA, limited by local disk | | **swift** | Multi-node with Swift deployed | Native OpenStack, scalable | Requires Swift deployment | | **ceph** | Multi-node production | High availability, consistent performance | Requires Ceph cluster | | **cinder** | Boot-from-volume workflows | Leverages existing block storage | Higher latency for image serving |

Image Format Policies

# glance-api.conf [image_format]
disk_formats = qcow2,raw,iso          # Restrict accepted formats
container_formats = bare,docker        # Restrict container formats
default_disk_format = qcow2

Image Size Limits

# glance-api.conf [DEFAULT]
image_size_cap = 13743895347           # ~12.8 GB max image size

# Per-user quota (via Keystone project quotas)
# Managed through Oslo quotas framework

Image Caching

Glance cache stores frequently requested images locally on the API node for faster serving:

# glance-api.conf [DEFAULT]
image_cache_max_size = 10737418240     # 10 GB cache
image_cache_stall_time = 86400         # Stale after 24h
image_cache_dir = /var/lib/glance/image-cache

# Cache management
# glance-cache-manage list-cached
# glance-cache-manage list-queued
# glance-cache-manage delete-all-cached-images

Metadata Definitions

Glance supports structured metadata namespaces for organizing image properties:

# List metadata namespaces
openstack image metadata namespace list

# Create custom metadata
openstack image set --property os_type=linux \
  --property os_distro=ubuntu \
  --property os_version=22.04 \
  my-image

Property Protections

Control which users can read/write specific image properties:

# property-protections.conf
[x_billing_code]
create = role:admin
read = role:admin,role:member
update = role:admin
delete = role:admin

Image Import Methods

# Web-download: import from URL (Glance downloads it)
glance image-create-via-import --name web-image \
  --disk-format qcow2 --container-format bare \
  --import-method web-download \
  --uri http://example.com/image.qcow2

# Glance-direct: stage then import (client uploads data)
glance image-create-via-i
Read more
Ships withgsd-skill-creator

An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)

Get the whole plugin

Other skills on gsd-skill-creator.