diff --git a/nodepool/nodedb.py b/nodepool/nodedb.py index b691530ad..a2a2d8c48 100644 --- a/nodepool/nodedb.py +++ b/nodepool/nodedb.py @@ -115,10 +115,12 @@ class SnapshotImage(object): class Node(object): - def __init__(self, provider_name, image_name, hostname=None, - external_id=None, ip=None, state=BUILDING): + def __init__(self, provider_name, image_name, target_name, + hostname=None, external_id=None, ip=None, + state=BUILDING): self.provider_name = provider_name self.image_name = image_name + self.target_name = target_name self.external_id = external_id self.ip = ip self.hostname = hostname diff --git a/nodepool/nodepool.py b/nodepool/nodepool.py index 830cf8732..2ec5caec5 100644 --- a/nodepool/nodepool.py +++ b/nodepool/nodepool.py @@ -112,6 +112,7 @@ class NodeUpdateListener(threading.Thread): self.log.debug("Unable to find node with nodename: %s" % nodename) return + self.log.info("Setting node id: %s to USED" % node.id) node.state = nodedb.USED self.nodepool.updateStats(node.provider_name) @@ -627,7 +628,7 @@ class NodePool(threading.Thread): def launchNode(self, provider, image, target): provider = self.config.providers[provider.name] image = provider.images[image.name] - node = self.db.createNode(provider.name, image.name) + node = self.db.createNode(provider.name, image.name, target.name) t = NodeLauncher(self, provider, image, target, node.id) t.start() diff --git a/nodepool/nodeutils.py b/nodepool/nodeutils.py index 345e1d80f..a1cd01131 100644 --- a/nodepool/nodeutils.py +++ b/nodepool/nodeutils.py @@ -156,7 +156,7 @@ def ssh_connect(ip, username, connect_kwargs={}, timeout=60): client = SSHClient(ip, username, **connect_kwargs) break except socket.error, e: - if e[0] != 111: + if e[0] not in [111, 113]: log.exception('Exception while testing ssh access:') out = client.ssh("test ssh access", "echo access okay")