Improve plugins and apply loading for runners and contexts plugins

Provide plugins loading for runners and contexts, improve samples.
Plugins now can be loaded from ~/.rally/plugins and /opt/rally/plugins
and any it's subdirectories.

Closes-Bug: #1320942

Change-Id: I213086e7eae17e297c398c301f5ed8d2331d951e
This commit is contained in:
Olga Kopylova 2014-10-20 04:57:26 -04:00
parent 24a2d832a4
commit e3bde55fec
2 changed files with 6 additions and 2 deletions

View File

@ -19,7 +19,7 @@ SCENARIO=$BASE/new/$PROJECT/rally-scenarios/${RALLY_SCENARIO}.yaml
PLUGINS_DIR=$BASE/new/$PROJECT/rally-scenarios/plugins
EXTRA_DIR=$BASE/new/$PROJECT/rally-scenarios/extra
RALLY_PLUGINS_DIR=~/.rally/plugins/scenarios/
RALLY_PLUGINS_DIR=~/.rally/plugins
mkdir -p $RALLY_PLUGINS_DIR
if [ -d $PLUGINS_DIR ]; then

View File

@ -62,7 +62,11 @@ class TaskSampleTestCase(test.TestCase):
# TODO(boris-42): We should refactor scenarios framework add "_" to
# all non-benchmark methods.. Then this test will pass.
missing = set(base.Scenario.list_benchmark_scenarios()) - scenarios
self.assertEqual(missing, set([]),
# check missing scenario is not from plugin
missing = [scenario for scenario in list(missing) if
base.Scenario.get_by_name(scenario.split(".")[0]).
__module__.startswith("rally")]
self.assertEqual(missing, [],
"These scenarios don't have samples: %s" % missing)
def test_json_correct_syntax(self):