Explore as APIs REST OpenStack para PowerVC

Faça interface com as APIs REST OpenStack do IBM PowerVC Express Edition e simplifique o gerenciamento de recursos virtuais

IBM® Power® Virtualization Center Express Edition (PowerVC) é uma solução de nuvem IaaS criada para facilitar o desenvolvimento e o gerenciamento de recursos virtuais em uma infraestrutura Power Systems Software Defined Environment ou de nuvem. É baseada principalmente em OpenStack® e inclui interfaces de programação de aplicativo OpenStack padrão de mercado. Conheça as APIs de cada componente do OpenStack e as tarefas que elas ajudam a realizar.

Cholleti Ramyasree, Software Engineer, IBM

Cholleti Ramyasree é engenheiro de software na IBM India Pvt. Ltd., atualmente trabalha com PowerVC, tendo quatro anos de experiência na tecnologia, e possui bacharelado em ciência da computação pela Universidade JNTU em Hyderabad, Índia.



13/Jun/2014

O IBM Power Virtualization Center Express Edition (PowerVC) é uma solução de infraestrutura como serviço na nuvem, baseada em OpenStack, para a plataforma IBM Power, criada para simplificar o gerenciamento de recursos virtuais em um ambiente Power Systems. O PowerVC consiste em serviços GUI e RESTful HTTP (na forma de APIs) que permitem realizar tarefas de gerenciamento virtual em Power System. Neste artigo, eu destaco as APIs REST da edição PowerVC Express e faço uma breve descrição do propósito de cada uma, para que você entenda como gerenciar recursos virtuais Power por meio de serviços da web.

Algumas informações sobre PowerVC

PowerVC é uma solução IaaS de nuvem, construída sobre a tecnologia do projeto OpenStack e criada para simplificar o gerenciamento de recursos virtuais em um ambiente Power Systems. Ela usa as interfaces comunitárias do OpenStack, software livre padrão de mercado.

O PowerVC reside entre ferramentas de interface estilo console e a oferta de infraestrutura como serviço (IaaS) IBM SmartCloud; ferramentas como:

  • IBM Hardware Management Console (HMC), um kernel Linux® que usa BusyBox e fornece uma interface padrão para configurar e operar sistemas particionados (também chamados de LPAR ou sistema virtualizado) e SMP (como Power).
  • O IBM Integrated Virtualization Manager (IVM) é uma ferramenta de navegador que permite aos clientes literalmente apontar, clicar e consolidar várias cargas de trabalho em um único Power System sem precisar de um appliance como o HMC para gerenciar LPARs em um único sistema.
  • A Kernel-based Virtual Machine (KVM) é um hypervisor de software livre que proporciona desempenho, escalabilidade e segurança corporativos para a execução de cargas de trabalho Windows® e Linux. A KVM transforma o kernel Linux em um hypervisor bare-metal, que pode acessar o suporte de virtualização de hardware integrado ao hardware do processador.

O PowerVC leva os recursos das APIs do OpenStack para o gerenciamento de recursos na nuvem do Power.

Ele foi projetado para ajudar os usuários a desenvolver dinamicamente uma infraestrutura que suporte um Software Defined Environment (SDE) ou uma infraestrutura de nuvem. Sua interface suporta sistemas operacionais RHEL, SLES e AIX® em hardware Power permitindo registrar hosts físicos, provedores de armazenamento e recursos de rede com os quais é possível implementar e capturar máquinas virtuais. Algumas das tarefas as quais o PowerVC ajuda:

  • Implementação de imagens para criar máquinas virtuais.
  • Redimensionamento e anexação de volumes a essas novas imagens.
  • Captura de máquinas virtuais existentes.
  • Importação de máquinas virtuais e volumes existentes para que possam ser gerenciados pelo IBM PowerVC.
  • Início de operações iniciar, parar, reiniciar e excluir em máquinas virtuais criadas ou gerenciadas.
  • Monitoramento dos recursos no ambiente.
  • Suportar a migração de máquinas virtuais quando estão em execução (ou "migração a quente").

