Rally has a plugin oriented architecture - in other words Rally team is trying to make all places of code pluggable. Such architecture leads to the big amount of plugins. Plugins Reference contains a full list of all official Rally plugins with detailed descriptions.
How plugins work¶
Rally provides an opportunity to create and use a custom task scenario, runner, SLA, deployment or context as a plugin:
Plugins can be quickly written and used, with no need to contribute
them to the actual Rally code. Just place a Python module with your
plugin class into the
directory (or its subdirectories), and it will be
automatically loaded. Additional paths can be specified with the
--plugin-paths argument, or with the
environment variable, both of which accept comma-delimited
RALLY_PLUGIN_PATHS can list
either plugin module files, or directories containing plugins. For
instance, both of these are valid:
rally --plugin-paths /rally/plugins ...
rally --plugin-paths /rally/plugins/foo.py,/rally/plugins/bar.py ...
You can also use a script
samples/plugins which will automatically create the
How to create a plugin¶
To create your own plugin you need to inherit your plugin class from
plugin.Plugin class or its subclasses. Also you need to decorate your class
from rally.task import scenario