diff --git a/nova/context.py b/nova/context.py index 8c268a561b48..9f2f8bceba98 100644 --- a/nova/context.py +++ b/nova/context.py @@ -84,7 +84,7 @@ class RequestContext(object): if service_catalog: # Only include required parts of service_catalog self.service_catalog = [s for s in service_catalog - if s.get('type') in ('volume')] + if s.get('type') in ('volume',)] else: # if list is empty or none self.service_catalog = [] diff --git a/nova/tests/test_context.py b/nova/tests/test_context.py index df2b41af8d41..5de84c545fa1 100644 --- a/nova/tests/test_context.py +++ b/nova/tests/test_context.py @@ -95,7 +95,9 @@ class ContextTestCase(test.NoDBTestCase): {u'type': u'volume', u'name': u'cinder'}, {u'type': u'ec2', u'name': u'ec2'}, {u'type': u'object-store', u'name': u'swift'}, - {u'type': u'identity', u'name': u'keystone'}] + {u'type': u'identity', u'name': u'keystone'}, + {u'type': None, u'name': u'S_withouttype'}, + {u'type': u'vo', u'name': u'S_partofvolume'}] volume_catalog = [{u'type': u'volume', u'name': u'cinder'}] ctxt = context.RequestContext('111', '222',