Skip to main content

Realizando deploy do OpenStack

Realizando deploy do OpenStack automático

Criando a VM para o Cinder

O JUJU precisa de uma máquina para criar os volumes das máquinas do OpenStack. Em nosso caso caso, vamos criar uma VM no LXD para este papel.

  1. Na web UI do MAAS na barra lateral entrar em LXD e depois clique no nome do projeto que criamos nos passos anteriores
  2. Na nova tela, clique em Add VM
  3. Coloque as seguintes configurações
  • VM name: cinder-machine (ou outro nome que indique que é VM do Cinder)
  • Cores: 4 (mínimo)
  • RAM: 8192 (mínimo) Agora em Storage configuration
  • Selecione a pool de disco criada para o cinder e o tamanho disponível na partição com aquela pool. Para adicionar a VM, clique em Compose Machine. Aguarde um momento até que o LXD crie a sua VM e ela estará pronta.

Configurando os computes

Antes de tudo, é necessário ter certeza de quais serviços o JUJU vai instalar nos computes. Em nosso deploy, só instalaremos os charms "nova-compute" e "ovn-chassis" nos computes físicos. Para impedir que o JUJU instale qualquer outro serviço nelas, precisamos alocar as máquinas para impedir que ela faça deploy nos computes

  1. No dashboard do MAAS, vá para a aba de Machines e selecione nossos dois computes
  2. No botão Actions, clique em Allocate

Uma das principais qualidades deste deploy é justamente que o JUJU não diferencia computes físicos de VMs do LXD. Entretanto, em nosso caso isso acaba sendo um problema.

Para que o bundle/overlay possa usar essas máquinas elas devem estar com as redes configuradas porém permanescer no estado Ready.

Baixando o bundle

Com nosso JUJU funcionando, agora podemos fazer deploy do OpenStack! Para simplificar as coisas, fizemos um bundle que contém informações sobre VMs, charms e relações que as aplicações do OpenStack precisam para funcionar.

git clone git@github.com:cloudlabs-ufscar/Infra.git

Realizando os deploy

Bundle principal

Com o bundle baixado, basta rodar:

cd Infra/scripts/juju_bundles
juju deploy ./bundle.yaml

Overlay cinder / nova compute

juju export-bundle > current-bundle.yaml
juju deploy --verbose ./current-bundle.yaml --overlay bundle-overlay-cinder.yaml
juju deploy --verbose ./current-bundle.yaml --overlay bundle-overlay-nova.yaml

Para acompanhar o status do deploy

watch -c 'juju status --color'
watch -c 'juju machines --color'