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
Fix bug strict host checking
[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
fce5e6d
..
232a9df
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,10
@@
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. "
+ "Must not be modified by the user unless hostname is 'localhost'",
+ flags = Flags.Design)
+
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
+211,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)
@@
-361,6
+367,15
@@
class LinuxNode(ResourceManager):
self.mkdir(paths)
self.mkdir(paths)
+ # Get Public IP address
+ if not self.get("ip"):
+ 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):
@@
-538,7
+553,8
@@
class LinuxNode(ResourceManager):
stdout = 'stdout',
stderr = 'stderr',
sudo = False,
stdout = 'stdout',
stderr = 'stderr',
sudo = False,
- tty = False):
+ tty = False,
+ strict_host_checking = False):
self.debug("Running command '%s'" % command)
self.debug("Running command '%s'" % command)
@@
-569,7
+585,8
@@
class LinuxNode(ResourceManager):
agent = True,
identity = self.get("identity"),
server_key = self.get("serverKey"),
agent = True,
identity = self.get("identity"),
server_key = self.get("serverKey"),
- tty = tty
+ tty = tty,
+ strict_host_checking = strict_host_checking
)
return (out, err), proc
)
return (out, err), proc
@@
-588,7
+605,8
@@
class LinuxNode(ResourceManager):
gw = self.get("gateway"),
agent = True,
identity = self.get("identity"),
gw = self.get("gateway"),
agent = True,
identity = self.get("identity"),
- server_key = self.get("serverKey")
+ server_key = self.get("serverKey"),
+ strict_host_checking = False
)
return pidtuple
)
return pidtuple
@@
-607,7
+625,8
@@
class LinuxNode(ResourceManager):
gw = self.get("gateway"),
agent = True,
identity = self.get("identity"),
gw = self.get("gateway"),
agent = True,
identity = self.get("identity"),
- server_key = self.get("serverKey")
+ server_key = self.get("serverKey"),
+ strict_host_checking = False
)
return status
)
return status
@@
-632,7
+651,8
@@
class LinuxNode(ResourceManager):
agent = True,
sudo = sudo,
identity = self.get("identity"),
agent = True,
sudo = sudo,
identity = self.get("identity"),
- server_key = self.get("serverKey")
+ server_key = self.get("serverKey"),
+ strict_host_checking = False
)
return (out, err), proc
)
return (out, err), proc