jtriley/StarCluster — Issue #72: Simplified Plugin Declarations
Author: dmachi
Created: 2012-02-05 20:33:53+00:00
State: open

For many simple plugins, nothing more than the class name is ultimately required and/or the tunable parameters are defaulted to something reasonable. In many cases, no declaration should be required. However, one of the flexible pieces of starcluster is that it can use plugins anywhere on the python path. It wouldn't be great to search that whole path for any applicable plugins, so the current plugin system requires that a plugin be defined in the config with a reference to the setup class to be used.

To simplify this, I would propose that the system search for plugins in some predictable locations automatically, and only plugins not in these locations (but still on the pythonpath) would require config blocks to be defined. For example, it could automatically search ./.starcluster/plugins, ~/.starcluster/plugins, /etc/starcluster/plugins and to the extent no additional config parameters are required, any plugins in these directories could be included by using only their ClassName. Any others would be defined as they are today.

While this is not a huge change, it would be very useful if plugins can be used to also define command plugins.