You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2016/04/13 19:13:53 UTC
[2/4] libcloud git commit: Improve OpenStack IP type resolution and
improve tests
Improve OpenStack IP type resolution and improve tests
Closes #738
Signed-off-by: Tomaz Muraus <to...@tomaz.me>
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/6bb66097
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/6bb66097
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/6bb66097
Branch: refs/heads/trunk
Commit: 6bb6609720a661907212a23669227cbc4caee2bd
Parents: 0bcc7d6
Author: lionel <li...@sixsq.com>
Authored: Wed Apr 13 15:55:59 2016 +0200
Committer: Tomaz Muraus <to...@tomaz.me>
Committed: Wed Apr 13 19:03:23 2016 +0200
----------------------------------------------------------------------
libcloud/compute/drivers/openstack.py | 30 ++++++++------------
.../openstack_v1.1/_servers_detail.json | 22 ++++++++++++++
libcloud/test/compute/test_openstack.py | 13 +++++++--
3 files changed, 44 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/6bb66097/libcloud/compute/drivers/openstack.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/openstack.py b/libcloud/compute/drivers/openstack.py
index 51adf75..b4daa57 100644
--- a/libcloud/compute/drivers/openstack.py
+++ b/libcloud/compute/drivers/openstack.py
@@ -2061,29 +2061,23 @@ class OpenStack_1_1_NodeDriver(OpenStackNodeDriver):
for label, values in api_node['addresses'].items():
for value in values:
ip = value['addr']
-
is_public_ip = False
try:
- public_subnet = is_public_subnet(ip)
+ is_public_ip = is_public_subnet(ip)
except:
# IPv6
- public_subnet = False
-
- # Openstack Icehouse sets 'OS-EXT-IPS:type' to 'floating' for
- # public and 'fixed' for private
- explicit_ip_type = value.get('OS-EXT-IPS:type', None)
-
- if public_subnet:
- # Check for public subnet
- is_public_ip = True
- elif explicit_ip_type == 'floating':
- is_public_ip = True
- elif explicit_ip_type == 'fixed':
- is_public_ip = False
- elif label in public_networks_labels:
- # Try label next
- is_public_ip = True
+
+ # Openstack Icehouse sets 'OS-EXT-IPS:type' to 'floating' for
+ # public and 'fixed' for private
+ explicit_ip_type = value.get('OS-EXT-IPS:type', None)
+
+ if label in public_networks_labels:
+ is_public_ip = True
+ elif explicit_ip_type == 'floating':
+ is_public_ip = True
+ elif explicit_ip_type == 'fixed':
+ is_public_ip = False
if is_public_ip:
public_ips.append(ip)
http://git-wip-us.apache.org/repos/asf/libcloud/blob/6bb66097/libcloud/test/compute/fixtures/openstack_v1.1/_servers_detail.json
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/openstack_v1.1/_servers_detail.json b/libcloud/test/compute/fixtures/openstack_v1.1/_servers_detail.json
index 4c31b27..cddb138 100644
--- a/libcloud/test/compute/fixtures/openstack_v1.1/_servers_detail.json
+++ b/libcloud/test/compute/fixtures/openstack_v1.1/_servers_detail.json
@@ -58,6 +58,28 @@
"addr": "10.3.3.3",
"version": 4
}
+ ],
+ "pubnet": [
+ {
+ "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:79:90:aa",
+ "OS-EXT-IPS:type": "fixed",
+ "addr": "1.1.1.1",
+ "version": 4
+ },
+ {
+ "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:79:90:aa",
+ "OS-EXT-IPS:type": "floating",
+ "addr": "2.2.2.2",
+ "version": 4
+ }
+ ],
+ "privnet": [
+ {
+ "OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:79:90:aa",
+ "OS-EXT-IPS:type": "floating",
+ "addr": "172.16.1.1",
+ "version": 4
+ }
]
},
"tenant_id": "rs-reach-project",
http://git-wip-us.apache.org/repos/asf/libcloud/blob/6bb66097/libcloud/test/compute/test_openstack.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_openstack.py b/libcloud/test/compute/test_openstack.py
index ee2469d..f5941b0 100644
--- a/libcloud/test/compute/test_openstack.py
+++ b/libcloud/test/compute/test_openstack.py
@@ -758,8 +758,11 @@ class OpenStack_1_1_Tests(unittest.TestCase, TestCaseMixin):
self.assertTrue('12.16.18.28' in node.public_ips)
self.assertTrue('50.57.94.35' in node.public_ips)
- # floating ip
- self.assertTrue('192.168.3.3' in node.public_ips)
+ # fixed public ip
+ self.assertTrue('1.1.1.1' in node.public_ips)
+
+ # floating public ip
+ self.assertTrue('2.2.2.2' in node.public_ips)
# test public IPv6
self.assertTrue(
@@ -768,9 +771,13 @@ class OpenStack_1_1_Tests(unittest.TestCase, TestCaseMixin):
# test private IPv4
self.assertTrue('10.182.64.34' in node.private_ips)
- # floating ip
+ # fixed private ip
self.assertTrue('10.3.3.3' in node.private_ips)
+ # floating private ip
+ self.assertTrue('192.168.3.3' in node.private_ips)
+ self.assertTrue('172.16.1.1' in node.private_ips)
+
# test private IPv6
self.assertTrue(
'fec0:4801:7808:52:16:3eff:fe60:187d' in node.private_ips)