summaryrefslogtreecommitdiffstats
path: root/snaps/openstack/utils/neutron_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'snaps/openstack/utils/neutron_utils.py')
-rw-r--r--snaps/openstack/utils/neutron_utils.py34
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: