diff options
Diffstat (limited to 'snaps/openstack/utils/neutron_utils.py')
-rw-r--r-- | snaps/openstack/utils/neutron_utils.py | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/snaps/openstack/utils/neutron_utils.py b/snaps/openstack/utils/neutron_utils.py index 8783690..f1a5ac2 100644 --- a/snaps/openstack/utils/neutron_utils.py +++ b/snaps/openstack/utils/neutron_utils.py @@ -262,20 +262,17 @@ def get_subnet_by_name(neutron, keystone, subnet_name, project_name=None): retrieve :return: a SNAPS-OO Subnet domain object or None """ - project = None - if project_name: - project = keystone_utils.get_project( - keystone, project_name=project_name) - if project: - sub_filter = {'name': subnet_name, 'project_id': project.id} - subnets = neutron.list_subnets(**sub_filter) - for subnet in subnets['subnets']: - return Subnet(**subnet) - else: - sub_filter = {'name': subnet_name} - subnets = neutron.list_subnets(**sub_filter) - for subnet in subnets['subnets']: - return Subnet(**subnet) + sub_filter = {'name': subnet_name} + subnets = neutron.list_subnets(**sub_filter) + for subnet in subnets['subnets']: + subnet = Subnet(**subnet) + if project_name: + project = keystone_utils.get_project_by_id( + keystone, subnet.project_id) + if project and project.name == project_name: + return subnet + else: + return subnet def get_subnet_by_id(neutron, subnet_id): @@ -547,8 +544,11 @@ def get_port(neutron, keystone, port_settings=None, port_name=None, project_name = port_settings.project_name if port_settings.network_name: network = get_network( - neutron, keystone, network_name=port_settings.network_name, - project_name=project_name) + neutron, keystone, network_name=port_settings.network_name) + if network and not (network.shared or network.external): + network = get_network( + neutron, keystone, network_name=port_settings.network_name, + project_name=project_name) if network: port_filter['network_id'] = network.id elif port_name: @@ -890,7 +890,7 @@ def __get_os_floating_ip(neutron, floating_ip): """ logger.debug('Attempting to retrieve existing floating ip with IP - %s', floating_ip.ip) - fips = neutron.list_floatingips(ip=floating_ip.id) + fips = neutron.list_floatingips(floating_ip_address=floating_ip.ip) for fip in fips['floatingips']: if fip['id'] == floating_ip.id: |