[plugins] Introduce plugins as python-packages

Rally supports plugins for everything. You can write plugin for
scenario, context, runner, sla, reports and so on.
Current implementation is designed via python module. To make Rally
find those plugins, you need to specify the path for them. It is ok,
but has places for improvement:

1) providing the path to plugin eche time you launch Rally or configure
   it via Rally config. This is a place which rally plugins as pything
   packages can improve. Rally plugins can be easily auto-discovered by
   the right entry-point. No redundant pathes anymore
2) managing dependency. Python module doesn't have dependencies, package
   has. It means that delivering rally plugins via python package allows
   you to manage your dependencies separately from Rally. Also it allows
   to specify rally releases for which it was designed.

Change-Id: I60a946c26a96e4777552f43bd44a306766f3c275
This commit is contained in:
Andrey Kurilin 2017-04-25 00:04:35 +03:00
parent a886803ad5
commit be373d9ff8

View File

@ -31,6 +31,8 @@ def load():
discover.import_modules_from_package("rally.deployment.serverprovider")
discover.import_modules_from_package("rally.plugins")
discover.import_modules_by_entry_point()
discover.load_plugins("/opt/rally/plugins/")
discover.load_plugins(os.path.expanduser("~/.rally/plugins/"))