O PowerVC captura automaticamente as seguintes informações de gerenciamento:

  • A configuração do host/hypervisor existente, incluindo informações de partição VIOS.
  • As configurações de CPU, memória e E/S das definições existentes de máquina virtual em um host Power.
  • As definições existentes de volume nos controladores de armazenamento suportados.
  • A informação existente sobre zoneamento nos comutadores SAN suportados.

O PowerVC permite capturar e gerenciar uma biblioteca de imagens de máquina virtual, o que facilita a rápida implementação de um ambiente de máquina virtual pelo lançamento de uma imagem sua armazenada, em vez de precisar recriá-lo manualmente. Ao salvar e centralizar imagens virtuais, é possível migrá-las e implementar rapidamente aplicativos nelas.

Também é possível criar os grupos de recursos necessários para as cargas de trabalho.

O IBM PowerVC está disponível em duas edições:

  • O IBM PowerVC Express Edition é destinado a ambientes de entrada, em que hosts de máquina virtual são sistemas Power 7, Power 7+ e Power 8 gerenciados pelo IVM.
  • O IBM PowerVC Standard Edition é destinado a ambientes corporativos de virtualização, em que os hosts de máquina são servidores Power 6, Power 7, Power 7+ e Power 8 gerenciados por HMC e Power KVM.

A seção a seguir apresenta as APIs OpenStack da Express Edition, uma API de validador específica de PowerVC e seus propósitos. Há algumas outras APIs REST específicas de Power Systems gerenciados por ferramentas HMC e KVM, mas não irei tratar delas neste artigo.


APIs REST OpenStack e de validador PowerVC

A seguir estão as APIs de componente OpenStack e a API de validador PowerVC que podem ser usadas para gerenciamento de recursos virtuais via PowerPC em um Power System (neste exemplo, PowerVC Express Edition). Cada API é categorizada pelo componente OpenStack e vem com uma definição do componente e subcomponente relacionados à API, o propósito da API e o comando operacional usado para ativá-la.

Componente: Keystone

Keystone é um projeto OpenStack que fornece serviços de Identidade, Token, Catálogo e Política para uso especificamente por projetos na família OpenStack. Ele implementa a API Identity do OpenStack.

Keystone v3: Tokens

Um token é um fragmento de texto arbitrário usado para acessar recursos. Cada token possui um escopo que descreve quais recursos estão disponíveis com ele. Um token pode ser revogado a qualquer momento e possui validade finita.

  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Propósito: Retorna um token de autenticação e catálogo de serviço quando credenciais são fornecidas e o token de autenticação é retornado por meio do cabeçalho de retorno X-Subject-Token.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Propósito: Valida o token de autenticação especificado pelo cabeçalho X-Subject-Token e também retorna o catálogo de serviço. O token atual de autenticação deve ser especificado por meio do cabeçalho de solicitação X-Auth-Token.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Propósito: Validação rápida de token de autenticação. Sem catálogo de serviço. 204 retorna que o token é válido.
    Operação: HEAD
  • https://<powervc-ip>/powervc/openstack/identity/v3/auth/tokens
    Propósito: Invalida imediatamente o token de acesso.
    Operação: DELETE

Keystone v3: Usuários

É possível obter a lista de usuários do Keystone e seus grupos associados usando estas APIs:

  • https://<powervc-ip>/powervc/openstack/identity/v3/users
    Propósito: Recupera a lista de usuários.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/users/user_id
    Propósito: Recupera um usuário específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/users/user_id/groups
    Propósito: Lista os grupos dos quais o usuário é membro.
    Operação: GET

Keystone v3: Grupos

É possível obter a lista de grupos do Keystone e seus usuários associados usando estas APIs:

  • https://<powervc-ip>/powervc/openstack/identity/v3/groups
    Propósito: Recupera a lista de grupos do Keystone.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/groups/group_id
    Propósito: Recupera um grupo específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/groups/group_id/users
    Propósito: Lista os usuários que são membros do grupo especificado.
    Operação: GET

Keystone v3: Funções IBM

Uma função é uma personalidade que um usuário assume ao realizar um conjunto específico de operações. Uma função inclui um conjunto de direitos e privilégios. Um usuário que desempenha uma função adquire esses direitos e privilégios.

  • https://<powervc-ip>/powervc/openstack/identity/v3/ibm-roles/users
    Propósito: Recupera a lista de usuários aos quais foi concedida uma função PowerVC.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/identity/v3/ibm-roles/groups
    Propósito: Recupera a lista de grupos aos quais foi concedida uma função PowerVC.
    Operação: GET

