Glance

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.