Merge "Wrap various API calls with try/except in Router panel"

This commit is contained in:
Zuul 2017-10-23 15:01:59 +00:00 committed by Gerrit Code Review
commit 6941262e03
2 changed files with 22 additions and 11 deletions

View File

@ -76,15 +76,20 @@ class CreateForm(forms.SelfHandlingForm):
else:
del self.fields['external_network']
az_supported = api.neutron.is_extension_supported(
self.request, 'router_availability_zone')
try:
az_supported = api.neutron.is_extension_supported(
self.request, 'router_availability_zone')
if az_supported:
zones = api.neutron.list_availability_zones(self.request, 'router',
'available')
self.fields['az_hints'].choices = [(zone['name'], zone['name'])
for zone in zones]
else:
if az_supported:
zones = api.neutron.list_availability_zones(
self.request, 'router', 'available')
self.fields['az_hints'].choices = [(zone['name'], zone['name'])
for zone in zones]
else:
del self.fields['az_hints']
except Exception:
msg = _("Failed to get availability zone list.")
exceptions.handle(self.request, msg)
del self.fields['az_hints']
def _get_network_list(self, request):

View File

@ -256,9 +256,15 @@ class RoutersTable(tables.DataTable):
del self.columns["distributed"]
if not api.neutron.get_feature_permission(request, "l3-ha", "get"):
del self.columns["ha"]
if not api.neutron.is_extension_supported(request,
"router_availability_zone"):
del self.columns["availability_zones"]
try:
if not api.neutron.is_extension_supported(
request, "router_availability_zone"):
del self.columns["availability_zones"]
except Exception:
msg = _("Unable to check if router availability zone extension "
"is supported")
exceptions.handle(self.request, msg)
del self.columns['availability_zones']
def get_object_display(self, obj):
return obj.name