<div>Looks like there are a number of files in this fork that don&#39;t exist in the 0.91 that I downloaded.</div><div><br></div>So just downloaded your whole fork and built that, then got this in the shell:<div><br></div>
<div><div>In [1]: cluster.run_plugin(&quot;shortreadplugin&quot;,&quot;myfirstcluster&quot;,cfg)</div><div>---------------------------------------------------------------------------</div><div>AttributeError                            Traceback (most recent call last)</div>
<div><br></div><div>/Library/Python/2.6/site-packages/StarCluster-0.9999-py2.6.egg/starcluster/commands/shell.pyc in &lt;module&gt;()</div><div>----&gt; 1 </div><div>      2 </div><div>      3 </div><div>      4 </div><div>
      5 </div><div><br></div><div>AttributeError: &#39;module&#39; object has no attribute &#39;run_plugin&#39;</div><div><br></div><div>In [2]: </div><div><br></div><div>Dan</div><div><br></div><br><div class="gmail_quote">
On Sat, Oct 30, 2010 at 11:45 AM, Dan Tenenbaum <span dir="ltr">&lt;<a href="mailto:dtenenba@fhcrc.org">dtenenba@fhcrc.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Keeping this on the list.<div>BTW, the new cluster.py has no syntax errors, so something else must be happening.</div><div>Dan</div><div><div></div><div class="h5"><div><br><br><div class="gmail_quote">On Sat, Oct 30, 2010 at 11:44 AM, Dan Tenenbaum <span dir="ltr">&lt;<a href="mailto:dtenenba@fhcrc.org" target="_blank">dtenenba@fhcrc.org</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks. That gave me a different error, below.<div>The first time this happened, I did:<br>sudo easy_install iptools, but it is still happening.</div>

<div><br></div><div>Dan</div><div><br></div><div><div>$ starcluster shell</div>
<div>Leopard libedit detected.</div><div>ERROR: An unexpected error occurred while tokenizing input</div><div>The following traceback may be corrupted or invalid</div><div>The error message is: (&#39;EOF in multi-line statement&#39;, (405, 0))</div>


<div><br></div><div>---------------------------------------------------------------------------</div><div>ImportError                               Traceback (most recent call last)</div><div><br></div><div>/Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/EGG-INFO/scripts/starcluster in &lt;module&gt;()</div>


<div>      3 __requires__ = &#39;StarCluster==0.91&#39;</div><div>      4 import pkg_resources</div><div>----&gt; 5 pkg_resources.run_script(&#39;StarCluster==0.91&#39;, &#39;starcluster&#39;)</div><div>      6 </div><div>


      7 </div><div><br></div><div>/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc in run_script(self, requires, script_name)</div><div>    440         ns.clear()</div><div>    441         ns[&#39;__name__&#39;] = name</div>


<div>--&gt; 442         self.require(requires)[0].run_script(script_name, ns)</div><div>    443 </div><div>    444 </div><div><br></div><div>/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/pkg_resources.pyc in run_script(self, script_name, namespace)</div>


<div>   1165             )</div><div>   1166             script_code = compile(script_text,script_filename,&#39;exec&#39;)</div><div>-&gt; 1167             exec script_code in namespace, namespace</div><div>   1168 </div>


<div>   1169     def _has(self, path):</div><div><br></div><div>/Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/EGG-INFO/scripts/starcluster in &lt;module&gt;()</div><div>      1 </div><div>----&gt; 2 #!/usr/bin/python</div>


<div><br></div><div>      3 # EASY-INSTALL-SCRIPT: &#39;StarCluster==0.91&#39;,&#39;starcluster&#39;</div><div><br></div><div>      4 __requires__ = &#39;StarCluster==0.91&#39;</div><div>      5 import pkg_resources</div>


<div>      6 pkg_resources.run_script(&#39;StarCluster==0.91&#39;, &#39;starcluster&#39;)</div><div><br></div><div>/Users/dante/.starcluster/build/bdist.macosx-10.6-universal/egg/starcluster/cli.py in &lt;module&gt;()</div>


<div>     36 </div><div>     37 </div><div>---&gt; 38 </div><div>     39 </div><div>     40 </div><div><br></div><div>/Users/dante/.starcluster/build/bdist.macosx-10.6-universal/egg/starcluster/cluster.py in &lt;module&gt;()</div>


<div>     10 </div><div>     11 </div><div>---&gt; 12 </div><div>     13 </div><div>     14 </div><div><br></div><div>ImportError: cannot import name iptools</div><div><div></div><div><div><br></div><div><br><div class="gmail_quote">

On Sat, Oct 30, 2010 at 11:38 AM, Marc Resnick <span dir="ltr">&lt;<a href="mailto:mresnick@mit.edu" target="_blank">mresnick@mit.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The version here<br>
<a href="http://github.com/jtriley/StarCluster/blob/experimental/starcluster/cluster.py" target="_blank">http://github.com/jtriley/StarCluster/blob/experimental/starcluster/cluster.py</a><br>
may have those bugs fixed, as I remember that one as well.<br>
<font color="#888888"><br>
<br>
Marc<br>
</font><div><div></div><div><br>
On Sat, Oct 30, 2010 at 2:31 PM, Dan Tenenbaum &lt;<a href="mailto:dtenenba@fhcrc.org" target="_blank">dtenenba@fhcrc.org</a>&gt; wrote:<br>
&gt; I already did that. ;)<br>
&gt; Now I&#39;m getting another error:<br>
&gt; In [1]: cluster.run_plugin(&quot;shortreadplugin&quot;,&quot;myfirstcluster&quot;,cfg)<br>
&gt;&gt;&gt;&gt; Using private key /Users/dante/.ec2/bioc-keypair.pem.rsa (rsa)<br>
&gt; ---------------------------------------------------------------------------<br>
&gt; AttributeError                            Traceback (most recent call last)<br>
&gt; /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cli.pyc<br>
&gt; in &lt;module&gt;()<br>
&gt; ----&gt; 1<br>
&gt;       2<br>
&gt;       3<br>
&gt;       4<br>
&gt;       5<br>
&gt; /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cluster.pyc<br>
&gt; in run_plugin(plugin_name, cluster_tag, cfg)<br>
&gt;     175     plugins = {}<br>
&gt;     176     plugins[plugin_name] = plug<br>
&gt; --&gt; 177     plugins = cl.load_plugins(plugins)<br>
&gt;     178     master = cl.master_node<br>
&gt;     179     for p in plugins:<br>
&gt; /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cluster.pyc<br>
&gt; in load_plugins(self, plugins)<br>
&gt;     314         plugs = []<br>
&gt;     315         for plugin in plugins:<br>
&gt; --&gt; 316             setup_class = plugin.get(&#39;setup_class&#39;)<br>
&gt;     317             plugin_name = plugin.get(&#39;__name__&#39;)<br>
&gt;     318             mod_name = &#39;.&#39;.join(setup_class.split(&#39;.&#39;)[:-1])<br>
&gt; AttributeError: &#39;str&#39; object has no attribute &#39;get&#39;<br>
&gt; Hmm....<br>
&gt; Dan<br>
&gt;<br>
&gt; On Sat, Oct 30, 2010 at 11:27 AM, Marc Resnick &lt;<a href="mailto:mresnick@mit.edu" target="_blank">mresnick@mit.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Yes, that&#39;s the bug I told Justin about this Summer... I think I<br>
&gt;&gt; patched it, but he may have forgotten to pull from my fork.<br>
&gt;&gt;<br>
&gt;&gt; You can fix it by editing the run_plugin method, and replacing<br>
&gt;&gt;<br>
&gt;&gt;  cl = get_cluster(cluster_tag)<br>
&gt;&gt;<br>
&gt;&gt; with<br>
&gt;&gt;<br>
&gt;&gt;  cl = get_cluster(cluster_tag, cfg)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Marc<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Sat, Oct 30, 2010 at 2:20 PM, Dan Tenenbaum &lt;<a href="mailto:dtenenba@fhcrc.org" target="_blank">dtenenba@fhcrc.org</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi Marc,<br>
&gt;&gt; &gt; I am running 0.91.<br>
&gt;&gt; &gt; I was doing a couple things wrong. I figured them out but I am still<br>
&gt;&gt; &gt; having<br>
&gt;&gt; &gt; this problem.<br>
&gt;&gt; &gt; One thing I did wrong was have the<br>
&gt;&gt; &gt; plugins=shortreadplugin<br>
&gt;&gt; &gt; line under the global section; it needed to be under the<br>
&gt;&gt; &gt; [cluster smallcluster]<br>
&gt;&gt; &gt; section.<br>
&gt;&gt; &gt; When I start the cluster now, I can see the output from my plugin:<br>
&gt;&gt; &gt;&gt;&gt;&gt; Running plugin shortreadplugin<br>
&gt;&gt; &gt;&gt;&gt;&gt; about to echo<br>
&gt;&gt; &gt; But, when I run the shell and put in this command:<br>
&gt;&gt; &gt; cluster.run_plugin(&quot;shortreadplugin&quot;,&quot;myfirstcluster&quot;,cfg)<br>
&gt;&gt; &gt; I get the same error described below.<br>
&gt;&gt; &gt; Dan<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Sat, Oct 30, 2010 at 11:11 AM, Marc Resnick &lt;<a href="mailto:mresnick@mit.edu" target="_blank">mresnick@mit.edu</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hey Dan,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Are you running the latest version? I saw that bug a few months ago, I<br>
&gt;&gt; &gt;&gt; thought I remember Justin fixing it.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Marc<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Sat, Oct 30, 2010 at 2:00 PM, Dan Tenenbaum &lt;<a href="mailto:dtenenba@fhcrc.org" target="_blank">dtenenba@fhcrc.org</a>&gt;<br>
&gt;&gt; &gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; Hi,<br>
&gt;&gt; &gt;&gt; &gt; I am not much of a python programmer and I&#39;m trying to figure out the<br>
&gt;&gt; &gt;&gt; &gt; plugin<br>
&gt;&gt; &gt;&gt; &gt; system.<br>
&gt;&gt; &gt;&gt; &gt; I created a ~/.starcluster/plugins directory and put a file in it<br>
&gt;&gt; &gt;&gt; &gt; called<br>
&gt;&gt; &gt;&gt; &gt; shortread.py.<br>
&gt;&gt; &gt;&gt; &gt; Here are its contents:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; from starcluster.clustersetup import ClusterSetup<br>
&gt;&gt; &gt;&gt; &gt; from starcluster.logger import log<br>
&gt;&gt; &gt;&gt; &gt; class ShortReadPlugin(ClusterSetup):<br>
&gt;&gt; &gt;&gt; &gt;      def __init__(self, arg1):<br>
&gt;&gt; &gt;&gt; &gt;           self.arg1 = arg1<br>
&gt;&gt; &gt;&gt; &gt;           <a href="http://log.info" target="_blank">log.info</a>(&#39;arg1 = %s&#39; % arg1)<br>
&gt;&gt; &gt;&gt; &gt;      def run(self, nodes, master, user, user_shell, volumes):<br>
&gt;&gt; &gt;&gt; &gt;          <a href="http://log.info" target="_blank">log.info</a>(&quot;about to echo&quot;)<br>
&gt;&gt; &gt;&gt; &gt;          master.ssh.execute(&quot;echo &#39;hey&#39;&quot;)<br>
&gt;&gt; &gt;&gt; &gt; As you can see, it&#39;s just a test.<br>
&gt;&gt; &gt;&gt; &gt; In my config, I put this at the bottom:<br>
&gt;&gt; &gt;&gt; &gt; [plugin shortreadplugin]<br>
&gt;&gt; &gt;&gt; &gt; SETUP_CLASS = ShortReadPlugin<br>
&gt;&gt; &gt;&gt; &gt; arg1=foo<br>
&gt;&gt; &gt;&gt; &gt; And above in the [global] section I put:<br>
&gt;&gt; &gt;&gt; &gt; plugins=shortreadplugin<br>
&gt;&gt; &gt;&gt; &gt; I&#39;m a bit confused about whether this is right because in your<br>
&gt;&gt; &gt;&gt; &gt; example:<br>
&gt;&gt; &gt;&gt; &gt; <a href="http://web.mit.edu/stardev/cluster/docs/plugins.html" target="_blank">http://web.mit.edu/stardev/cluster/docs/plugins.html</a><br>
&gt;&gt; &gt;&gt; &gt; ...you have the SETUP_CLASS as ubuntu.PackageInstaller. I&#39;m not sure<br>
&gt;&gt; &gt;&gt; &gt; where<br>
&gt;&gt; &gt;&gt; &gt; the &quot;ubuntu&quot; fits into this. Is it like java where I need to have a<br>
&gt;&gt; &gt;&gt; &gt; folder<br>
&gt;&gt; &gt;&gt; &gt; called ubuntu where the class resides?<br>
&gt;&gt; &gt;&gt; &gt; Anyway, I fired up my cluster and went to test this with &quot;starcluster<br>
&gt;&gt; &gt;&gt; &gt; shell&quot;<br>
&gt;&gt; &gt;&gt; &gt; and got the following output:<br>
&gt;&gt; &gt;&gt; &gt; In [5]: cluster.run_plugin(&#39;shortreadplugin&#39;, &#39;myfirstcluster&#39;, cfg)<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; ---------------------------------------------------------------------------<br>
&gt;&gt; &gt;&gt; &gt; TypeError                                 Traceback (most recent call<br>
&gt;&gt; &gt;&gt; &gt; last)<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cli.pyc<br>
&gt;&gt; &gt;&gt; &gt; in &lt;module&gt;()<br>
&gt;&gt; &gt;&gt; &gt; ----&gt; 1<br>
&gt;&gt; &gt;&gt; &gt;       2<br>
&gt;&gt; &gt;&gt; &gt;       3<br>
&gt;&gt; &gt;&gt; &gt;       4<br>
&gt;&gt; &gt;&gt; &gt;       5<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cluster.pyc<br>
&gt;&gt; &gt;&gt; &gt; in run_plugin(plugin_name, cluster_tag, cfg)<br>
&gt;&gt; &gt;&gt; &gt;     170 def run_plugin(plugin_name, cluster_tag, cfg):<br>
&gt;&gt; &gt;&gt; &gt;     171     ec2 = cfg.get_easy_ec2()<br>
&gt;&gt; &gt;&gt; &gt; --&gt; 172     cl = get_cluster(cluster_tag)<br>
&gt;&gt; &gt;&gt; &gt;     173     cl.load_receipt()<br>
&gt;&gt; &gt;&gt; &gt;     174     plug = cfg.get_plugin(plugin_name)<br>
&gt;&gt; &gt;&gt; &gt; TypeError: get_cluster() takes exactly 2 arguments (1 given)<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; It&#39;s hard for me to understand what&#39;s happening here. I of course am<br>
&gt;&gt; &gt;&gt; &gt; not<br>
&gt;&gt; &gt;&gt; &gt; calling get_cluster directly. Is there a bug in run_plugin() or is<br>
&gt;&gt; &gt;&gt; &gt; there<br>
&gt;&gt; &gt;&gt; &gt; something wrong in my setup, or both?<br>
&gt;&gt; &gt;&gt; &gt; Thanks<br>
&gt;&gt; &gt;&gt; &gt; Dan<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt; StarCluster mailing list<br>
&gt;&gt; &gt;&gt; &gt; <a href="mailto:StarCluster@mit.edu" target="_blank">StarCluster@mit.edu</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="http://mailman.mit.edu/mailman/listinfo/starcluster" target="_blank">http://mailman.mit.edu/mailman/listinfo/starcluster</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br></div></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>