Do not fail on AdminUpdateRow if tenant is not found
We still can show instance info on admin/instances page even if tenant is deleted or we can't retrieve tenant's information. Change-Id: Idb1a5ffbb4103cce5258657d559bf4fe784b98d6 Closes-Bug: #1712565
This commit is contained in:
parent
01f91bf444
commit
65baa5fa6d
openstack_dashboard
@ -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
|
||||
|
@ -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
|
||||
@ -89,10 +90,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
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user