Configuring Metadata Service
OpenStack enables virtual machines to access metadata by sending an HTTP request to the link-local address 169.254.169.254. The metadata request from the virtual machine is proxied to Nova with additional HTTP header fields that Nova uses to identify the source instance, then responds with appropriate metadata.
In Contrail, the vRouter acts as the proxy, by trapping the metadata requests, adding the necessary header fields, and sending the requests to the Nova API server.
The metadata service is configured by setting the linklocal-services property on the global-vrouter-config object.
Use the following elements to configure the linklocal-services element for metadata service:
linklocal-service-name = metadatalinklocal-service-ip = 169.254.169.254linklocal-service-port = 80ip-fabric-service-ip = [server-ip-address]ip-fabric-service-port = [server-port]
The linklocal-services properties
can be set from the Contrail UI (Configure > Infrastructure >
Link Local Services) or by using the following command:
python /opt/contrail/utils/provision_linklocal.py
--admin_user <user> --admin_password <passwd> --linklocal_service_name metadata --linklocal_service_ip
169.254.169.254 --linklocal_service_port 80 --ipfabric_service_ip
--ipfabric_service_port 8775