O Glance, ou OpenStack Image Service, é o módulo do OpenStack que gerencia as imagens de máquinas virtuais usadas pelo módulo Nova. Suportando diversos formatos de imagens, esse módulo utiliza uma API RESTful capaz de descobrir, recuperar e listar metadados de imagens de máquinas virtuais.
Imagens gerenciadas pelo Glance podem ser armazenadas de diversas maneiras, a API é capaz de tornar a recuperação transparente ao usuário.
O gerenciamento é feito através de requests HTTP. Um request de GET em uma URI HTTP que possui imagens retorna um mapeamento com os dados de todas as imagens presentes no local indicado. Um request de HEAD numa URI que define uma imagem (esse URI pode ser encontrado na listagem das imagens) retorna uma resposta HTTP com os metadados da imagem no cabeçalho da mensagem e os dados no corpo da mensagem, em formato binário.
- Exemplo de retorno de request GET para listagem de imagens:
{'images': [ {'uri': 'http://glance.example.com/v1/images/71c675ab-d94f-49cd-a114-e12490b328d9', 'name': 'Ubuntu 10.04 Plain', 'disk_format': 'vhd', 'container_format': 'ovf', 'size': '5368709120'} ...]}
- Exemplo de cabeçalho HTTP de metadados de imagem:
x-image-meta-uri http://glance.example.com/v1/images/71c675ab-d94f-49cd-a114-e12490b328d9 x-image-meta-name Ubuntu 10.04 Plain 5GB x-image-meta-disk_format vhd x-image-meta-container_format ovf x-image-meta-size 5368709120 x-image-meta-checksum c2e5db72bd7fd153f53ede5da5a06de3 x-image-meta-created_at 2010-02-03 09:34:01 x-image-meta-updated_at 2010-02-03 09:34:01 x-image-meta-deleted_at x-image-meta-status available x-image-meta-is-public true x-image-meta-min-ram 256 x-image-meta-min-disk 0 x-image-meta-owner null x-image-meta-property-distro Ubuntu 10.04 LTS
O Glance também é capaz de gerar snapshots, ou imagens instantâneas de instâncias de máquinas virtuais executando no Nova, gerando novas imagens como backup da instância em execução.