diff options
| author | Andy Ning <andy.ning@windriver.com> | 2014-06-13 11:21:16 -0400 |
|---|---|---|
| committer | Bruce Ashfield <bruce.ashfield@windriver.com> | 2014-06-18 15:08:11 -0400 |
| commit | 9b966a64a3bbf50f4661d4d8adac2a56794db5cb (patch) | |
| tree | e664e1f8f29bae43f32cc50857c727005eb12198 /meta-openstack/recipes-devtools/python/python-neutron | |
| parent | b53f039deee13fe869aaceca27d4e30cd40efb48 (diff) | |
| download | meta-cloud-services-9b966a64a3bbf50f4661d4d8adac2a56794db5cb.tar.gz | |
Add metadata service support to controller node
The metadata service is working as the following:
- metadata is being served by nova-api on controller at port 8775.
- VM instance requests metadata by 169.254.169.254 (eg, curl http://169.254.169.254/latest/meta-data)
- metadata request comes to neutron-ns-metadata-proxy on controller in dhcp network name space.
- neutron-ns-metadata-proxy forwards the request to neutron-metadata-agent through a unix domain socket (/var/lib/neutron/metadata_proxy).
- neutron-metadata-agent sends the request to nova-api on port 8775 to be serviced.
To support metadata service, neutron-ns-metadata-proxy is baked into the controller image. Also neutron-metadata-agent startup script
(/etc/init.d/neutron-metadata-agent) and config file (/etc/neutron/metadata_agent.ini) are added to start up metadata agent at system
initialization. dhcp_agent.ini and nova.conf are updated as well.
A README.metadata is added in the Documentation/ directory.
Signed-off-by: Andy Ning <andy.ning@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-devtools/python/python-neutron')
| -rw-r--r-- | meta-openstack/recipes-devtools/python/python-neutron/dhcp_agent.ini | 1 | ||||
| -rw-r--r-- | meta-openstack/recipes-devtools/python/python-neutron/metadata_agent.ini | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-neutron/dhcp_agent.ini b/meta-openstack/recipes-devtools/python/python-neutron/dhcp_agent.ini index f9b1523..7cc648f 100644 --- a/meta-openstack/recipes-devtools/python/python-neutron/dhcp_agent.ini +++ b/meta-openstack/recipes-devtools/python/python-neutron/dhcp_agent.ini | |||
| @@ -37,6 +37,7 @@ interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver | |||
| 37 | # be activated when the subnet does not contain any router port. The guest | 37 | # be activated when the subnet does not contain any router port. The guest |
| 38 | # instance must be configured to request host routes via DHCP (Option 121). | 38 | # instance must be configured to request host routes via DHCP (Option 121). |
| 39 | # enable_isolated_metadata = False | 39 | # enable_isolated_metadata = False |
| 40 | enable_isolated_metadata = True | ||
| 40 | 41 | ||
| 41 | # Allows for serving metadata requests coming from a dedicated metadata | 42 | # Allows for serving metadata requests coming from a dedicated metadata |
| 42 | # access network whose cidr is 169.254.169.254/16 (or larger prefix), and | 43 | # access network whose cidr is 169.254.169.254/16 (or larger prefix), and |
diff --git a/meta-openstack/recipes-devtools/python/python-neutron/metadata_agent.ini b/meta-openstack/recipes-devtools/python/python-neutron/metadata_agent.ini new file mode 100644 index 0000000..98d958d --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-neutron/metadata_agent.ini | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | [DEFAULT] | ||
| 2 | # Show debugging output in log (sets DEBUG log level output) | ||
| 3 | # debug = True | ||
| 4 | |||
| 5 | # The Neutron user information for accessing the Neutron API. | ||
| 6 | auth_url = http://localhost:5000/v2.0 | ||
| 7 | auth_region = RegionOne | ||
| 8 | admin_tenant_name = %SERVICE_TENANT_NAME% | ||
| 9 | admin_user = %SERVICE_USER% | ||
| 10 | admin_password = %SERVICE_PASSWORD% | ||
| 11 | |||
| 12 | # Network service endpoint type to pull from the keystone catalog | ||
| 13 | # endpoint_type = adminURL | ||
| 14 | |||
| 15 | # IP address used by Nova metadata server | ||
| 16 | # nova_metadata_ip = 127.0.0.1 | ||
| 17 | |||
| 18 | # TCP Port used by Nova metadata server | ||
| 19 | # nova_metadata_port = 8775 | ||
| 20 | |||
| 21 | # When proxying metadata requests, Neutron signs the Instance-ID header with a | ||
| 22 | # shared secret to prevent spoofing. You may select any string for a secret, | ||
| 23 | # but it must match here and in the configuration used by the Nova Metadata | ||
| 24 | # Server. NOTE: Nova uses a different key: neutron_metadata_proxy_shared_secret | ||
| 25 | # metadata_proxy_shared_secret = | ||
| 26 | metadata_proxy_shared_secret = %METADATA_SHARED_SECRET% | ||
| 27 | |||
| 28 | # Location of Metadata Proxy UNIX domain socket | ||
| 29 | # metadata_proxy_socket = $state_path/metadata_proxy | ||
