summaryrefslogtreecommitdiffstats
path: root/keystone/catalog
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2013-01-13 22:53:04 +0000
committerGerrit Code Review <review@openstack.org>2013-01-13 22:53:04 +0000
commitceec5c0bd06f2960cc637882b315f102433d8cc0 (patch)
treeb68db014d980abc8b393bc32596693dceb958f0b /keystone/catalog
parent26c807bf93d18704f0b3180dccd693a85c327789 (diff)
parent3a38ecfc8868c95ad3df43de22b29f08f2c9d4cf (diff)
downloadkeystone-ceec5c0bd06f2960cc637882b315f102433d8cc0.tar.gz
keystone-ceec5c0bd06f2960cc637882b315f102433d8cc0.tar.xz
keystone-ceec5c0bd06f2960cc637882b315f102433d8cc0.zip
Merge "Validated URLs in v2 endpoint creation API"
Diffstat (limited to 'keystone/catalog')
-rw-r--r--keystone/catalog/controllers.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/keystone/catalog/controllers.py b/keystone/catalog/controllers.py
index 78afffe7..8dddf469 100644
--- a/keystone/catalog/controllers.py
+++ b/keystone/catalog/controllers.py
@@ -81,9 +81,13 @@ class Endpoint(controller.V2Controller):
"""Create three v3 endpoint refs based on a legacy ref."""
self.assert_admin(context)
+ # according to the v2 spec publicurl is mandatory
+ self._require_attribute(endpoint, 'publicurl')
+
legacy_endpoint_ref = endpoint.copy()
- urls = dict((i, endpoint.pop('%surl' % i)) for i in INTERFACES)
+ urls = dict((i, endpoint.pop('%surl' % i)) for i in INTERFACES
+ if endpoint.get('%surl' % i) is not None)
legacy_endpoint_id = uuid.uuid4().hex
for interface, url in urls.iteritems():
endpoint_ref = endpoint.copy()