Blog

instalando o OpenStack com o DevStack

Após gastar uns 15 dias brincando com o Mirantis Fuel, resolvi instalar o OpenStack usando o DevStack.

A instalação é a mais simples de todas. Basta baixar os arquivos do repositório e executar o instalador. Eu segui exatamente desta forma, como em quase todos os exemplos que vi na internet. O problema é que o resultado é uma instalação extremamente pobre. Dá para ver umas poucas opções, iniciar umas instâncias e não é possível ver o Neutron funcionando (configurar redes e roteadores). Já estava acostumado a ver o Neutron e o Murano, então não achei legal fazer um test-drive em algo tão limitado.

Por sorte inventaram o Google. Após algumas buscas, descobri umas dicas para incrementar minha instalação. Primeiro baixei o DevStack do repositório. Informei o branch mitaka só para garantir.

Meu usuário padrão possui permissão para sudo. Fui para pasta home dele, mas sem sudo.

git clone https://git.openstack.org/openstack-dev/devstack  -b stable/mitaka

Para a instalação padrão, bastaria agora executar

./stack.sh

porém eu preciso fazer algumas considerações antes. É possível usar um arquivo de configuração que é bem flexível e possibilita controlar diversos aspectos da instalação, mas é necessário criá-lo na pasta raiz do instalador (mesma pasta do stack.sh).

cd devstack

vim local.conf

É obrigatório iniciar o arquivo com a seguinte linha:

[[local|localrc]]

Na instalação padrão, o instalador irá pedir as senhas que serão posteriormente usadas no sistema. É possível definir estas senhas no arquivo de configuração.

ADMIN_PASSWORD=suasenha
MYSQL_PASSWORD=suasenha
RABBIT_PASSWORD=suasenha
SERVICE_PASSWORD=suasenha
SERVICE_TOKEN=xynMtSp9KS59SPHp
SWIFT_HASH=JRBj7ukxMG4tckek

As senhas não precisam ser as mesmas.

Quando eu tentava instalar recebia um erro informando que não era possível encontrar a URL de autenticação e a instalação parava. Após procurar muito, encontrei a solução. Editei o arquivo stack.sh e localizei a parte onde são definidas as variáveis para acesso ao Keystone:

# Set up password auth credentials now that Keystone is bootstrapped
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL=$KEYSTONE_AUTH_URI
export OS_USERNAME=admin
export OS_USER_DOMAIN_ID=default
export OS_PASSWORD=$ADMIN_PASSWORD
export OS_PROJECT_NAME=admin
export OS_PROJECT_DOMAIN_ID=default
export OS_REGION_NAME=$KEYSTONE_REGION_NAME

Comente as linhas:

# Set up password auth credentials now that Keystone is bootstrapped
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_URL=$KEYSTONE_AUTH_URI
export OS_USERNAME=admin
# export OS_USER_DOMAIN_ID=default
export OS_PASSWORD=$ADMIN_PASSWORD
export OS_PROJECT_NAME=admin
# export OS_PROJECT_DOMAIN_ID=default
export OS_REGION_NAME=$KEYSTONE_REGION_NAME

Agora eu preciso do Neutron e do Murano. Para isso eu usei a configuração que encontrei aqui. Esta configuração ainda me brindou com o Sahara e o Trove que eu queria tanto! Agora eu pude executar o instalador.

./stack.sh

Isso demora! Obviamente as coisas não foram bem logo da primeira vez e precisei reinstalar tudo várias vezes. Dizem as más línguas que basta executar

./unstack.sh

para limpar a instalação e começar novamente. Eu tive alguns problemas com isso e resolvi apagar todo o diretório onde os arquivos são instalados:

./unstack.sh
rm -R /opt/stack/*
./stack.sh

Isso é bem radical e faz as coisas demorarem bem mais, porém garante uma reinstalação mais limpa.

O resultado é um ambiente tudo-em-um. Todos os serviços ficam disponíveis na mesma máquina. Isso é ótimo para testar, mas é péssimo se você quer entender a infra do OpenStack.

Não sei se é devido a minha máquina estar conectada à rede por uma interface wifi, mas quando reiniciei o servidor eu perdi o acesso ao Horizon (conexão recusada). Pensei que fosse devido às mexidas que fiz na configuração da rede e reinstalei a bagaça toda mais uma vez só para descobrir que o problema acontece mesmo sem eu mexer em nada. Mais uma vez não fiquei correndo atrás de solução. Não acho que vale a pena empregar tempo para consertar uma coisa que não vou usar.

Resumo: apesar de ser a única instalação que me deu o Trove, eu não gostei. Vou retomar minha instalação no VirtualBox Windows para poder seguir adiante com meus testes pois o caminho é longo. Só lamento o Fuel não instalar o Trove. Eles se amarraram com a Tesora (que é pago). Lamentável.

 

0

About the Author:

Java EE developer and OSM Mapper.

  Related Posts
  • No related posts found.

You must be logged in to post a comment.