StarCluster - Mailing List Archive

Re: plugin shell help

From: Marc Resnick <no email>
Date: Sat, 30 Oct 2010 14:11:13 -0400

Hey Dan,

Are you running the latest version? I saw that bug a few months ago, I
thought I remember Justin fixing it.


Marc

On Sat, Oct 30, 2010 at 2:00 PM, Dan Tenenbaum <dtenenba_at_fhcrc.org> wrote:
> Hi,
> I am not much of a python programmer and I'm trying to figure out the plugin
> system.
> I created a ~/.starcluster/plugins directory and put a file in it called
> shortread.py.
> Here are its contents:
>
> from starcluster.clustersetup import ClusterSetup
> from starcluster.logger import log
> class ShortReadPlugin(ClusterSetup):
>      def __init__(self, arg1):
>           self.arg1 = arg1
>           log.info('arg1 = %s' % arg1)
>      def run(self, nodes, master, user, user_shell, volumes):
>          log.info("about to echo")
>          master.ssh.execute("echo 'hey'")
> As you can see, it's just a test.
> In my config, I put this at the bottom:
> [plugin shortreadplugin]
> SETUP_CLASS = ShortReadPlugin
> arg1=foo
> And above in the [global] section I put:
> plugins=shortreadplugin
> I'm a bit confused about whether this is right because in your example:
> http://web.mit.edu/stardev/cluster/docs/plugins.html
> ...you have the SETUP_CLASS as ubuntu.PackageInstaller. I'm not sure where
> the "ubuntu" fits into this. Is it like java where I need to have a folder
> called ubuntu where the class resides?
> Anyway, I fired up my cluster and went to test this with "starcluster shell"
> and got the following output:
> In [5]: cluster.run_plugin('shortreadplugin', 'myfirstcluster', cfg)
> ---------------------------------------------------------------------------
> TypeError                                 Traceback (most recent call last)
> /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cli.pyc
> in <module>()
> ----> 1
>       2
>       3
>       4
>       5
> /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cluster.pyc
> in run_plugin(plugin_name, cluster_tag, cfg)
>     170 def run_plugin(plugin_name, cluster_tag, cfg):
>     171     ec2 = cfg.get_easy_ec2()
> --> 172     cl = get_cluster(cluster_tag)
>     173     cl.load_receipt()
>     174     plug = cfg.get_plugin(plugin_name)
> TypeError: get_cluster() takes exactly 2 arguments (1 given)
>
> It's hard for me to understand what's happening here. I of course am not
> calling get_cluster directly. Is there a bug in run_plugin() or is there
> something wrong in my setup, or both?
> Thanks
> Dan
>
> _______________________________________________
> StarCluster mailing list
> StarCluster_at_mit.edu
> http://mailman.mit.edu/mailman/listinfo/starcluster
>
>
Received on Sat Oct 30 2010 - 14:11:35 EDT
This archive was generated by hypermail 2.3.0.

Search:

Sort all by:

Date

Month

Thread

Author

Subject