diff --git a/neutron/db/common_db_mixin.py b/neutron/db/common_db_mixin.py
index ba913bfbab3..b504cfbb5a7 100644
--- a/neutron/db/common_db_mixin.py
+++ b/neutron/db/common_db_mixin.py
@@ -15,11 +15,14 @@
 
 import weakref
 
+from debtcollector import removals
 import six
 from sqlalchemy import and_
 from sqlalchemy import or_
 from sqlalchemy import sql
 
+from neutron._i18n import _
+from neutron.common import exceptions as n_exc
 from neutron.db import sqlalchemyutils
 
 
@@ -167,6 +170,18 @@ class CommonDbMixin(object):
                          if key in fields))
         return resource
 
+    @removals.remove(message='This method will be removed in N')
+    def _get_tenant_id_for_create(self, context, resource):
+        if context.is_admin and 'tenant_id' in resource:
+            tenant_id = resource['tenant_id']
+        elif ('tenant_id' in resource and
+              resource['tenant_id'] != context.tenant_id):
+            reason = _('Cannot create resource for another tenant')
+            raise n_exc.AdminRequired(reason=reason)
+        else:
+            tenant_id = context.tenant_id
+        return tenant_id
+
     def _get_by_id(self, context, model, id):
         query = self._model_query(context, model)
         return query.filter(model.id == id).one()