My last post was from a new email address (my Company is changing names)<br>and hasn&#39;t made it to the list yet.  I have included it below and I have an update <br>on the intermittent failure of add_nodes.<br><br>In the method &#39;add_nodes&#39; of the class &#39;Cluster&#39;, the call to the method <br>
get_node_alias() at line 801 can sometimes return None for the node,<br>as doing a conditional break in pdb (b cluster:802 ,node==None) will<br>show.  Calling self.get_node_by_alias(alias) again results in getting<br>the valid node, so we have a timing problem.<br>
<br>My guess (and this is only a guess) is that there is a problem with<br>the logic in &#39;wait_for_cluster&#39;.  The guess is simply that one of the <br>waits in that method is not waiting for the entire new size of cluster<br>
correctly, so that this timing problem would only manifest during an<br>add_node after an initial cluster spin.  In any event, I will let the experts<br>take it from here.<br><br>BTW, I do not have a good handle on the failure rates, but they look to<br>
be below 10%<br><br><br>Regards,<br><br>Don<br><br><br><br>HI,<br><br>Two issues here, as reported earlier.  On the first one, running with new logging<br>turned on, I see an intermittent failure of &#39;starcluster addnode &lt;clustername&gt;&#39;.<br>
Error trace from log file below.<br>
<br>Second, on ELB adding too many nodes when adding more than one node<br>per iteration.  The code at  StarCluster/starcluster/<div id=":13k">plugins/sge/__init__.py<br>at line 637 reads:<br><br>        if need_to_add &gt; 0:<br>
            need_to_add = min(self.add_nodes_per_iteration, need_to_add)<br>
<br>The fix could be as simple as:<br><br>        if need_to_add &gt; 0:<br>            head_room = self.max_nodes - self.stat.hosts<br>            need_to_add = min(self.add_nodes_per_iteration, need_to_add, head_room)<br>

<br>depending upon what you know about self.max_node and self.stat.hosts.<br><br>Regards,<br><br>Don<br><br>PID: 12630 cluster.py:686 - DEBUG - returning self._nodes = [&lt;Node: master (i-13d0707d)&gt;, &lt;Node: node001 (i-11d0\<br>

707f)&gt;, &lt;Node: node002 (i-efd07081)&gt;, &lt;Node: node003 (i-edd07083)&gt;]<br>PID: 12630 cluster.py:670 - DEBUG - existing nodes: {u&#39;i-13d0707d&#39;: &lt;Node: master (i-13d0707d)&gt;, u&#39;i-11d0707f&#39;: \<br>

&lt;Node: node001 (i-11d0707f)&gt;, u&#39;i-efd07081&#39;: &lt;Node: node002 (i-efd07081)&gt;, u&#39;i-edd07083&#39;: &lt;Node: node003 (i-edd0\<br>7083)&gt;}<br>PID: 12630 cluster.py:673 - DEBUG - updating existing node i-13d0707d in self._nodes<br>

PID: 12630 cluster.py:673 - DEBUG - updating existing node i-11d0707f in self._nodes<br>PID: 12630 cluster.py:673 - DEBUG - updating existing node i-efd07081 in self._nodes<br>PID: 12630 cluster.py:673 - DEBUG - updating existing node i-edd07083 in self._nodes<br>

PID: 12630 cluster.py:686 - DEBUG - returning self._nodes = [&lt;Node: master (i-13d0707d)&gt;, &lt;Node: node001 (i-11d0\<br>707f)&gt;, &lt;Node: node002 (i-efd07081)&gt;, &lt;Node: node003 (i-edd07083)&gt;]<br>PID: 12630 clustersetup.py:96 - INFO - Configuring hostnames...<br>

PID: 12630 cli.py:182 - DEBUG - Traceback (most recent call last):<br>  File &quot;build/bdist.linux-i686/egg/starcluster/cli.py&quot;, line 160, in main<br>    sc.execute(args)<br>  File &quot;build/bdist.linux-i686/egg/starcluster/commands/addnode.py&quot;, line 37, in execute<br>

    self.cm.add_node(tag, aliases)<br>  File &quot;build/bdist.linux-i686/egg/starcluster/cluster.py&quot;, line 119, in add_node<br>    cl.add_node(alias)<br>  File &quot;build/bdist.linux-i686/egg/starcluster/cluster.py&quot;, line 770, in add_node<br>

    self.add_nodes(1, aliases=aliases)<br>  File &quot;build/bdist.linux-i686/egg/starcluster/cluster.py&quot;, line 805, in add_nodes<br>    self.volumes)<br>  File &quot;build/bdist.linux-i686/egg/starcluster/clustersetup.py&quot;, line 510, in on_add_node<br>

    self._setup_hostnames(nodes=[node])<br>  File &quot;build/bdist.linux-i686/egg/starcluster/clustersetup.py&quot;, line 98, in _setup_hostnames<br>    self.pool.simple_job(node.set_hostname, (), jobid=node.alias)<br>AttributeError: &#39;NoneType&#39; object has no attribute &#39;set_hostname&#39;<br>

<br>PID: 12630 cli.py:129 - ERROR - Oops! Looks like you&#39;ve found a bug in StarCluster<br>PID: 12630 cli.py:130 - ERROR - Debug file written to: /tmp/starcluster-debug-staruser.log<br>PID: 12630 cli.py:131 - ERROR - Look for lines starting with PID: 12630<br>

PID: 12630 cli.py:132 - ERROR - Please submit this file, minus any private information,<br>PID: 12630 cli.py:133 - ERROR - to <a href="mailto:starcluster@mit.edu" target="_blank">starcluster@mit.edu</a><br>PID: 12630 ssh.py:536 - DEBUG - __del__ called<br>

PID: 12630 ssh.py:536 - DEBUG - __del__ called<br></div><br>