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.
