X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Fresources%2Flinux%2Fnode.py;h=047dfe96d52369667521f812d18996703e6af9bf;hb=dceafc553de152296b99e8c2f4b3fef1321bd7ef;hp=fce5e6dd360bb500218f48eabc8a2629823fd3a2;hpb=d5b781271af50ba526332809bc632fe17ef6d5e5;p=nepi.git diff --git a/src/nepi/resources/linux/node.py b/src/nepi/resources/linux/node.py index fce5e6dd..047dfe96 100644 --- a/src/nepi/resources/linux/node.py +++ b/src/nepi/resources/linux/node.py @@ -28,6 +28,7 @@ import collections import os import random import re +import socket import tempfile import time import threading @@ -194,6 +195,9 @@ class LinuxNode(ResourceManager): gateway = Attribute("gateway", "Hostname of the gateway machine", flags = Flags.Design) + ip = Attribute("ip", "Linux host public IP address", + flags = Flags.NoWrite) + cls._register_attribute(hostname) cls._register_attribute(username) cls._register_attribute(port) @@ -206,6 +210,7 @@ class LinuxNode(ResourceManager): cls._register_attribute(tear_down) cls._register_attribute(gateway_user) cls._register_attribute(gateway) + cls._register_attribute(ip) def __init__(self, ec, guid): super(LinuxNode, self).__init__(ec, guid) @@ -361,6 +366,14 @@ class LinuxNode(ResourceManager): self.mkdir(paths) + # Get Public IP address + if self.localhost: + ip = socket.gethostbyname(socket.gethostname()) + else: + ip = socket.gethostbyname(self.get("hostname")) + + self.set("ip", ip) + super(LinuxNode, self).do_provision() def do_deploy(self):