1 Answer
1

With the help of the good folks at the IRC channel #openstack (zynzel, livemoon) we solved this by simply restarting nova-api:

sudo restart nova-api

You can verify that the metadata server is indeed up by issuing:

lsof -i:8775

from your controller node or

nmap -sS -sV -O -P0 -p8773-8776 <controller_ip>

with your controller node's IP address and checking that port 8775/tcp is open and listened to.

It might be the case that this is a problem with Dodai-deploy, as nova-api has to be installed after nova-compute is installed for the meta-data server to be initialized correctly.

Fixing the issue on a multinode doployment

If you run a multihost deployment and want to use Ubuntu cloud instances that pull in public keys from a metadata server you need this in your controller's nova.conf:

multihost=True
enabled_apis=metadata,ec2,osapi_compute,osapi_volume

and this in your compute node's nova.conf:

multi_host=True
enabled_apis=metadata

Without this you'll get errors in your instance's console output (nova console-log test-instance) about it not being able to reach the metadata server and you won't be able to ssh into them.

Another solution is to tell your instance who you are on Launchpad through the user-data Dashboard form (or file in the terminal) so that it can pull in your public keys from there. The syntax is (not explained anywhere else but in the source code):