Martin,<br><br>I have added your problem description to our internal ticket system so we don&#39;t lose this information. <br><br>We definitely need a better way to handle server names, especially on multi-homed systems.<br>
<br>Thanks<br><br>Ken<br><br><div class="gmail_quote">On Fri, Jun 1, 2012 at 5:20 PM, Martin Siegert <span dir="ltr">&lt;<a href="mailto:siegert@sfu.ca" target="_blank">siegert@sfu.ca</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
moving this to the dev list ...<br>
<br>
On Tue, May 29, 2012 at 01:36:15PM -0700, Martin Siegert wrote:<br>
&gt; Hi David,<br>
&gt;<br>
&gt; I will definitely add --with-tcp-retry-limit=5 to my configure options,<br>
&gt; since we did run into exactly that situation. However, the current<br>
&gt; situation is due to an ip mismatch between private and public ip address<br>
&gt; of the torque server: svr_connect.c, line 172<br>
&gt;<br>
&gt;   if ((hostaddr == pbs_server_addr) &amp;&amp; (port == pbs_server_port_dis))<br>
&gt;     {<br>
&gt;     return(PBS_LOCAL_CONNECTION); /* special value for local */<br>
&gt;     }<br>
&gt;<br>
&gt; In our case: hostaddr = 172.18.1.0 and pbs_server_addr = 206.12.24.2.<br>
&gt; The former ip address is the (correct) ip address on the internal<br>
&gt; cluster network, the latter ip address is the public ip address and<br>
&gt; should not be used by torque anywhere.<br>
&gt;<br>
&gt; We have in /etc/hosts<br>
&gt;<br>
&gt; 172.18.1.0 b0<br>
&gt;<br>
&gt; and then set the server name in 4 (!!) different places:<br>
&gt; 1) in qmgr we have<br>
&gt; set server server_name = b0<br>
&gt; 2) /var/spool/torque/server_name contains b0<br>
&gt; 3) /var/spool/torque/torque.cfg contains<br>
&gt; SERVERHOST b0<br>
&gt; 4) we configure with<br>
&gt; --with-default-server=b0<br>
&gt;<br>
&gt; I always thought that it should be sufficient to set this once.<br>
&gt; Obviously I am wrong ... I am missing at least a fifth spot where<br>
&gt; I need to set this: how do I get torque server to set pbs_server_addr<br>
&gt; in svr_connect to 172.18.1.0?<br>
&gt;<br>
&gt; For now we used the following workaround:<br>
&gt; 1) in /etc/hosts set<br>
&gt;<br>
&gt; 172.18.1.0 <a href="http://hostname.domain.ca" target="_blank">hostname.domain.ca</a> hostname b0<br>
&gt;<br>
&gt; 2) restart torque server and wait a few seconds until qstat, etc.<br>
&gt; responds.<br>
&gt;<br>
&gt; 3) change /etc/hosts back to<br>
&gt; 172.18.1.0 b0<br>
&gt;<br>
&gt; This does &quot;solve&quot; the problem for now.<br>
&gt; I am still looking for a more permanent solution.<br>
<br>
I did miss a fifth (and actually 6th) way of setting the server name:<br>
<br>
5) start the server with the -H b0 commandline option.<br>
<br>
As it turns out this is the only way. Methods 1-4 have no effect.<br>
<br>
At this point I am wondering why we need 5 ways of setting the server<br>
name. As a first step can somebody tell me what each of the 5 settings<br>
accomplish?<br>
<br>
This is my take:<br>
<br>
1) in qmgr:<br>
<br>
set server server_name = b0<br>
<br>
As far as I can tell this has no effect. Can this be eliminated?<br>
<br>
2) /var/spool/torque/server_name<br>
<br>
This is essential: used by the clients (qsub, qstat, etc.) and also by<br>
the mom (if no $pbsserver is specified in mom_priv/config). Not used<br>
by the torque server.<br>
<br>
3) torque.cfg<br>
SERVERHOST b0<br>
<br>
Read by qsub only. The man page says:<br>
SERVERHOST specifies the value for the PBS_SERVER environment variable<br>
<br>
I find this confusing: why would you want to set that environment variable<br>
to something different than what is read from the server_name file?<br>
In other words: what is the use case for having SERVERHOST set to something<br>
different than what is in the server_name file?<br>
<br>
Is it safe to say that this is not needed when the server_name file is in<br>
place?<br>
<br>
4) configure option --with-default-server=b0<br>
Does this have any effect?<br>
<br>
5) pbs_server -H b0 commandline option<br>
essential. Determines the ip address to be used for the server.<br>
If not used, gethostname is used to determine the ipaddress.<br>
<br>
6) $pbsserver setting in mom_priv/config<br>
Used by the mom for connecting to server; not needed when<br>
server_name file is in place.<br>
<br>
Is my assessment correct that only (2) and (5) are really needed?<br>
Furthermore, (1) and (4) and possibly (3) do not serve any purpose?<br>
<br>
Cheers,<br>
Martin<br>
_______________________________________________<br>
torquedev mailing list<br>
<a href="mailto:torquedev@supercluster.org">torquedev@supercluster.org</a><br>
<a href="http://www.supercluster.org/mailman/listinfo/torquedev" target="_blank">http://www.supercluster.org/mailman/listinfo/torquedev</a><br>
</blockquote></div><br>