Rally/Updates
Contents
Weekly updates
May 05, 2014
Hello stackers,
due to holidays there hasn't been very much contribution to Rally during the past week. The highlights are as follows:
- Improved CLI output after a benchmark task gets finished. The two tables for atomic actions / overall results now got merged into one very neatly looking table;
- Several important code improvements include getting rid of the undocumented ThreadPool class and also moving some useful functions for benchmarks data processing into a separate module;
- New functionality in Rally for this week is the support for the Ironic client (and potentially also for benchmark scenarios for Ironic) and the introduction of Dummy benchmark scenarios that tend to be very useful for developers while testing their changes.
There is going to be much work this week that includes adding new benchmark scenarios (e.g. for Tempest, Neutron and Ceilometer), further improvements in CLI and graphs and also several bugfixes.
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=juno&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
April 28, 2014
Hello stackers,
the most important changes during the past week in Rally have been concentrated on creating completely new benchmark scenario classes and adding support for new contexts. To be more precise:
- We've added benchmark scenarios that launch Tempest tests and check the performance of updating quotas for nova/cinder. Both are quite new to Rally and allow users to compose more interesting benchmark cases.
- There is one new context, the "roles" context that allows to change user roles before using those users in benchmark scenarios. Much work has also been done on refactoring the "cleanup" context and helper methods that it uses.
- We've integrated the new oslotest library, wich allowed us to remove much of the "common openstack" code from our repository.
This week, we'll continue our work on expanding the range projects supported by our benchmarks. Benchmark scenarios already pending for review are those for Heat, Ceilometer and also Tempest. The ongoing work also includes several improvents in the overall user experience, e.g. changes in the CLI output format.
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=juno&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
April 21, 2014
Hello stackers,
here is the report of our recent activities in Rally. They have been quite numerous this week due to the contributions of our constantly growing team and include a couple of changes that touch the end user:
- The scenario runner previously known as continuous has been split to 2 scenario runners named constant and constant_for_duration, thus becoming more "atomic" (previously, the continuous scenario runner was able to run scenarios both for the specified amount of times and for some duration. These two types of behaviour now belong to different runners). "Constant" means that both scenario runners generate a constant load on the cloud;
- Several changes in the input configuration files formats include:
- Renaming the "name" attribute of deployments to "type" in the deployment configuration file. The same change now also applies to server providers;
- Renaming the "active_users" attribute of the constant scenario runners to "concurrency" in the benchmark task configuration files.
- Several improvements in context classes:
- Fixing a couple of issues with the cleaner context: incorrect context initialization and buggy cleanup of Glance resources;
- Improving the user context by making it create the temporary users in concurrent mode by default.
- New benchmark scenarios include those for Keystone tenants and users listing;
This week, we continue our work on new benchmark scenarios for Tempest and quotas, new contexts as well as on many other improvements in Rally.
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=juno&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
April 14, 2014
Hello stackers,
let us list our main contributions to Rally during the past week:
- The Bechmark context manager class, which mostly finishes the work on contexts integration in Rally; this manager allows Rally to use only those contexts that are really needed for the current benchmark scenario, thus greatly reducing the runtime of the preparation step, manages the order of entering those contexts, adds logging for contexts and does a couple of other important things;
- Improvement of the CLI for the Tempest verifier: we've added the functionality of saving verification results into a database and also a range of new commands to handle these results, such as rally verify list, rally verify detailed and others;
- Validation for required parameters in benchmark scenarios has now been implemented through a new validator, added, as usual, as a decorator to the corresponding benchmark scenarios;
This week, our work continues with several new benchmark scenarios (including those for Tempest), new validators and also new functionality in the Rally core, e.g. the ability to use already existing tenants/users for benchmarking, implemented now through contexts.
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
April 7, 2014
Hello stackers,
our contributions this week have been pretty diverse and touched different parts of Rally. Let us name a few that seem to be the most interesting ones:
- Nova and Cinder quotas management through a new context class. Another example of how useful and easy to use contexts are in Rally;
- Concurrent users creation and deletion in the user context. This change greatly reduces the runtime of this benchmarking step;
- New benchmark scenarios for Keystone and Glance;
- Nice enhancement of the auto-generated report html page through adding histograms for runtimes there.
There are also other parts of Rally which are in progress now and will hopefully have their patches merged the next week, e.g. the work on Tempest integration or further context classes implementation.
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 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:
- 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);
and many others.
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