From ee381e8efa45d8de93ff4c6a1301bf7a21a8ac54 Mon Sep 17 00:00:00 2001 From: Scott Baker Date: Tue, 9 Sep 2014 14:54:48 -0700 Subject: [PATCH] return public IP for slivers with dedicated IP addresses --- planetstack/core/views/legacyapi.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/planetstack/core/views/legacyapi.py b/planetstack/core/views/legacyapi.py index fa6ffb8..d7d77e4 100644 --- a/planetstack/core/views/legacyapi.py +++ b/planetstack/core/views/legacyapi.py @@ -158,8 +158,19 @@ def GetInterfaces(slicename, node_ids): node_id = ps_id_to_pl_id(ps_sliver.node_id) if node_id in node_ids: ps_node = ps_sliver.node + + ip = socket.gethostbyname(ps_node.name) + + # search for a dedicated public IP address + for networkSliver in ps_sliver.networksliver_set.all(): + if (not networkSliver.ip): + continue + template = networkSliver.network.template + if (template.visibility=="public") and (template.translation=="none"): + ip=networkSliver.ip + interface = {"node_id": node_id, - "ip": socket.gethostbyname(ps_node.name), + "ip": ip, "broadcast": None, "mac": "11:22:33:44:55:66", "bwlimit": None, -- 2.47.0