Changing reschedule_delay internals
[nepi.git] / src / nepi / resources / linux / node.py
index 7873b97..96c9acd 100644 (file)
@@ -19,7 +19,7 @@
 
 from nepi.execution.attribute import Attribute, Flags, Types
 from nepi.execution.resource import ResourceManager, clsinit_copy, \
-        ResourceState, reschedule_delay
+        ResourceState
 from nepi.resources.linux import rpmfuncs, debfuncs 
 from nepi.util import sshfuncs, execfuncs
 from nepi.util.sshfuncs import ProcStatus
@@ -369,14 +369,16 @@ class LinuxNode(ResourceManager):
 
         # Get Public IP address if possible
         if not self.get("ip"):
+            ip = None
+
             if self.localhost:
+                ip = socket.gethostbyname(socket.gethostname())
+            else:
                 try:
-                   ip = socket.gethostbyname(socket.gethostname())
+                    ip = socket.gethostbyname(self.get("hostname"))
                 except:
                     msg = "DNS can not resolve hostname %s" % self.get("hostname") 
                     self.debug(msg)
-            else:
-                ip = socket.gethostbyname(self.get("hostname"))
 
             self.set("ip", ip)
 
@@ -394,7 +396,7 @@ class LinuxNode(ResourceManager):
         ifaces = self.get_connected(LinuxInterface.get_rtype())
         for iface in ifaces:
             if iface.state < ResourceState.READY:
-                self.ec.schedule(reschedule_delay, self.deploy)
+                self.ec.schedule(self.reschedule_delay, self.deploy)
                 return 
 
         super(LinuxNode, self).do_deploy()
@@ -405,7 +407,7 @@ class LinuxNode(ResourceManager):
             # Node needs to wait until all associated RMs are released
             # before it can be released
             if rm.state != ResourceState.RELEASED:
-                self.ec.schedule(reschedule_delay, self.release)
+                self.ec.schedule(self.reschedule_delay, self.release)
                 return 
 
         tear_down = self.get("tearDown")