Page MenuHomeDevCentral

D3004.diff
No OneTemporary

D3004.diff

diff --git a/_modules/node.py b/_modules/node.py
--- a/_modules/node.py
+++ b/_modules/node.py
@@ -235,6 +235,8 @@
}
private_network = network.copy()
+ is_private_network_stable = True
+
interfaces = _get_property("network:interfaces", __grains__["id"], {})
for interface_name, interface in interfaces.items():
if "ipv4" not in interface:
@@ -256,9 +258,25 @@
pass
if network["ipv4_address"] == "":
- return private_network
+ main_network = private_network
+ else:
+ main_network = network
+
+ if private_network["ipv4_address"] == "":
+ is_private_network_stable = False
+ tunnels = resolve_gre_tunnels()
+ if tunnels:
+ tunnel = tunnels[0]
+ private_network = {
+ "ipv4_address": tunnel["src"],
+ "ipv4_gateway": tunnel["gateway"],
+ }
- return network
+ return main_network | {
+ "private_ipv4_address": private_network["ipv4_address"],
+ "private_ipv4_gateway": private_network["ipv4_gateway"],
+ "is_private_network_stable": is_private_network_stable,
+ }
def _resolve_gre_tunnels_for_router(network, netmask):
@@ -307,6 +325,7 @@
"src": tunnel["node"]["addr"],
"dst": tunnel["router"]["addr"],
"netmask": network_args["netmask"],
+ "gateway": network_args["default_gateway"],
"icann_src": get("network")["canonical_public_ipv4"],
"icann_dst": get("network", network_args["router"])[
"canonical_public_ipv4"

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 7, 17:03 (21 h, 44 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2180761
Default Alt Text
D3004.diff (1 KB)

Event Timeline