Componente: Nova

Nova é o nome de projeto do OpenStack Compute, um controlador de malha de computação em nuvem, a parte principal de um sistema IaaS. Ele gerencia o ciclo de vida e operações de recursos computacionais.

Servidores Nova

É possível gerenciar servidores virtuais usando estas APIs:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers
    Propósito: Cria um servidor virtual ou máquina virtual.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers
    Propósito: Obtém uma lista de servidores virtuais.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/detail
    Propósito: Obtém detalhes sobre todos os servidores virtuais.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id
    Propósito: Obtém detalhes sobre um servidor virtual específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id
    Propósito: Exclui um servidor virtual especificado.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/action
    Propósito: Redimensiona o servidor especificado. Especifique a ação de redimensionamento no corpo da solicitação.
    Propósito: Confirma uma ação de redimensionamento pendente. Especifique a ação confirmResize no corpo da solicitação.
    Propósito: Migra um servidor ativo para um novo host sem reiniciar. Especifique a ação os-migrateLive no corpo da solicitação.
    Propósito: Interrompe um servidor em execução e altera seu status para STOPPED. Especifique a ação os-stop no corpo da solicitação.
    Propósito: Inicia um servidor parado e altera seu status para ACTIVE. Especifique a ação os-start no corpo da solicitação.
    Propósito: Reinicia o servidor especificado. Especifique a ação reboot no corpo da solicitação.
    Propósito: Altera um servidor virtual parado para o status ativo.
    Propósito: Migra um servidor virtual ativo para um novo host sem reiniciar.
    Propósito: Cria uma imagem capturando a máquina virtual.
    Operação: POST

Anexos de volume Nova

Para anexar e separar os volumes de armazenamento do servidor virtual, use estas APIs:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments
    Propósito: Anexa um volume ao servidor especificado.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments
    Propósito: Lista os anexos de volume de um servidor específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments/attachment_id
    Propósito: Lista os detalhes de volume para um ID de anexo de volume específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/servers/server_id/os-volume_attachments/attachment_id
    Propósito: Destaca o anexo de volume especificado do servidor especificado.
    Operação: DELETE

Extensões Nova

Para ver a lista e os detalhes de todas as extensões disponíveis nos servidores:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/extensions
    Propósito: Lista todas as extensões disponíveis.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/extensions/{alias}
    Propósito: Obtém detalhes sobre uma extensão específica. As extensões permitem a introdução de novos recursos na API sem exigir mudança de versão e permitem a introdução de funcionalidades específicas de um fornecedor.
    Operação: GET

Tipos do Nova

Use as APIs a seguir para gerenciar os tipos dos servidores virtuais (modelos de hardware virtual que definem tamanhos de RAM, disco, número de núcleos, etc):

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors
    Propósito: Cria um novo tipo.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors
    Propósito: Obtém a lista de tipos.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail
    Propósito: Obtém a lista de tipos com detalhes.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail/flavor_id
    Propósito: Obtém detalhes do tipo especificado.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/detail/flavor_id
    Propósito: Exclui o ID do tipo especificado.
    Operação: DELETE

Especificações adicionais de tipos do Nova

Permite gerenciar especificações adicionais de tipos existentes de servidores virtuais (como definir o máximo e o mínimo de processador virtual ou de memória e definir processador dedicado ou compartilhado).

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs
    Propósito: Lista especificações adicionais ou as chaves do tipo especificado.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs
    Propósito: Cria especificações adicionais ou as chaves do tipo especificado.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs/key_id
    Propósito: Obtém o valor da chave especificada.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/flavors/flavor_id/os-extra_specs/key_id
    Propósito: Exclui uma especificação adicional por chave.
    Operação: DELETE

Hosts do Nova

