Corrigindo o problema em uma implantação do all-in-one
Com a ajuda do pessoal bacana no #openstack do canal de IRC (zynzel, livemoon) nós resolvemos isso simplesmente reiniciando a nova-api:
sudo restart nova-api
Você pode verificar se o servidor de metadados está realmente ativo:
lsof -i:8775
do seu nó controlador ou
nmap -sS -sV -O -P0 -p8773-8776 <controller_ip>
com o endereço IP do nó do controlador e verificando se a porta 8775 / tcp está aberta e ouvida.
Pode ser que este seja um problema com o Dodai-deploy, pois a nova-api precisa ser instalada depois que o nova-compute for instalado para que o servidor de meta-dados seja inicializado corretamente.
Corrigindo o problema em um multinode doployment
Se você executar uma implantação multihost e desejar usar instâncias de nuvem do Ubuntu que obtêm chaves públicas de um servidor de metadados, você precisará disso na nova.conf do seu controlador:
multihost=True
enabled_apis=metadata,ec2,osapi_compute,osapi_volume
e isso na nova.conf do seu nó de computação:
multi_host=True
enabled_apis=metadata
Sem isso, você obterá erros na saída do console da sua instância (nova console-log test-instance) sobre não conseguir acessar o servidor de metadados e não conseguirá ssh neles.
Outra solução é dizer à sua instância quem você é no Launchpad através do formulário Painel de Dados do Usuário (ou arquivo no terminal) para que ele possa extrair suas chaves públicas de lá. A sintaxe é (não explicada em nenhum outro lugar, exceto em o código fonte ):
#cloud-config
ssh_import_id: [your-launchpad-username]