Exclude network which don't have subnet

In create network form, the given network should
have a subnet to create an instance. otherwise the
create call will fail.

We can filter the network list based on the subnet
presence in the network to make the launch instance
successful and avoid unnecessary server call.

Change-Id: Ia37f32d5972ab84530a516dd488014081861c630
Closes-Bug: #1479722
This commit is contained in:
Masco Kaliyamoorthy 2015-07-30 15:29:52 +05:30
parent 55d88786fd
commit 6487d3a2f6

View File

@ -90,7 +90,7 @@ def network_field_data(request, include_empty_option=False):
if api.base.is_service_enabled(request, 'network'): if api.base.is_service_enabled(request, 'network'):
try: try:
networks = api.neutron.network_list_for_tenant(request, tenant_id) networks = api.neutron.network_list_for_tenant(request, tenant_id)
networks = [(n.id, n.name_or_id) for n in networks] networks = [(n.id, n.name_or_id) for n in networks if n['subnets']]
networks.sort(key=lambda obj: obj[1]) networks.sort(key=lambda obj: obj[1])
except Exception as e: except Exception as e:
msg = _('Failed to get network list {0}').format(six.text_type(e)) msg = _('Failed to get network list {0}').format(six.text_type(e))