From 9904672ed785f4cb1ecd167d377b1d1c12d09f54 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Sun, 27 Mar 2016 13:50:01 +0200 Subject: [PATCH] openstack: there may be more than one IPv4 subnet Signed-off-by: Loic Dachary --- teuthology/openstack/__init__.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/teuthology/openstack/__init__.py b/teuthology/openstack/__init__.py index d5e2cc0130..89179fdc4d 100644 --- a/teuthology/openstack/__init__.py +++ b/teuthology/openstack/__init__.py @@ -112,12 +112,11 @@ class OpenStackInstance(object): def get_ip_neutron(self): subnets = json.loads(misc.sh("neutron subnet-list -f json -c id -c ip_version")) - subnet_id = None + subnet_ids = [] for subnet in subnets: if subnet['ip_version'] == 4: - subnet_id = subnet['id'] - break - if not subnet_id: + subnet_ids.append(subnet['id']) + if not subnet_ids: raise Exception("no subnet with ip_version == 4") ports = json.loads(misc.sh("neutron port-list -f json -c fixed_ips -c device_id")) fixed_ips = None @@ -130,7 +129,7 @@ class OpenStackInstance(object): ip = None for fixed_ip in fixed_ips: record = json.loads(fixed_ip) - if record['subnet_id'] == subnet_id: + if record['subnet_id'] in subnet_ids: ip = record['ip_address'] break if not ip: -- 2.39.5