Rally/UpdatesNovember2013

November 25, 2013
Hello stackers,

here is the second report on our activities in Rally development for the past week.

The main results that have been recently merged with master are as follows:
 * Changes in the benchmark engine: we have significantly restructured the format of the input benchmark config (https://review.openstack.org/#/c/56035/). The changes make it more transparent to the end-user as well as more flexible. This will enable us to implement new features in the benchmark engine like running tests periodically or for a given amount of time. We have also refactored the test code related to benchmark scenarios by replacing ugly-looking nested with-blocks for mocks with a more readable decorator syntax (https://review.openstack.org/#/c/57732/);
 * Further work on splitting the system logic between the two basic entities, namely the deployment and the benchmark task. While still having the legacy combined config that contains information both on the deployment and on the benchmarks, we have closely come to the point where we can completely split everything related to these two entites. To be more precise, during the lask week we have made:
 * the integration of the deployment entity with DeploymentEngine classes (https://review.openstack.org/#/c/56481/);
 * сode refactoring for Task and Deployment classes: making them similarly structured (https://review.openstack.org/#/c/56727) and moving them to a special rally.objects module (https://review.openstack.org/#/c/56480/);
 * test coverage improvement for the Task class (https://review.openstack.org/#/c/57055/) and for the Orchestrator API (https://review.openstack.org/#/c/57054/).


 * Minor updates related to deploy engines and server providers: better support for Debian/Ubuntu in DevStack engine (https://review.openstack.org/#/c/57181/) and removing legacy code for SSH support (https://review.openstack.org/#/c/57266/)

Our plan for the current week comprises:
 * Finishing the work on separating deployments and benchmark tasks in Rally (https://review.openstack.org/#/c/57455/, https://review.openstack.org/#/c/56226/ etc.);
 * Adding new features to the benchmark engine like executing benchmarks periodically and for a user-speficied period of time (https://review.openstack.org/#/c/57628/, https://review.openstack.org/#/c/56036/);
 * Implementing LXC and multihost OpenStack deployment facilities (https://review.openstack.org/#/c/56222/, https://review.openstack.org/#/c/57240/).

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=all&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

November 18, 2013
Hello stackers,

here is the first issue of our weekly update notes on Rally, Benchmark-as-a-Service project for OpenStack. Once a week we are going to post a few remarks on what we have done and what we plan to implement in Rally during the next week.

During the past week we have been focusing our efforts on two main aspects of Rally development:
 * Splitting the Rally workflow into 2 parts: the OpenStack deployment part and the benchmark tasks running part. Both have been previously treated by the system as a single process configured once by the end user. Separation of deployment from benchmark tasks, however, allows one to reuse existing deployments. The current results here are:
 * Deployment model for SQLAlchemy (https://review.openstack.org/#/c/56185/);
 * A separate wrapper class for the deployment model (https://review.openstack.org/#/c/56267/).


 * Improving the LXC server provider: code refactoring and support of some useful Btrfs features. This will be needed soon for multihost OpenStack deployment implementation. (https://review.openstack.org/#/c/55534/, https://review.openstack.org/#/c/56221/)

We have also recently received several e-mails notifying us of a possible issue in the soft/hard server reboot benchmark scenario. We would like to thank all of you who reported the problem. We will try to fix it as soon as possible.

The Rally roadmap for the next week goes as follows:
 * Continue the work on separating OpenStack deployments from benchmark tasks: introduce the necessary CLI commands, integrate the Deployment class with deploy engines, rewrite the orchestrator part to support the separated deployments and benchmarks;
 * Implement multihost OpenStack deployment engine using LXC;
 * Add two new capabilities to the benchmark runner:
 * Benchmark launching for a given period of time (not a strict amount of times);
 * Launching several benchmarks with configured intervals.


 * Improve the benchmark config format to make it both more flexible and more clear for the end user;
 * Implement generic cleanup for our benchmark scenarios;
 * Work on automated output data processing and drawing plots for benchmark results.

Several patches addressing the above tasks are already available on Gerrit code review. You are welcome to take a look at them.

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

Open reviews for Rally: https://review.openstack.org/#/q/status:open+rally,n,z

Stay tuned.

Regards,

The Rally team