Surprisingly, the service ‘openstack-nova-metadata-api‘ was already running. Because, ‘openstacknova-api‘ starts ‘metadata-api‘ service along with it and thus the service ‘metadata-api‘ fails to bind to the port. All you need to do is, check if ‘nova-api’ is configured to start ‘metadata-api’ along with it. To do that
$ Open /etc/nova/nova.conf
And lookout for ‘enabled_apis = osapi_compute,metadata‘ If you find metadata in enabled_apis, then whenever nova-api is started, it will also start metadata api.