summaryrefslogtreecommitdiff
path: root/designate/storage/impl_sqlalchemy/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'designate/storage/impl_sqlalchemy/__init__.py')
-rw-r--r--designate/storage/impl_sqlalchemy/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/designate/storage/impl_sqlalchemy/__init__.py b/designate/storage/impl_sqlalchemy/__init__.py
index 7449f9e2..fe46a88b 100644
--- a/designate/storage/impl_sqlalchemy/__init__.py
+++ b/designate/storage/impl_sqlalchemy/__init__.py
@@ -1488,6 +1488,12 @@ class SQLAlchemyStorage(sqlalchemy_base.SQLAlchemy, storage_base.Storage):
).select_from(ljoin)
if not context.all_tenants:
+ # If we have a system scoped token with no project_id and
+ # all_tenants was not used, we don't know what records to return,
+ # so return an empty list.
+ if not context.project_id:
+ return objects.ZoneTransferRequestList()
+
query = query.where(or_(
table.c.tenant_id == context.project_id,
table.c.target_tenant_id == context.project_id))
@@ -1498,7 +1504,8 @@ class SQLAlchemyStorage(sqlalchemy_base.SQLAlchemy, storage_base.Storage):
exceptions.ZoneTransferRequestNotFound,
criterion,
one=one, marker=marker, limit=limit, sort_dir=sort_dir,
- sort_key=sort_key, query=query, apply_tenant_criteria=False
+ sort_key=sort_key, query=query,
+ apply_tenant_criteria=False
)
def create_zone_transfer_request(self, context, zone_transfer_request):