diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js index 9bdd42a677..dd3b348ef2 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js @@ -401,7 +401,10 @@ if (data.data.items.length === 1) { model.newInstanceSpec.networks.push(data.data.items[0]); } - push.apply(model.networks, data.data.items); + push.apply(model.networks, + data.data.items.filter(function(net) { + return net.subnets.length > 0; + })); return data; } diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js index 15cb471af0..3de01e533c 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js @@ -86,7 +86,11 @@ var neutronApi = { getNetworks: function() { - var networks = [ { id: 'net-1' }, { id: 'net-2' } ]; + var networks = [ + { id: 'net-1', subnets: [ { id: 'subnet1' } ] }, + { id: 'net-2', subnets: [ { id: 'subnet2' } ] }, + { id: 'net-3', subnets: []} + ]; var deferred = $q.defer(); deferred.resolve({ data: { items: networks } }); @@ -102,7 +106,8 @@ 'net-2': [ { name: 'port-3', device_owner: 'owner', fixed_ips: [], admin_state: 'DOWN' }, { name: 'port-4', device_owner: '', fixed_ips: [], admin_state: 'DOWN' } - ] + ], + 'net-3': [] }; var deferred = $q.defer(); @@ -471,7 +476,7 @@ ); it('should set a network by default if only one network is available', function () { - var networks = [ { id: 'net-1' } ]; + var networks = [ { id: 'net-1', subnets: [ { id: 'subnet1' } ] } ]; spyOn(neutronApi, 'getNetworks').and.callFake(function () { var deferred = $q.defer(); deferred.resolve({ data: { items: networks } });