gateway = Attribute("gateway", "Hostname of the gateway machine",
flags = Flags.Design)
- ip = Attribute("ip", "Linux host public IP address",
- flags = Flags.NoWrite)
+ ip = Attribute("ip", "Linux host public IP address. "
+ "Must not be modified by the user unless hostname is 'localhost'",
+ flags = Flags.Design)
cls._register_attribute(hostname)
cls._register_attribute(username)
self.mkdir(paths)
# Get Public IP address
- if self.localhost:
- ip = socket.gethostbyname(socket.gethostname())
- else:
- ip = socket.gethostbyname(self.get("hostname"))
+ if not self.get("ip"):
+ if self.localhost:
+ ip = socket.gethostbyname(socket.gethostname())
+ else:
+ ip = socket.gethostbyname(self.get("hostname"))
- self.set("ip", ip)
+ self.set("ip", ip)
super(LinuxNode, self).do_provision()
from nepi.util.timefuncs import tnow, tdiffsec
import os
-import socket
import time
PYTHON_VSYS_VERSION = "1.0"
if self.is_rm_instance(PlanetlabTap.get_rtype()):
self.set("pi", True)
- remote_ip = socket.gethostbyname(
- remote_endpoint.node.get("ip"))
+ remote_ip = remote_endpoint.node.get("ip")
local_port_file = os.path.join(connection_run_home,
"local_port")
def _gre_connect_command(self, remote_endpoint, connection_run_home):
# Set the remote endpoint
self.set("pointopoint", remote_endpoint.get("ip4"))
- self.set("greRemote", socket.gethostbyname(
- remote_endpoint.node.get("ip")))
+ self.set("greRemote", remote_endpoint.node.get("ip"))
# Generate GRE connect command
command = ["("]
command.append("sudo -S ip link add %s type gre remote %s local %s ttl 64 csum key %s" % (
self.get("deviceName"),
self.get("greRemote"),
- socket.gethostbyname(self.node.get("hostname")),
+ self.node.get("ip"),
self.get("greKey")
))
command.append("sudo -S ip addr add %s/%d peer %s/%d dev %s" % (
from nepi.util.timefuncs import tnow, tdiffsec
import os
-import socket
import time
PYTHON_VSYS_VERSION = "1.0"
# Set the remote endpoint
self.set("pointopoint", remote_endpoint.get("ip4"))
- remote_ip = socket.gethostbyname(
- remote_endpoint.node.get("ip"))
+ print "REMOTE IP", remote_ip
+ remote_ip = remote_endpoint.node.get("ip")
local_port_file = os.path.join(connection_run_home,
"local_port")
def _gre_connect_command(self, remote_endpoint, connection_run_home):
# Set the remote endpoint
self.set("pointopoint", remote_endpoint.get("ip4"))
- self.set("greRemote", socket.gethostbyname(
- remote_endpoint.node.get("ip")))
+ self.set("greRemote", remote_endpoint.node.get("ip"))
# Generate GRE connect command