[StarCluster] plugin shell help
Marc Resnick
mresnick at MIT.EDU
Sat Oct 30 14:38:49 EDT 2010
The version here
http://github.com/jtriley/StarCluster/blob/experimental/starcluster/cluster.py
may have those bugs fixed, as I remember that one as well.
Marc
On Sat, Oct 30, 2010 at 2:31 PM, Dan Tenenbaum <dtenenba at fhcrc.org> wrote:
> I already did that. ;)
> Now I'm getting another error:
> In [1]: cluster.run_plugin("shortreadplugin","myfirstcluster",cfg)
>>>> Using private key /Users/dante/.ec2/bioc-keypair.pem.rsa (rsa)
> ---------------------------------------------------------------------------
> AttributeError 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)
> 175 plugins = {}
> 176 plugins[plugin_name] = plug
> --> 177 plugins = cl.load_plugins(plugins)
> 178 master = cl.master_node
> 179 for p in plugins:
> /Library/Python/2.6/site-packages/StarCluster-0.91-py2.6.egg/starcluster/cluster.pyc
> in load_plugins(self, plugins)
> 314 plugs = []
> 315 for plugin in plugins:
> --> 316 setup_class = plugin.get('setup_class')
> 317 plugin_name = plugin.get('__name__')
> 318 mod_name = '.'.join(setup_class.split('.')[:-1])
> AttributeError: 'str' object has no attribute 'get'
> Hmm....
> Dan
>
> On Sat, Oct 30, 2010 at 11:27 AM, Marc Resnick <mresnick at mit.edu> wrote:
>>
>> Yes, that's the bug I told Justin about this Summer... I think I
>> patched it, but he may have forgotten to pull from my fork.
>>
>> You can fix it by editing the run_plugin method, and replacing
>>
>> cl = get_cluster(cluster_tag)
>>
>> with
>>
>> cl = get_cluster(cluster_tag, cfg)
>>
>>
>>
>> Marc
>>
>>
>> On Sat, Oct 30, 2010 at 2:20 PM, Dan Tenenbaum <dtenenba at fhcrc.org> wrote:
>> > Hi Marc,
>> > I am running 0.91.
>> > I was doing a couple things wrong. I figured them out but I am still
>> > having
>> > this problem.
>> > One thing I did wrong was have the
>> > plugins=shortreadplugin
>> > line under the global section; it needed to be under the
>> > [cluster smallcluster]
>> > section.
>> > When I start the cluster now, I can see the output from my plugin:
>> >>>> Running plugin shortreadplugin
>> >>>> about to echo
>> > But, when I run the shell and put in this command:
>> > cluster.run_plugin("shortreadplugin","myfirstcluster",cfg)
>> > I get the same error described below.
>> > Dan
>> >
>> > On Sat, Oct 30, 2010 at 11:11 AM, Marc Resnick <mresnick at mit.edu> wrote:
>> >>
>> >> 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
>> >> >
>> >> >
>> >>
>> >
>> >
>>
>
>
More information about the StarCluster
mailing list