Registra e cancela o registro de hosts Power no PowerVC.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts
    Propósito: Lista todos os hosts.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name
    Propósito: Descreve um host especificado.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts
    Propósito: Registra um novo host de cálculo.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name
    Propósito: Cancela o registro de um host de cálculo.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/host_name/update-registration
    Propósito: Registra novamente um host de cálculo.
    Operação: PUT

Hypervisors do Nova

Use estas APIs para obter as informações sobre hypervisors de servidores gerenciados pelo PowerVC:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors
    Propósito: Lista informações sobre hypervisors por servidor.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/detail
    Propósito: Lista os detalhes dos hypervisors gerenciados pela instalação do OpenStack.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/hypervisor_id
    Propósito: Fornece informações detalhadas sobre um hypervisor específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hypervisors/hypervisor_id/servers
    Propósito: Lista servidores ou máquinas virtuais de hypervisors.
    Operação: GET

Imagens do Nova

Use estas APIs para gerenciar imagens de servidor virtual:

  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images
    Propósito: Lista todas as imagens.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/detail
    Propósito: Lista todas as imagens com detalhes.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/image_id
    Propósito: Lista os detalhes da imagem especificada.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/images/image_id
    Propósito: Exclui a imagem especificada.
    Operação: DELETE

Limites do Nova

Use estas APIs para obter os detalhes de limites configurados para contas do usuário:

  • https://<powervc-ip>/powervc/openstack/image/v2/tenant_id/limits
    Propósito: Retorna os limites atuais da conta.
    Operação: GET

Políticas de localização do Nova

Use estas APIs para obter a lista das políticas de localização e modificar seus atributos:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement
    Propósito: Lista todas as políticas.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement/policy_id
    Propósito: Lista uma política específica.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/ego/policy/placement/policy_id
    Propósito: Modifica atributos editáveis da política específica.
    Operação: PUT

Pares de chaves do Nova

Use estas APIs para gerenciar pares de chave associados a contas de usuário do servidor virtual:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs
    Propósito: Lista pares de chave associados à conta.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs
    Propósito: Gera ou importa um par de chaves.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs/keypair_name
    Propósito: Exclui um par de chaves específico.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-keypairs/keypair_name
    Propósito: Mostras o par de chaves associado à conta.
    Operação: GET

Migração de servidor virtual do Nova

Para maior alcance do gerenciamento, é possível importar no PowerVC servidores virtuais criados fora do PowerVC.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/all-servers
    Propósito: Recupera uma lista de todas as máquinas virtuais em um dado host (gerenciado ou não).
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/onboard
    Propósito: Importa uma ou mais máquinas virtuais para um dado host para serem gerenciadas pelo PowerVC.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-hosts/hostname/unmanage
    Propósito: Remove uma ou mais máquinas virtuais de um host, para que não sejam mais gerenciadas pelo PowerVC.
    Operação: POST

Adaptadores Ethernet compartilhados pelo host do Nova

Use estas APIs para listar os adaptadores Ethernet atribuídos a um único host, a todos os hosts, ou aqueles que têm um mesmo UUID e ID VLAN:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas
    Propósito: Lista todos os SEAs de host.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas/host_id
    Propósito: Lista SEAs específicos em um dado host.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas/host_id?vlanid=<VLANID>
    Propósito: Lista SEAs de host específicos em um ID de VLAN.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?vlanid=<VLANID>
    Propósito: Lista todos os SEAs de hosts que passam em um ID de VLAN que corresponde ao PVID de um SEA.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?network_id=<network_id>
    Propósito: Lista todos os SEAs que passam em um UUID de rede.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-seas?network_id=<network_id>&vlanid=<VLAN ID>
    Propósito: Lista todos os SEAs de hosts que passam em um UUID de rede e ID de VLAN.
    Operação: GET

Mapeamento de rede de host do Nova

Use estas APIs para obter a lista de mapeamentos de rede existentes e também para criar e atualizar o mapeamento de rede no host:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Propósito: Lista mapeamentos de rede.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping?network_id=<network_id>
    Propósito: Lista mapeamentos de rede por ID de rede.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping/host_id
    Propósito: Lista mapeamentos de rede de um dado host.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping/host_id?network_id=<network_id>
    Propósito: Lista mapeamentos de rede de um dado host e ID de rede.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Propósito: Cria um mapeamento de rede.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-mapping
    Propósito: Modifica o mapeamento de rede.
    Operação: PUT

