summaryrefslogtreecommitdiffstats
path: root/nova/api/metadata/handler.py
diff options
context:
space:
mode:
authorZhiteng Huang <zhiteng.huang@intel.com>2012-06-26 01:37:28 +0800
committerZhiteng Huang <zhiteng.huang@intel.com>2012-06-26 14:15:32 +0800
commit0b0db74aeb799390c4d72a3355d9bf3aa04fd517 (patch)
treecb079cd0793023964618c1f1ed7e20ee9335077c /nova/api/metadata/handler.py
parentca1f1d39b8ee85f55d5b656f7db946f855be5cb2 (diff)
downloadnova-0b0db74aeb799390c4d72a3355d9bf3aa04fd517.tar.gz
nova-0b0db74aeb799390c4d72a3355d9bf3aa04fd517.tar.xz
nova-0b0db74aeb799390c4d72a3355d9bf3aa04fd517.zip
Allow access to metadata server '/' without IP check
Allow access to '/' of metadata server to get version information without checking source IP, which was how previous release behave. Fix bug 1017759. Change-Id: I3edc2d3808b0ebb2064513a59e6a3fc9e212b283
Diffstat (limited to 'nova/api/metadata/handler.py')
-rw-r--r--nova/api/metadata/handler.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/nova/api/metadata/handler.py b/nova/api/metadata/handler.py
index f4f6b689c..59a7d030e 100644
--- a/nova/api/metadata/handler.py
+++ b/nova/api/metadata/handler.py
@@ -17,6 +17,7 @@
# under the License.
"""Metadata request handler."""
+import os
import webob.dec
import webob.exc
@@ -67,6 +68,9 @@ class MetadataRequestHandler(wsgi.Application):
if FLAGS.use_forwarded_for:
remote_address = req.headers.get('X-Forwarded-For', remote_address)
+ if os.path.normpath("/" + req.path_info) == "/":
+ return(base.ec2_md_print(base.VERSIONS + ["latest"]))
+
try:
meta_data = self.get_metadata(remote_address)
except Exception: