Rally/UpdatesMarch2014

March 31, 2014
Hello stackers,

this week, there has been much progress both in the functionality and quality of the Rally code. This has become possible due to the numerous contributions of members of our constantly growing community. The most interesting novelties include:
 * New scenario runner which is called "serial" and enables running scenarios in the same thread as Rally one by one without any concurrency, which makes it easy to debug the benchmark scenarios code;
 * Several contributions to the benchmark scenarios code:
 * a new cinder scenario for creating a volume and then listing all volumes;
 * the introduction of a special decorator that makes it easy to distingush the benchmark scenario methods inside Scenario classes from the helper ones;
 * passing the context objects to scenarios which enables to run scenarios like NovaServers.boot_runcommand_delete_server, which needed SSH access to the servers based on the user information passed through contexts.


 * NB! We have changed the names of the commonly used DummyEngine and DummyProvider classes to ExistingCloud and ExistingServers, respectively. This has been done in order to improve the readability of deployment configuration files by using more obvious naming.

This week, we concentrate our efforts on diverse work directions that include performance enhancement of the core parts of Rally (as e.g. the UserGenerator context), introducing new benchmark scenarios and finally improving the overall quality of unit tests.

We encourage you to take a look at new patches in Rally pending for review and to help us making Rally better.

Source code for Rally is hosted at GitHub: https://github.com/stackforge/rally

You can track the overall progress in Rally via Stackalytics: http://stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=rally Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team

March 24, 2014
Hello stackers,

with great pleasure we've been observing the high rate at which the number of patches pending for review grew over the past week in Rally. Indeed, our community constantly becomes larger and larger (including one new core developer this week), and much more active as well. The highlights of our recent efforts are as follows:
 * New benchmark scenarios, including those for testing the tenant creation performance in keystone and also for booting a server and then issuing the "servers list" command;
 * Introduction of the Rally REST API basics which ultimately will make it possible to use Rally as a Service;
 * A wide range of nice local code improvements that bring more consistency and simplicity to it: among others, let's mention:
 * a patch that removed quite a lot of unused code in server providers;
 * reducing code duplicate in logging wrappers via their unification
 * standardizing the scenario runner output by switching from the simple dictionaries usage to a bit more involved ScenarioRunnerResult class which automatically performs the format correctness tests, thus making the code much more reliable.

This week, we are going to invest a lot of time in further code refactoring (in a range of areas), as well as in implementing new benchmark scenarios to make Rally applicable for more and more testing use cases.

We encourage you to take a look at new patches in Rally pending for review and to help us making Rally better.

Source code for Rally is hosted at GitHub: https://github.com/stackforge/rally

You can track the overall progress in Rally via Stackalytics: http://stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=rally Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team

March 17, 2014
Hello stackers,

the past week has resulted in the further refinement of different parts of Rally code, of its CLI as well as of the configuration file formats. Several of these changes have been caused by the current integration of contexts into Rally (let us remind you that the notion of contexts is used to define different environments in which benchmark scenarios can be launched, e.g. environments with temporarity generated OpenStack users and/or with generic cleanup facilities). Some interesting changes include:
 * An enormously important and overall refactoring patch that brings different optimizations to the config validation step, to the CLI output/logging and also (NB!) changes the input task configuration file format (take a look at the updated task configuration samples);
 * An important step on the way to a complete Rally-Tempest integration is adding the ability to launch Tempest tests without "sudo";
 * OpenStack clients helper module refactoring, which is concentrated on reimplementing the "lazy" client handles in a more elegant way and also making them accessible in a direct way, without auxiliary methods like rally.benchmark.utils.create_openstack_clients, which made the code unreasonably more complicated;
 * We've also added several missing unit tests: the ones for the "deployment list" command as well as for the Authenticate benchmark scenario group.

This week, the directions of our efforts are going to be mostly defined by the changes from the refactoring patch mentioned earlier. A lot of stuff has to be rebased, while a couple of deferred important patches (including those implementing support for pre-created users in Rally or introducing the new "stress" scenario running strategy) will be brought to life again.

We encourage you to take a look at new patches in Rally pending for review and to help us making Rally better.

Source code for Rally is hosted at GitHub: https://github.com/stackforge/rally

You can track the overall progress in Rally via Stackalytics: http://stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=rally Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team

March 10, 2014
Hello stackers,

over the past week the direction of our efforts hasn't changed significantly: we are still working hard on further logical organization of the core parts of Rally which will enable the system to be even more extendable than it is now. Some important changes include:
 * Further work on integrating the Context classes into Rally. Let us remind you that the notion of contexts is used by us to define different environments in which benchmark scenarios can be launched by Rally, e.g. an environment with temporarity generated OpenStack users and/or a context that enables generic cleanup for the benchmark scenarios. This week, we have added the base Context class with a unified interface and we have also rewritten some already existing context classes according to the base class API (https://review.openstack.org/#/c/78193/);
 * Various fixes in the Devstack deploy engine, including the support for connecting to the VM with a user-password combination instead of a key-pair (https://review.openstack.org/#/c/77540/), minor bugfix in the cleanup procedure (https://review.openstack.org/#/c/70727/) and adding support for git branching (https://review.openstack.org/#/c/78225/);
 * Many small but important improvements that make the code overall more readable, e.g. using the configuration files in appropriate places (https://review.openstack.org/#/c/78325/), moving a couple of helper methods for the benchmark engine to the correct modules (https://review.openstack.org/#/c/78524/), replacing the incorrect mocking syntax with the decorator-based one (https://review.openstack.org/#/c/78589/) and so on.

This week, we are going to continue the work on the context classes for benchmark scenarios since this is going to be a tool which will make Rally really pluggable. Current tasks include: and many others.
 * Changing the benchmark scenario input config format;
 * Splitting the already existing validation procedures to different context classes in a logical way;
 * Implementing the Context class factory (like we did with deploy engines or scenario runners);

We are also going to introduce several enhancement both to the task result output (in its HTML form) and to the code (by moving some common code to a special utils module).

We encourage you to take a look at new patches in Rally pending for review and to help us making Rally better.

Source code for Rally is hosted at GitHub: https://github.com/stackforge/rally

You can track the overall progress in Rally via Stackalytics: http://stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=rally Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team

March 3, 2014
Hello stackers,

the most important changes during the past week have been concentrated on further logical structuring of the core part of Rally, namely the benchmark engine, and include:
 * Benchmark scenario arguments validation refactoring: we've moved the whole process from the ScenarioRunner to the BenchmarkEngine class (which is a much more logical place for that) and also added the support for admin-based and user-based validation differentiation (https://review.openstack.org/#/c/76162/);
 * Context introduction, which is a very important novelty for Rally: from now on, we are going to use the notion of context to define different environments in which benchmark scenarios can be launched by Rally. The already existing temporary UserGenerator and ResourceCleanuper classes are in fact also context, so a natural first step was to move them to a special context module (https://review.openstack.org/#/c/77322/);
 * Much work has been done around small fixes in the code (https://review.openstack.org/#/c/77170/, https://review.openstack.org/#/c/77192/) and in the unit tests (https://review.openstack.org/#/c/75877/, https://review.openstack.org/#/c/76884/), as well as around user experience improvements touching the CLI (https://review.openstack.org/#/c/76226/, https://review.openstack.org/#/c/76221/).

The current direction of our work is the further development of contexts, which will involve introducing new context classes as well.

We encourage you to take a look at new patches in Rally pending for review and to help us making Rally better.

Source code for Rally is hosted at GitHub: https://github.com/stackforge/rally

You can track the overall progress in Rally via Stackalytics: http://stackalytics.com/?release=icehouse&metric=commits&project_type=all&module=rally Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team