Colocação de rede de host do Nova

É possível obter a lista de colocações de rede possíveis para hosts especificados e também obter a lista de hosts, o que pode apoiar a colocação de VLAN específica.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement
    Propósito: Lista possíveis colocações de rede de todos os hosts.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement?network_id=<network_id>
    Propósito: Lista hosts que podem suportar a rede específica.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/host-network-placement/host_name
    Propósito: Lista possíveis colocações de rede para o host especificado.
    Operação: GET

Uso de Nova

Use estas APIs para obter estatísticas de uso (como uso de CPU, memória e rede) por host e por conta de usuário:

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-simple-tenant-usage
    Propósito: Visualizar o uso para todos os proprietários.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-simple-tenant-usage/tenant_id
    Propósito: Recuperar o uso de um proprietário.
    Operação: GET

Cotas do Nova

É possível obter informações sobre cotas alocadas e atualizá-las para contas de usuários.

  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id
    Propósito: Mostrar cotas de proprietário.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id
    Propósito: Atualiza cotas de um proprietário.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/compute/v2/tenant_id/os-quota-sets/tenant_id/defaults
    Propósito: Recupera cotas padrão.
    Operação: GET

Componente: Cinder

Cinder é o projeto OpenStack para gerenciar armazenamento de bloco.

Volumes do Cinder

Use estas APIs para gerenciar volumes de armazenamento:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes
    Propósito: Para criação de um volume.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes
    Propósito: Para visualizar uma lista de volumes.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/detail
    Propósito: Para visualizar uma lista de volumes e seus detalhes.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes?data_volumes
    Propósito: Para visualizar uma lista de volumes de dados.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/detail?data_volumes
    Propósito: Para visualizar uma lista de volumes de dados e seus detalhes.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Propósito: Para visualizar todas as informações de um único volume.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Propósito: Para atualizar um volume específico.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Propósito: Para excluir um único volume.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id/restricted_metadata
    Propósito: Para visualizar metadados restritos a volume.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id/restricted_metadata
    Propósito: Para modificar metadados restritos por volume.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume-id/restricted_metadata/{key}
    Propósito: Para excluir um volume de metadados restritos por volume.
    Operação: DELETE

Hosts do Cinder

Use estas APIs para configurar provedores de armazenamento no PowerVC:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/connect
    Propósito: Retorna uma lista de conjuntos de armazenamento.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts
    Propósito: Registra um novo host do Cinder.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts
    Propósito: Lista todos os hosts do Cinder.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name
    Propósito: Descreve um host específico.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name
    Propósito: Cancela o registro de um host do Cinder.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/update-registration
    Propósito: Registra novamente um host do Cinder.
    Operação: PUT

Migração de volume do Cinder

Use estas APIs para importar volumes de armazenamento que não são gerenciados pelo PowerVC:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/all-volumes
    Propósito: Fornece uma lista de todos os volumes que estão em um dado provedor de armazenamento.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/onboard
    Propósito: Importa um ou mais volumes para um dado provedor de armazenamento para serem gerenciados pelo PowerVC.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/os-hosts/host_name/unmanage
    Propósito: Remove um ou mais volumes de um provedor de armazenamento para que não sejam mais gerenciados pelo PowerVC.
    Operação: POST

Provedores de armazenamento do Cinder

É possível obter a métrica e o status de provedores de armazenamento existentes no PowerVC.

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers
    Propósito: Fornece uma lista de status/métricas do provedor de armazenamento.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers/detail
    Propósito: Fornece detalhes de status/métricas de todos os provedores de armazenamento.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/storage-providers/provider_id
    Propósito: Fornece detalhes de status/métrica para um provedor de armazenamento específico.
    Operação: GET

Expansão de volume do Cinder

Use esta API para redimensionar os volumes de armazenamento:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/volumes/volume_id
    Propósito: Estende/redimensiona um volume quando o volume está anexado e seu status é Em uso.
    Operação: GET

Extensões do Cinder

