Você está na página 1de 13

Requisitos

Openstack & Jclouds


1. Criação de Instâncias
2. Associação de Redes
3. Manutenção de Instâncias
4. Manutenção do Hypervisor
Criação de Instâncias

FRONT END (hypervisor; vmName; configuration)

Arquivo de
ONOS Configuração

(hypervisor; credentials; vmName; flavorId; imageId)


BACK END
Criação de Instâncias

FRONT END

(hypervisor; vmName; configuration; vlanTag)

Arquivo de
Configuração
ONOS

REST API REST API


(JClouds)

BACK END BACK END


(Openstack) (Docker)
Persistência de Dados

Parâmetro Dados Armazenados

hypervisor Hypervisor ID
Hypervisor Name
Type
Location
API URL

configuration Configuration ID
Configuration Name
Flavor ID
Image ID
Criação de Instâncias
● hypervisor: o Usuário define que tipo de hypervisor quer utilizar, docker ou
Openstack, por exemplo. O ONOS busca no banco de dados as credenciais
necessárias.
● vmName: String contendo o nome da VM dado pelo Usuário
● configuration: Especificação escolhida pelo usuário de imagem de sistema
operacional, memória e cpus escolhida pelo usuário
● vlanTag: O número da VLAN a ser associada à nova instância
Criação de Instâncias
● credentials: tupla user:tenant:password
● vmName: String contendo o nome da VM dado pelo Usuário
● flavorId: Id do flavor referente a configuration escolhida pelo usuário. O
ONOS consulta no banco de dados o Id relacionado a cada flavor disponível
para o usuário
● imageId: Id da imagem referente a configuration escolhida pelo usuário. O
ONOS consulta no banco de dados o Id relacionado a cada imagem
disponível para o usuário.
Criação de Instâncias
1. Cliente chama o método
createVirtualHost(hypervisor,name,configuration,vlan)
2. ONOS procura endereço do hypervisor no config.json
3. ONOS procura flavorID e imageID da configuration no config.json
4. ONOS chama o método createVirtualHost(
Associação de Redes

FRONT END (hypervisor; vlanId; vmName)

ONOS

(credentials; vmId; vlanId; ipRange)


BACK END
Associação de Redes
● hypervisor: o Usuário define que tipo de hypervisor quer utilizar, docker ou
Openstack, por exemplo. O ONOS busca no banco de dados as credenciais
necessárias.
● vlanId: Tag da VLAN atribuída/escolhida pelo usuário
● vmName: String contendo o nome da VM dado pelo Usuário

Para associação da rede à máquina virtual é necessária uma sub-rede, caso


contrário não é criada interface de rede.
Associação de Redes
● credentials: tupla user:tenant:password
● vmId: Id único da máquina virtual correspondente ao serverName recebido
pelo ONOS do Front end.
● vlanId: Tag da VLAN atribuída/escolhida pelo usuário
● ipRange: Range de IPs disponível para o usuário. O ONOS busca no banco
de dados um range disponível e entrega ao Openstack (formato CIDR)

Para associação da rede à máquina virtual é necessária uma sub-rede, caso


contrário não é criada interface de rede.
Manutenção de Instâncias
As seguintes funções são usadas para manutenção das instâncias criadas

● startVM(hypervisor; vmName): Iniciar uma VM


● stopVM(hypervisor; vmName): Parar uma VM
● deleteVM(hypervisor; vmName): Apagar uma VM
● rebootVM(hypervisor; vmName): Reiniciar uma VM
Manutenção do Hypervisor
As funções a seguir são usadas pelo ONOS para gerenciamento da base de
dados.

● listFlavors: retorna a lista de flavors disponíveis (nome + ID)


● listImages: retorna a lista de imagens disponíveis (nome + ID)
● listVMs: retorna a lista de servidores contendo:
○ IP gerência
○ Estado
○ vmId

Você também pode gostar