<p>Ill be home about 830 after class. </p>
<div class="gmail_quote">On Aug 15, 2011 1:55 PM,  &lt;<a href="mailto:ipython-user-request@scipy.org">ipython-user-request@scipy.org</a>&gt; wrote:<br type="attribution">&gt; Send IPython-User mailing list submissions to<br>
&gt;         <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; <br>&gt; To subscribe or unsubscribe via the World Wide Web, visit<br>&gt;         <a href="http://mail.scipy.org/mailman/listinfo/ipython-user">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt; or, via email, send a message with subject or body &#39;help&#39; to<br>&gt;         <a href="mailto:ipython-user-request@scipy.org">ipython-user-request@scipy.org</a><br>&gt; <br>&gt; You can reach the person managing the list at<br>
&gt;         <a href="mailto:ipython-user-owner@scipy.org">ipython-user-owner@scipy.org</a><br>&gt; <br>&gt; When replying, please edit your Subject line so it is more specific<br>&gt; than &quot;Re: Contents of IPython-User digest...&quot;<br>
&gt; <br>&gt; <br>&gt; Today&#39;s Topics:<br>&gt; <br>&gt;    1. Disabling auto-docstring in qtconsole (Ariel Rokem)<br>&gt;    2. Re: Disabling auto-docstring in qtconsole (Thomas Kluyver)<br>&gt;    3. Re: Disabling auto-docstring in qtconsole (MinRK)<br>
&gt;    4. Running Embedded IP (Darren Govoni)<br>&gt;    5. Re: Running Embedded IP (Thomas Kluyver)<br>&gt;    6. IPython wiki (Thomas Kluyver)<br>&gt;    7. Re: Running Embedded IP (Darren Govoni)<br>&gt;    8. Pushing Code to Engines? (Darren Govoni)<br>
&gt;    9. Re: Pushing Code to Engines? (MinRK)<br>&gt;   10. Re: ipcluster in ssh mode - (MinRK)<br>&gt; <br>&gt; <br>&gt; ----------------------------------------------------------------------<br>&gt; <br>&gt; Message: 1<br>
&gt; Date: Mon, 15 Aug 2011 10:10:42 -0700<br>&gt; From: Ariel Rokem &lt;<a href="mailto:arokem@gmail.com">arokem@gmail.com</a>&gt;<br>&gt; Subject: [IPython-User] Disabling auto-docstring in qtconsole<br>&gt; To: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>
&gt; Message-ID:<br>&gt;         &lt;<a href="mailto:CA%2BX4w0zW1OEdfhPbptB-5Mtfi3R6bQ1V5qqXm%2BVZabpNz5KBkQ@mail.gmail.com">CA+X4w0zW1OEdfhPbptB-5Mtfi3R6bQ1V5qqXm+VZabpNz5KBkQ@mail.gmail.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=UTF-8<br>
&gt; <br>&gt; Hi everyone,<br>&gt; <br>&gt; Is there any way to configure the qtconsole such that it *does not*<br>&gt; show the docstring of an object when I type a left parentheses after<br>&gt; it?<br>&gt; <br>&gt; Thanks,<br>
&gt; <br>&gt; Ariel<br>&gt; <br>&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 2<br>&gt; Date: Mon, 15 Aug 2011 18:22:02 +0100<br>&gt; From: Thomas Kluyver &lt;<a href="mailto:takowl@gmail.com">takowl@gmail.com</a>&gt;<br>
&gt; Subject: Re: [IPython-User] Disabling auto-docstring in qtconsole<br>&gt; To: Ariel Rokem &lt;<a href="mailto:arokem@gmail.com">arokem@gmail.com</a>&gt;<br>&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>
&gt; Message-ID:<br>&gt;         &lt;<a href="mailto:CAOvn4qjHd7xM_Fo_R-TD%2BEjOJ-03X7zX4ANr1j3eV_64JNgCxQ@mail.gmail.com">CAOvn4qjHd7xM_Fo_R-TD+EjOJ-03X7zX4ANr1j3eV_64JNgCxQ@mail.gmail.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt; <br>&gt; On 15 August 2011 18:10, Ariel Rokem &lt;<a href="mailto:arokem@gmail.com">arokem@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt;&gt; Is there any way to configure the qtconsole such that it *does not*<br>&gt;&gt; show the docstring of an object when I type a left parentheses after<br>
&gt;&gt; it?<br>&gt; <br>&gt; <br>&gt; Not yet. There&#39;s an issue open for it:<br>&gt; <br>&gt; <a href="https://github.com/ipython/ipython/issues/694">https://github.com/ipython/ipython/issues/694</a><br>&gt; <br>&gt; Thanks,<br>
&gt; Thomas<br>&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/c9eebd42/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/c9eebd42/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 3<br>&gt; Date: Mon, 15 Aug 2011 10:22:22 -0700<br>&gt; From: MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt;<br>&gt; Subject: Re: [IPython-User] Disabling auto-docstring in qtconsole<br>
&gt; To: Ariel Rokem &lt;<a href="mailto:arokem@gmail.com">arokem@gmail.com</a>&gt;<br>&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID:<br>&gt;         &lt;CAHNn8BVUg8p79S-TcgDPH-FVPuw=<a href="mailto:Qfcfk0cdor%2B2a094tZV1MQ@mail.gmail.com">Qfcfk0cdor+2a094tZV1MQ@mail.gmail.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>&gt; <br>&gt; Not configurable yet, but on the todo list:<br>&gt; <br>&gt; <a href="https://github.com/ipython/ipython/issues/694">https://github.com/ipython/ipython/issues/694</a><br>
&gt; <br>&gt; -MinRK<br>&gt; <br>&gt; On Mon, Aug 15, 2011 at 10:10, Ariel Rokem &lt;<a href="mailto:arokem@gmail.com">arokem@gmail.com</a>&gt; wrote:<br>&gt; <br>&gt;&gt; Hi everyone,<br>&gt;&gt;<br>&gt;&gt; Is there any way to configure the qtconsole such that it *does not*<br>
&gt;&gt; show the docstring of an object when I type a left parentheses after<br>&gt;&gt; it?<br>&gt;&gt;<br>&gt;&gt; Thanks,<br>&gt;&gt;<br>&gt;&gt; Ariel<br>&gt;&gt; _______________________________________________<br>&gt;&gt; IPython-User mailing list<br>
&gt;&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>&gt;&gt;<br>
&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/e3fb35fd/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/e3fb35fd/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 4<br>&gt; Date: Mon, 15 Aug 2011 13:59:15 -0400<br>&gt; From: Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;<br>&gt; Subject: [IPython-User] Running Embedded IP<br>
&gt; To: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID: &lt;<a href="mailto:4E495E73.9010005@ontrenet.com">4E495E73.9010005@ontrenet.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
&gt; <br>&gt; Hi,<br>&gt;    I have an embedded IPython shell in my python app.<br>&gt; How can I submit to it some commands, python code to run (as a string)?<br>&gt; <br>&gt; ip = InteractiveShellEmbed()<br>&gt; <br>&gt; I viewed the online docs for it, but it didn&#39;t show how to do this <br>
&gt; programmatically.<br>&gt; <br>&gt; thanks,<br>&gt; Darren<br>&gt; <br>&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 5<br>&gt; Date: Mon, 15 Aug 2011 19:11:41 +0100<br>&gt; From: Thomas Kluyver &lt;<a href="mailto:takowl@gmail.com">takowl@gmail.com</a>&gt;<br>
&gt; Subject: Re: [IPython-User] Running Embedded IP<br>&gt; To: Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;<br>&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>
&gt; Message-ID:<br>&gt;         &lt;<a href="mailto:CAOvn4qhUhVeBvrNtFfBGUEvMGrZ3dKueV_yq-o9nN5zZBA2qdw@mail.gmail.com">CAOvn4qhUhVeBvrNtFfBGUEvMGrZ3dKueV_yq-o9nN5zZBA2qdw@mail.gmail.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt; <br>&gt; On 15 August 2011 18:59, Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt; wrote:<br>&gt; <br>&gt;&gt; ip = InteractiveShellEmbed()<br>&gt;&gt;<br>&gt;&gt; I viewed the online docs for it, but it didn&#39;t show how to do this<br>
&gt;&gt; programmatically.<br>&gt;&gt;<br>&gt; <br>&gt; To run pure Python code in the interactive namespaces, &quot;ip.ex(code)&quot; should<br>&gt; work. To run code as if it was entered at the prompt (translating magic<br>
&gt; functions, saving as a history entry, increasing prompt count), use<br>&gt; &quot;ip.run_cell(code)&quot;. In the latter case, code needs to be a string, not a<br>&gt; compiled code object.<br>&gt; <br>&gt; There may also be a way using config to run code as the shell starts up, but<br>
&gt; I&#39;m not sure if that works for embedding.<br>&gt; <br>&gt; Thomas<br>&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/3c11a54a/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/3c11a54a/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 6<br>&gt; Date: Mon, 15 Aug 2011 20:27:29 +0100<br>&gt; From: Thomas Kluyver &lt;<a href="mailto:takowl@gmail.com">takowl@gmail.com</a>&gt;<br>&gt; Subject: [IPython-User] IPython wiki<br>
&gt; To: IPython User list &lt;<a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a>&gt;<br>&gt; Message-ID:<br>&gt;         &lt;CAOvn4qg95Y=<a href="mailto:KYf%2BDHk8-FGNi0uDMRhnUr8xx5%2B3_vvW6d2rzbA@mail.gmail.com">KYf+DHk8-FGNi0uDMRhnUr8xx5+3_vvW6d2rzbA@mail.gmail.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>&gt; <br>&gt; I noticed our wiki was attracting spam, so I&#39;ve enabled some simple<br>&gt; CAPTCHAs, in the form of text questions which should be trivial for Python<br>
&gt; users. These should show up when you create a new page, create an account,<br>&gt; or add links to a page, which I hope balances convenience and protection<br>&gt; nicely.<br>&gt; <br>&gt; Please let me know if this seems to be causing any problems.<br>
&gt; <br>&gt; Thanks,<br>&gt; Thomas<br>&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/94c579c5/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/94c579c5/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 7<br>&gt; Date: Mon, 15 Aug 2011 16:33:30 -0400<br>&gt; From: Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;<br>&gt; Subject: Re: [IPython-User] Running Embedded IP<br>
&gt; To: Thomas Kluyver &lt;<a href="mailto:takowl@gmail.com">takowl@gmail.com</a>&gt;<br>&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID: &lt;<a href="mailto:4E49829A.9060104@ontrenet.com">4E49829A.9060104@ontrenet.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>&gt; <br>&gt; Thank you.<br>&gt; <br>&gt; <br>&gt; On 08/15/2011 02:11 PM, Thomas Kluyver wrote:<br>&gt;&gt; On 15 August 2011 18:59, Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a> <br>
&gt;&gt; &lt;mailto:<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;&gt; wrote:<br>&gt;&gt;<br>&gt;&gt;     ip = InteractiveShellEmbed()<br>&gt;&gt;<br>&gt;&gt;     I viewed the online docs for it, but it didn&#39;t show how to do this<br>
&gt;&gt;     programmatically.<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; To run pure Python code in the interactive namespaces, &quot;ip.ex(code)&quot; <br>&gt;&gt; should work. To run code as if it was entered at the prompt <br>
&gt;&gt; (translating magic functions, saving as a history entry, increasing <br>&gt;&gt; prompt count), use &quot;ip.run_cell(code)&quot;. In the latter case, code needs <br>&gt;&gt; to be a string, not a compiled code object.<br>
&gt;&gt;<br>&gt;&gt; There may also be a way using config to run code as the shell starts <br>&gt;&gt; up, but I&#39;m not sure if that works for embedding.<br>&gt;&gt;<br>&gt;&gt; Thomas<br>&gt; <br>&gt; -------------- next part --------------<br>
&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/8d91366d/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/8d91366d/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 8<br>&gt; Date: Mon, 15 Aug 2011 16:34:51 -0400<br>&gt; From: Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;<br>&gt; Subject: [IPython-User] Pushing Code to Engines?<br>
&gt; To: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID: &lt;<a href="mailto:4E4982EB.9090508@ontrenet.com">4E4982EB.9090508@ontrenet.com</a>&gt;<br>&gt; Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
&gt; <br>&gt; Hi,<br>&gt;    I have a cluster and create a Client() from ip shell.<br>&gt; I define a function in my shell space. Is it possible to have it pushed<br>&gt; to the engines to execute? Or does all the code have to reside<br>
&gt; on the engines already?<br>&gt; <br>&gt; thanks for any tips. I&#39;m reading all the docs, but missing these<br>&gt; particulars.<br>&gt; <br>&gt; Darren<br>&gt; <br>&gt; <br>&gt; ------------------------------<br>&gt; <br>
&gt; Message: 9<br>&gt; Date: Mon, 15 Aug 2011 13:51:29 -0700<br>&gt; From: MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt;<br>&gt; Subject: Re: [IPython-User] Pushing Code to Engines?<br>&gt; To: Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt;<br>
&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID:<br>&gt;         &lt;<a href="mailto:CAHNn8BUpsG6tSNCeHXGhmgUw-dOAEQQ6e0swtYwBeKpDk_6Ttw@mail.gmail.com">CAHNn8BUpsG6tSNCeHXGhmgUw-dOAEQQ6e0swtYwBeKpDk_6Ttw@mail.gmail.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>&gt; <br>&gt; To call a function on args remotely, you just use apply:<br>&gt; <br>&gt; rc = Client()<br>&gt; dview = Client[:]<br>&gt; <br>&gt; def f(a):<br>&gt;     return a*2<br>
&gt; <br>&gt; # call f(5) on every engine:<br>&gt; dview.apply(f, 5)<br>&gt; <br>&gt; # send f to all engines (as &#39;g&#39;, you can give it any name), so you can use<br>&gt; it many times:<br>&gt; dview[&#39;g&#39;] = f<br>
&gt; <br>&gt; # now you can call it with execute:<br>&gt; dview.execute(&#39;b=g(10)&#39;)<br>&gt; <br>&gt; -MinRK<br>&gt; <br>&gt; On Mon, Aug 15, 2011 at 13:34, Darren Govoni &lt;<a href="mailto:darren@ontrenet.com">darren@ontrenet.com</a>&gt; wrote:<br>
&gt; <br>&gt;&gt; Hi,<br>&gt;&gt;   I have a cluster and create a Client() from ip shell.<br>&gt;&gt; I define a function in my shell space. Is it possible to have it pushed<br>&gt;&gt; to the engines to execute? Or does all the code have to reside<br>
&gt;&gt; on the engines already?<br>&gt;&gt;<br>&gt;&gt; thanks for any tips. I&#39;m reading all the docs, but missing these<br>&gt;&gt; particulars.<br>&gt;&gt;<br>&gt;&gt; Darren<br>&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-User mailing list<br>&gt;&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt;&gt;<br>&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/1ec4bf6e/attachment-0001.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/1ec4bf6e/attachment-0001.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; Message: 10<br>&gt; Date: Mon, 15 Aug 2011 13:54:47 -0700<br>&gt; From: MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt;<br>&gt; Subject: Re: [IPython-User] ipcluster in ssh mode -<br>
&gt; To: Manuel Jung &lt;<a href="mailto:mjung@astrophysik.uni-kiel.de">mjung@astrophysik.uni-kiel.de</a>&gt;<br>&gt; Cc: <a href="mailto:ipython-user@scipy.org">ipython-user@scipy.org</a><br>&gt; Message-ID:<br>&gt;         &lt;CAHNn8BWHX-q-3DmNYj=<a href="mailto:5qR65%2By76jK7e%2BPm5vkdfFeGDvPmzhA@mail.gmail.com">5qR65+y76jK7e+Pm5vkdfFeGDvPmzhA@mail.gmail.com</a>&gt;<br>
&gt; Content-Type: text/plain; charset=&quot;utf-8&quot;<br>&gt; <br>&gt; On Fri, Aug 12, 2011 at 03:44, Manuel Jung &lt;<a href="mailto:mjung@astrophysik.uni-kiel.de">mjung@astrophysik.uni-kiel.de</a>&gt;wrote:<br>&gt; <br>
&gt;&gt; Hi,<br>&gt;&gt;<br>&gt;&gt; So i have been browsing around the sources, looking for another solution,<br>&gt;&gt; to make my use case built in ipcluster, because i were feeling stupid for<br>&gt;&gt; writing a script to setup the cluster, if this is, what ipcluster should do<br>
&gt;&gt; for me.<br>&gt;&gt;<br>&gt; <br>&gt; Honestly, there are many situations for which writing a simple bash script<br>&gt; or using screen will always be better than  ipcluster.  Since there are so<br>&gt; many possible configurations and considerations, a general tool will always<br>
&gt; be more complicated than one that caters to a particular environment.  For<br>&gt; instance, you should probably create only one set of tunnels per machine,<br>&gt; rather than per engine, since 16*8 tunnels is *a lot*, and largely pointless<br>
&gt; (it is entirely workload/system dependent which is preferable).  Certainly,<br>&gt; ipcluster should handle your case better, but that doesn&#39;t mean it&#39;s the<br>&gt; ideal tool for you.<br>&gt; <br>&gt; <br>&gt;&gt; So this is my solution:<br>
&gt;&gt;<br>&gt;&gt; Since we are on a totaly restricted network/pc and ports are never to be<br>&gt;&gt; reached (execpt for ssh/22) outside of localhost, it is totally save to<br>&gt;&gt; choose static ports like you suggested in your first post in this thread.<br>
&gt;&gt;<br>&gt;&gt; c.LocalControllerLauncher.controller_args = [&#39;--log-level=20&#39;,<br>&gt;&gt; &#39;--ip=0.0.0.0&#39;, &#39;--location=127.0.0.1&#39;, &#39;--port=10101&#39;,<br>&gt;&gt; &#39;--HubFactory.hb=10102,10112&#39;, &#39;HubFactory.control=10203,10103&#39;,<br>
&gt;&gt; &#39;--HubFactory.mux=10204,10104&#39;, &#39;--HubFactory.task=10205,10105&#39;]<br>&gt;&gt;<br>&gt;&gt; For tunneling from the engines&#39; host, i have implemented an additional<br>&gt;&gt; parameter for the SSHEngineSetLauncher. It allows to run a shell command on<br>
&gt;&gt; the engines&#39; host. In this case it is used to establish all tunnels.<br>&gt;&gt;<br>&gt;&gt; tunnel = [&#39;ssh dwarf20 -N -L10101:<a href="http://127.0.0.1:10101">127.0.0.1:10101</a> -L10102:127.0.0.1:10102-L10112:<br>
&gt;&gt; <a href="http://127.0.0.1:10112">127.0.0.1:10112</a> -L10103:<a href="http://127.0.0.1:10103">127.0.0.1:10103</a> -L10104:127.0.0.1:10104-L10105:<a href="http://127.0.0.1:10105">127.0.0.1:10105</a><br>&gt;&gt; &#39;.split()]<br>
&gt;&gt; c.SSHEngineSetLauncher.engines = {&#39;pluto&#39; : (16, None, tunnel),<br>&gt;&gt;                                                        &#39;merkur&#39; : (4, None,<br>&gt;&gt; tunnel)}<br>&gt;&gt;<br>&gt;&gt; (dwarf20 is the cluster starting client an controller hosting pc, pluto and<br>
&gt;&gt; merkur servers for number crunching, e.g. engines&#39; hosts.)<br>&gt;&gt;<br>&gt;&gt; Let me say at this point, that establishing tunnels for all ports in one<br>&gt;&gt; command isn&#39;t always a good idea, because they share the same tcp<br>
&gt;&gt; connections and bandwidth is restricted on a per connection basis. So maybe<br>&gt;&gt; this may be a bottleneck under high load.<br>&gt;&gt;<br>&gt; <br>&gt; I think it is highly unlikely that putting all the traffic of a single<br>
&gt; engine on one tcp connection would be a bottle neck, because under most<br>&gt; normal usage, there will not be significant traffic on multiple sockets at<br>&gt; the same time.  A case that could bottleneck would be a very large number of<br>
&gt; very short tasks that print a lot to stdout/err.<br>&gt; <br>&gt; <br>&gt;&gt;<br>&gt;&gt; Still this is not enough for getting all connections working. On pluto with<br>&gt;&gt; 16 cores i experienced often less than 16 successfull connected engines. I<br>
&gt;&gt; found, that simultaneous authentications to an sshd are restricted to 10 by<br>&gt;&gt; the MaxStartups parameter (see man sshd_config(5)). So i introduced a  new<br>&gt;&gt; parameter for delaying consecutive ssh connections.<br>
&gt;&gt;<br>&gt;&gt; c.SSHEngineSetLauncher.delay = 0.2<br>&gt;&gt;<br>&gt; <br>&gt; delay is great, I will actually add it to the LocalEngineSetLauncher,<br>&gt; because it should even be useful at that level (SSHEngineSetLauncher will<br>
&gt; inherit it).<br>&gt; <br>&gt; <br>&gt;&gt;<br>&gt;&gt; The complete setup from ipcluster_config.py can be found in the post<br>&gt;&gt; scriptum. I have created a branch on github for this, see<br>&gt;&gt; <a href="https://github.com/gzahl/ipython/tree/sshenvironment">https://github.com/gzahl/ipython/tree/sshenvironment</a><br>
&gt;&gt;<br>&gt;&gt; This works for me at the moment, what do you think about this solution.<br>&gt;&gt;<br>&gt; <br>&gt; Thanks for working this out! I think it should be a good starting point.<br>&gt;  Some things should probably change - We don&#39;t want to define a class<br>
&gt; n*p-times inside another, and reindenting the code so it doesn&#39;t match the<br>&gt; rest of the file is probably not desirable.  It&#39;s possible that a simple<br>&gt; configurable preflight script on the SSHLauncher would be a cleaner<br>
&gt; solution, and provide an avenue for more general customization.<br>&gt; <br>&gt; <br>&gt;&gt; Two last thoughts:<br>&gt;&gt; - It would be nice, if one wouldn&#39;t have to specify the port configuration<br>&gt;&gt; an tunnel command explicit. It would be nice if you could only define the<br>
&gt;&gt; ports and activate tunneling=yes. But i&#39;m not sure how this could be done<br>&gt;&gt; best - yet.<br>&gt;&gt;<br>&gt; <br>&gt; Something like this would definitely be valuable.  Note that with my<br>&gt; enginessh branch, if the Controller was launched with --enginessh=anything,<br>
&gt; then tunneling *will* be enabled by default (if the `ssh` field of the JSON<br>&gt; file is specified, it is used. You can edit it manually after starting the<br>&gt; controller, if you like).<br>&gt; <br>&gt; The problem with just &#39;tunneling=yes&#39; is that it&#39;s extremely variable what<br>
&gt; tunneling will look like. We can support one or two simple cases (like the<br>&gt; one I cover in enginessh).<br>&gt; <br>&gt; <br>&gt;&gt; - I have to define &#39;--profile=ssh&#39; in the program_args for the<br>&gt;&gt; SSHEngineLauncher - shouldn&#39;t this be automaticly choosen, if i&#39;m starting<br>
&gt;&gt; with &quot;ipcluster start --profile=ssh&quot;? It seems like a bug to me?<br>&gt;&gt;<br>&gt; <br>&gt; This presumes that the profile exists on the remote machine and that the<br>&gt; initial profile was specified by name and not by path, which is<br>
&gt; insufficiently general.  What should actually happen is to send the<br>&gt; connection file and use it explicitly, with no assumptions about the remote<br>&gt; filesystem, or remote profiles available.<br>&gt; <br>&gt; <br>
&gt;&gt; - I were testing with the ControlMaster feature of SSH (version 4 or<br>&gt;&gt; greater). It reuses a existing tcp connection and can speed up new ssh<br>&gt;&gt; connections. But one would ran into the only-one-tcp-connection issues<br>
&gt;&gt; again. Do you know this command? I&#39;m not sure if it is of use in this case.<br>&gt;&gt; But it could help to lower the SSHEngineSetLauncher.delay parameter.<br>&gt;&gt;<br>&gt; <br>&gt; I am aware of it.  Since we can&#39;t depend on it, I&#39;m not sure how valuable it<br>
&gt; is to ipcluster in general (another case where writing against your own<br>&gt; environment lets you make assumptions that aren&#39;t appropriate for<br>&gt; ipcluster).<br>&gt; <br>&gt; In general, the SSH launchers need to be improved.  The sshx code in 0.10.2<br>
&gt; was better in many ways, but not in others.<br>&gt; <br>&gt; <br>&gt;&gt;<br>&gt;&gt; Cheers<br>&gt;&gt; Manuel<br>&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; ipcluster_config.py:<br>&gt;&gt;<br>&gt;&gt; c = get_config()<br>&gt;&gt; c.IPClusterStart.engine_launcher_class = &#39;SSHEngineSetLauncher&#39;<br>
&gt;&gt; c.IPClusterStart.delay = 2.0<br>&gt;&gt; c.LocalControllerLauncher.controller_args = [&#39;--log-level=20&#39;,<br>&gt;&gt; &#39;--ip=0.0.0.0&#39;, &#39;--location=127.0.0.1&#39;, &#39;--port=10101&#39;,<br>&gt;&gt; &#39;--HubFactory.hb=10102,10112&#39;, &#39;HubFactory.control=10203,10103&#39;,<br>
&gt;&gt; &#39;--HubFactory.mux=10204,10104&#39;, &#39;--HubFactory.task=10205,10105&#39;]<br>&gt;&gt; # Are hard coded paths really a reasonable default? On my systems this<br>&gt;&gt; doesn&#39;t make much sense.<br>&gt;&gt;<br>
&gt; <br>&gt; For local launchers, they absolutely are.  This means that the programs will<br>&gt; be run from the same Python, etc. as the ipcluster script.  Otherwise there<br>&gt; could be weird situations where &#39;ipcontroller&#39; launched in a subprocess<br>
&gt; actually points to a different Python or IPython than the one launching it<br>&gt; (this has happened *many* times).<br>&gt; <br>&gt; <br>&gt; <br>&gt;&gt; c.LocalControllerLauncher.controller_cmd = [&#39;ipcontroller&#39;]<br>
&gt;&gt; c.SSHEngineLauncher.program = [&#39;ipengine&#39;]<br>&gt;&gt; c.SSHEngineLauncher.program_args = [&#39;--log_level=20&#39;, &#39;--profile=ssh&#39;]<br>&gt;&gt; c.SSHEngineSetLauncher.engine_args = [&#39;--log-level=20&#39;, &#39;--profile=ssh&#39;]<br>
&gt;&gt; c.SSHEngineSetLauncher.delay = 0.2<br>&gt;&gt; tunnel = [&#39;ssh dwarf20 -N -L10101:<a href="http://127.0.0.1:10101">127.0.0.1:10101</a> -L10102:127.0.0.1:10102-L10112:<br>&gt;&gt; <a href="http://127.0.0.1:10112">127.0.0.1:10112</a> -L10103:<a href="http://127.0.0.1:10103">127.0.0.1:10103</a> -L10104:127.0.0.1:10104-L10105:<a href="http://127.0.0.1:10105">127.0.0.1:10105</a><br>
&gt;&gt; &#39;.split()]<br>&gt;&gt; c.SSHEngineSetLauncher.engines = {&#39;pluto&#39; : (16, None, tunnel),<br>&gt;&gt;                                                        &#39;merkur&#39; : (4, None,<br>&gt;&gt; tunnel)}<br>
&gt;&gt;<br>&gt;&gt;<br>&gt; -------------- next part --------------<br>&gt; An HTML attachment was scrubbed...<br>&gt; URL: <a href="http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/f54081b9/attachment.html">http://mail.scipy.org/pipermail/ipython-user/attachments/20110815/f54081b9/attachment.html</a> <br>
&gt; <br>&gt; ------------------------------<br>&gt; <br>&gt; _______________________________________________<br>&gt; IPython-User mailing list<br>&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>&gt; <br>&gt; <br>&gt; End of IPython-User Digest, Vol 94, Issue 42<br>&gt; ********************************************<br>
</div>