É possível obter a lista e os detalhes de todas as extensões disponíveis em um volume de armazenamento:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/extensions
    Propósito: Lista as extensões disponíveis.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/{alias}
    Propósito: Obtém detalhes sobre a extensão especificada.
    Operação: GET

Tipos do Cinder

Use estas APIs para gerenciar os tipos de volume de armazenamento:

  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types
    Propósito: Cria um tipo de volume.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types
    Propósito: Lista o tipo de volume.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Propósito: Mostra as informações de um tipo de volume especificado.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Propósito: Atualiza um tipo de volume.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id
    Propósito: Exclui um tipo de volume.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/volume/v1/tenant_id/types/volume_type_id/extra_specs/key_id
    Propósito: Atualiza um item de especificação adicional de um tipo de volume.
    Operação: PUT

Componente: Glance

Glance é um serviço de imagem que fornece serviços de descoberta, registro e entrega para imagens de disco virtual.

Imagens do Glance

Use estes serviços RESTful para gerenciar imagens (criar, excluir, atualizar, listar, obter detalhes, fazer download):

  • https://<powervc-ip>/powervc/openstack/image/v2/images
    Propósito: Cria uma imagem.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/image/v2/images
    Propósito: Obtém uma lista de imagens aos quais os proprietários têm acesso.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Propósito: Obtém detalhes da imagem especificada.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Propósito: Atualiza uma imagem especificada.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id
    Propósito: Exclui uma imagem especificada.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id/file
    Propósito: Faz download de dados de imagem binários.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/image/v2/images/image_id/file
    Propósito: Atualiza dados de imagem binários.
    Operação: PUT

Componente: Neutron

Neutron é o serviço de gerenciamento de rede do OpenStack.

Redes Neutron

Use estes serviços RESTful para gerenciar a rede (criar, excluir, modificar, listar):

  • https://<powervc-ip>/powervc/openstack/network/v2/networks
    Propósito: Cria uma nova rede Neutron.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Propósito: Atualiza a rede especificada.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Propósito: Exclui a rede especificada.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/network/v2/networks
    Propósito: Fornece um resumo de todas as redes definidas no Neutron.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/networks/network_id
    Propósito: Lista informações detalhadas de uma rede especificada.
    Operação: GET

Sub-redes Neutron

Use estes serviços RESTful para gerenciar sub-redes de rede:

  • https://<powervc-ip>/powervc/openstack/network/v2/subnets
    Propósito: Cria uma sub-rede na rede especificada.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Propósito: Atualiza a sub-rede especificada.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Propósito: Remove a sub-rede especificada.
    Operação: DELETE
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets
    Propósito: Lista todas as sub-redes que podem ser acessadas pelo proprietário que enviou a solicitação.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/subnets/subnet_id
    Propósito: Fornece informações detalhadas sobre a sub-rede especificada.
    Operação: GET

Portas do Neutron

Use estes serviços RESTful para gerenciar portas de rede:

  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports
    Propósito: Cria uma porta na rede especificada.
    Operação: POST
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports
    Propósito: Lista as portas às quais o proprietário tem acesso.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Propósito: Mostra informações sobre a porta especificada.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Propósito: Atualiza a porta especificada.
    Operação: PUT
  • https://<powervc-ip>/powervc/openstack/network/v2/tenant_id/ports/port_id
    Propósito: Exclui a porta especificada.
    Operação: DELETE

O componente de serviço do PowerVC: Validator

Esse serviço valida o ambiente PowerVC existente e exibe resultados que podem ajudar a corrigir o ambiente PowerVC configurado.

  • https://<powervc-ip>/powervc/openstack/validation/v1/validation
    Propósito: Inicia a execução de validação.
    Operação: GET
  • https://<powervc-ip>/powervc/openstack/validation/v1/validation/result
    Propósito: Exibe os resultados da execução de validação concluída por último.
    Operação: GET

Conclusão

Espero que este guia de consulta rápida sobre o uso das APIs de gerenciamento de recursos virtuais do OpenStack via PowerVC Express Edition ajude a facilitar e agilizar seu gerenciamento de nuvem.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, Software livre, Linux
ArticleID=977960
ArticleTitle=Explore as APIs REST OpenStack para PowerVC
publish-date=06132014