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.
- Na web UI do MAAS na barra lateral entrar em LXD e depois clique no nome do projeto que criamos nos passos anteriores
- Na nova tela, clique em
Add VM
- 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
- No dashboard do MAAS, vá para a aba de
Machines
e selecione nossos dois computes - No botão
Actions
, clique emAllocate
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'