Merge "Do not fail on AdminUpdateRow if tenant is not found"

This commit is contained in:
Jenkins 2017-10-05 14:28:20 +00:00 committed by Gerrit Code Review
commit 1eb61ef506
2 changed files with 14 additions and 5 deletions

View File

@ -338,7 +338,11 @@ def is_domain_admin(request):
@profiler.trace
def tenant_get(request, project, admin=True):
manager = VERSIONS.get_project_manager(request, admin=admin)
return manager.get(project)
try:
return manager.get(project)
except keystone_exceptions.NotFound:
LOG.info("Tenant '%s' not found.", project)
raise
@profiler.trace

View File

@ -17,6 +17,7 @@ from django.core import urlresolvers
from django.template.defaultfilters import title
from django.utils.translation import ugettext_lazy as _
from django.utils.translation import ungettext_lazy
from keystoneclient import exceptions as keystone_exceptions
from horizon import tables
from horizon.utils import filters
@ -90,10 +91,14 @@ class LiveMigrateInstance(policy.PolicyTargetMixin,
class AdminUpdateRow(project_tables.UpdateRow):
def get_data(self, request, instance_id):
instance = super(AdminUpdateRow, self).get_data(request, instance_id)
tenant = api.keystone.tenant_get(request,
instance.tenant_id,
admin=True)
instance.tenant_name = getattr(tenant, "name", None)
try:
tenant = api.keystone.tenant_get(request,
instance.tenant_id,
admin=True)
instance.tenant_name = getattr(tenant, "name", instance.tenant_id)
except keystone_exceptions.NotFound:
instance.tenant_name = None
return instance