aminet-browser
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
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,
$ npx -y skills add Tibsfox/gsd-skill-creator --skill glance --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/glanceContext 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,
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"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).
**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
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
| 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 |
# glance-api.conf [image_format] disk_formats = qcow2,raw,iso # Restrict accepted formats container_formats = bare,docker # Restrict container formats default_disk_format = qcow2
# 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
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
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
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
# 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
An adaptive learning and coprocessor architecture for Claude Code, built as an extension to GSD (open-gsd)
Repo: Tibsfox/gsd-skill-creator
Aminet search and browse: full-text search, category tree navigation, architecture filtering, package detail, and curated collections. Use when searching,…
FS-UAE emulator configuration and launch: hardware profiles, ROM management, WHDLoad integration, config generation, and state snapshots. Use when configuring…
Manages Aminet INDEX infrastructure: fetch, parse, cache, and incremental update of ~84,000-entry package database. Use when managing INDEX data, checking…
Aminet package installation: LhA/LZX extraction, Amiga filesystem mapping, dependency detection, install tracking, and scan gate enforcement. Use when…
Selective Aminet package mirroring: single-package fetch, integrity verification, mirror state tracking, bulk download, and sync detection. Use when…
Multi-layer virus scanning for Aminet packages. Signature-based detection, heuristic hunk analysis, boot block scanning, quarantine management, and scan…