From 1ac2c8db9af6941be4ca936b3b6c53f051dff6c7 Mon Sep 17 00:00:00 2001 From: Damon Li Date: Tue, 30 Jul 2019 01:29:38 -0700 Subject: [PATCH] Use zone.tenant_id as tenant if context.project_id is None When enable multi-tenant in infoblox integration, designate infoblox plugin need to get dns view. The input of this function is project_id in context. But when do periodic recovery job, the context is generated via init DesignateContext. We don't set project_id in it. So use zone.tenant_id instead on this situation. Closes-Bug: #1838379 Change-Id: I7e657d9fa4502621f48c6e40a7a2eb5e48a3ac3d --- designate/backend/impl_infoblox/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/designate/backend/impl_infoblox/__init__.py b/designate/backend/impl_infoblox/__init__.py index 98534de7b..018a7875e 100644 --- a/designate/backend/impl_infoblox/__init__.py +++ b/designate/backend/impl_infoblox/__init__.py @@ -44,7 +44,8 @@ class InfobloxBackend(base.Backend): def create_zone(self, context, zone): LOG.info('Create Zone %r', zone) - dns_net_view = self.infoblox.get_dns_view(context.project_id) + project_id = context.project_id or zone.tenant_id + dns_net_view = self.infoblox.get_dns_view(project_id) self.infoblox.create_zone_auth( fqdn=zone['name'][0:-1], dns_view=dns_net_view