git://git.onelab.eu
/
nepi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixing GRE tunnel between localhost and remote host
[nepi.git]
/
src
/
nepi
/
resources
/
linux
/
node.py
diff --git
a/src/nepi/resources/linux/node.py
b/src/nepi/resources/linux/node.py
index
01a1d40
..
047dfe9
100644
(file)
--- 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 os
import random
import re
+import socket
import tempfile
import time
import threading
import tempfile
import time
import threading
@@
-194,6
+195,9
@@
class LinuxNode(ResourceManager):
gateway = Attribute("gateway", "Hostname of the gateway machine",
flags = Flags.Design)
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)
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(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)
def __init__(self, ec, guid):
super(LinuxNode, self).__init__(ec, guid)
@@
-278,8
+283,7
@@
class LinuxNode(ResourceManager):
if self._os:
return self._os
if self._os:
return self._os
- if self.get("hostname") not in ["localhost", "127.0.0.1"] and \
- not self.get("username"):
+ if not self.localhost and not self.get("username"):
msg = "Can't resolve OS, insufficient data "
self.error(msg)
raise RuntimeError, msg
msg = "Can't resolve OS, insufficient data "
self.error(msg)
raise RuntimeError, msg
@@
-333,7
+337,7
@@
class LinuxNode(ResourceManager):
@property
def localhost(self):
@property
def localhost(self):
- return self.get("hostname") in ['localhost', '127.0.0.
7
', '::1']
+ return self.get("hostname") in ['localhost', '127.0.0.
1
', '::1']
def do_provision(self):
# check if host is alive
def do_provision(self):
# check if host is alive
@@
-362,6
+366,14
@@
class LinuxNode(ResourceManager):
self.mkdir(paths)
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):
super(LinuxNode, self).do_provision()
def do_deploy(self):
@@
-404,8
+416,8
@@
class LinuxNode(ResourceManager):
def clean_processes(self):
self.info("Cleaning up processes")
def clean_processes(self):
self.info("Cleaning up processes")
-
- if self.
get("hostname") in ["localhost", "127.0.0.2"]
:
+
+ if self.
localhost
:
return
if self.get("username") != 'root':
return
if self.get("username") != 'root':