From 7bf612e81ae7984811907117d03e893e8e1532cd Mon Sep 17 00:00:00 2001 From: Boris Pavlovic Date: Tue, 6 Oct 2015 17:05:56 -0700 Subject: [PATCH] Release notes v0.1.1 Change-Id: Ifaa083a54fb72cb5c195c80da064ec91032292d7 --- doc/release_notes/archive/v0.1.0.rst | 510 +++++++++++++++++++++++++++ doc/release_notes/latest.rst | 485 +++---------------------- 2 files changed, 563 insertions(+), 432 deletions(-) create mode 100644 doc/release_notes/archive/v0.1.0.rst diff --git a/doc/release_notes/archive/v0.1.0.rst b/doc/release_notes/archive/v0.1.0.rst new file mode 100644 index 00000000..bc9f2815 --- /dev/null +++ b/doc/release_notes/archive/v0.1.0.rst @@ -0,0 +1,510 @@ +============ +Rally v0.1.0 +============ + +Information +----------- + ++------------------+-----------------------+ +| Commits | **355** | ++------------------+-----------------------+ +| Bug fixes | **90** | ++------------------+-----------------------+ +| Dev cycle | **132 days** | ++------------------+-----------------------+ +| Release date | **25/September/2015** | ++------------------+-----------------------+ + + +Details +------- + +This release contains new features, new 42 plugins, 90 bug fixes, +various code and API improvements. + + +New Features & API changes +~~~~~~~~~~~~~~~~~~~~~~~~~~ +* **Improved installation script** + + * Add parameters: + + * ``--develop`` parameter to install rally in editable (develop) mode + + * ``--no-color`` to switch off output colorizing + useful for automated output parsing and terminals that don't + support colors. + + * Puts rally.conf under virtualenv etc/rally/ so you can have several + rally installations in virtualenv + + * Many fixes related to access of different file, like: rally.conf, + rally db file in case of sqlite + + * Update pip before Rally installation + + * Fix reinstallation + + +* **Separated Rally plugins & framework** + + Now plugins are here: + https://github.com/openstack/rally/tree/master/rally/plugins + + Plugins are as well separated common/* for common plugins + that can be use no matter what is tested and OpenStack related + plugins + + +* **New Rally Task framework** + + * All plugins has the same Plugin base: + rally.common.plugin.pluing.Plugin They have the same mechanisms for: + discovering, providing information based on docstrings, and in future + they will use the same deprecation/rename mechanism. + + * Some of files are moved: + + * rally/benchmark -> rally/task + + *This was done to unify naming of rally task command and + actually code that implements it.* + + * rally/benchmark/sla/base.py -> rally/task/sla.py + + * rally/benchmark/context/base.py -> rally/task/context.py + + * rally/benchmark/scenarios/base.py -> rally/task/scenario.py + + * rally/benchmark/runners/base.py -> rally/task/runner.py + + * rally/benchmark/scenarios/utils.py -> rally/task/utils.py + + This was done to: + + * avoid doing rally.benchamrk.scenarios import base as scenario_base + + * remove one level of nesting + + * simplify framework structure + + + * Some of classes and methods were renamed + + * Plugin configuration: + + * context.context() -> context.configure() + + * scenario.scenario() -> scenario.configure() + + * Introduced runner.configure() + + * Introduced sla.configure() + + This resolves 3 problems: + + * Unifies configuration of different types of plugins + + * Simplifies plugin interface + + * Looks nice with new modules path: + >>> from rally.task import scenario + >>> @scenario.configure() + + + * Atomic Actions were changed: + + * New rally.task.atomic module + + This allow us in future to reuse atomic actions in Context plugins + + * Renames: + + rally.benchmark.scenarios.base.AtomicAction + -> rally.task.atomic.ActionTimer + + rally.benchmark.scenarios.base.atomic_action() + -> rally.task.atomic.action_timer() + + * **Context plugins decide how to map their data for scenario** + + Now Context.map_for_scenario method can be override to decide + how to pass context object to each iteration of scenario. + + * Samples of NEW vs OLD context, sla, scenario and runner plugins: + + * Context + .. code-block:: python + + # Old + from rally.benchmark.context import base + + @base.context(name="users", order=100) + class YourContext(base.Context): + + def setup(self): + # ... + + def cleanup(self): + # ... + + # New + from rally.task import context + + @context.configure(name="users", order=100) + class YourContext(context.Context): + + def setup(self): + # ... + + def cleanup(self): + # ... + + def map_for_scenario(self): + # Maps context object to the scenario context object + # like context["users"] -> context["user"] and so on. + .. + + + * Scenario + .. code-block:: python + + # Old Scenario + + from rally.benchmark.scenarios import base + from rally.benchmark import validation + + class ScenarioPlugin(base.Scenario): + + @base.scenario() + def some(self): + self._do_some_action() + + + @base.atomic_action_timer("some_timer") + def _do_some_action(self): + # ... + + # New Scenario + + from rally.task import atomic + from rally.task import scenario + from rally.task import validation + + # OpenStack scenario has different base now: + # rally.plugins.openstack.scenario.OpenStackScenario + class ScenarioPlugin(scenario.Scenario): + + @scenario.configure() + def some(self): + self._do_some_action() + + @atomic.action_timer("some_action") + def _do_some_action(self): + # ... + .. + + * Runner + .. code-block:: python + + ## Old + + from rally.benchmark.runners import base + + class SomeRunner(base.ScenarioRunner): + + __execution_type__ = "some_runner" + + def _run_scenario(self, cls, method_name, context, args) + # Load generation + + def abort(self): + # Method that aborts load generation + + ## New + + from rally.task import runner + + @runner.configure(name="some_runner") + class SomeRunner(runner.ScenarioRunner): + + def _run_scenario(self, cls, method_name, context, args) + # Load generation + + def abort(self): + # Method that aborts load generation + + .. + + * SLA + .. code-block:: python + + # Old + + from rally.benchmark import sla + + class FailureRate(sla.SLA): + # ... + + # New + + from rally.task import sla + + @sla.configure(name="failure_rate") + class FailureRate(sla.SLA): + # ... + .. + + +* **Rally Task aborted command** + + Finally you can gracefully shutdown running task by calling: + + .. code:: bash + + rally task abort + .. + +* **Rally CLI changes** + + * [add] ``rally --plugin-paths`` specify the list of directories with plugins + + * [add] ``rally task report --junit`` - generate a JUnit report + This allows users to feed reports to tools such as Jenkins. + + * [add] ``rally task abort`` - aborts running Rally task + when run with the ``--soft`` key, the ``rally task abort`` command is + waiting until the currently running subtask is finished, otherwise the + command interrupts subtask immediately after current scenario iterations + are finished. + + * [add] ``rally plugin show`` prints detailed information about plugin + + * [add] ``rally plugin list`` prints table with rally plugin names and titles + + * [add] ``rally verify genconfig`` generates tempest.conf without running it. + + * [add] ``rally verify install`` install tempest for specified deployment + + * [add] ``rally verify reinstall`` removes tempest for specified deployment + + * [add] ``rally verify uninstall`` uninstall tempest of specified deployment + + * [fix] ``rally verify start --no-use`` --no-use was always turned on + + * [remove] ``rally use`` now each command has subcommand ``use`` + + * [remove] ``rally info`` + + * [remove] ``rally-manage tempest`` now it is covered by ``rally verify`` + + +* **New Rally task reports** + + * New code is based on OOP style which is base step to make plugable Reports + + * Reports are now generated for only one iteration over the resulting data + which resolves scalability issues when we are working with large + amount of iterations. + + * New Load profiler plot that shows amount of iterations that are working + in parallel + + * Failed iterations are shown as a red areas on stacked are graphic. + +Non backward compatible changes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* [remove] ``rally use`` cli command + +* [remove] ``rally info`` cli command + +* [remove] ``--uuid`` parameter from ``rally deployment `` + +* [remove ``--deploy-id`` parameter from: + ``rally task ``, ``rally verify ``, ``rally show `` + +Specs & Feature requests +~~~~~~~~~~~~~~~~~~~~~~~~ + + [feature request] Explicitly specify existing users for scenarios + + [feature request] Improve install script and add --unistall and --version + + [feature request] Allows specific repos & packages in install-rally.sh + + [feature request] Add abbility to caputre logs from tested services + + [feature request] Check RPC queue perfdata + + [spec] Refactoring Rally cleanup + + [spec] Consistent resource names + +Plugins +~~~~~~~ + +* **Scenarios**: + + [new] CinderVolumes.create_volume_backup + + [new] CinderVolumes.create_and_restore_volume_backup + + [new] KeystoneBasic.add_and_remove_user_role + + [new] KeystoneBasic.create_and_delete_role + + [new] KeystoneBasic.create_add_and_list_user_roles + + [new] FuelEnvironments.list_environments + + [new] CinderVolumes.modify_volume_metadata + + [new] NovaServers.boot_and_delete_multiple_servers + + [new] NeutronLoadbalancerV1.create_and_list_pool + + [new] ManilaShares.list_shares + + [new] CeilometerEvents.create_user_and_get_event + + [new] CeilometerEvents.create_user_and_list_event_types + + [new] CeilometerEvents.create_user_and_list_events + + [new] CeilometerTraits.create_user_and_list_trait_descriptions + + [new] CeilometerTraits.create_user_and_list_traits + + [new] NeutronLoadbalancerV1.create_and_delete_pools + + [new] NeutronLoadbalancerV1.create_and_update_pools + + [new] ManilaShares.create_and_delete_share + + [new] ManilaShares.create_share_network_and_delete + + [new] ManilaShares.create_share_network_and_list + + [new] HeatStacks.create_and_delete_stack + + [new] ManilaShares.list_share_servers + + [new] HeatStacks.create_snapshot_restore_delete_stack + + [new] KeystoneBasic.create_and_delete_ec2credential + + [new] KeystoneBasic.create_and_list_ec2credentials + + [new] HeatStacks.create_stack_and_scale + + [new] ManilaShares.create_security_service_and_delete + + [new] KeystoneBasic.create_user_set_enabled_and_delete + + [new] ManilaShares.attach_security_service_to_share_network + + [new] IronicNodes.create_and_delete_node + + [new] IronicNodes.create_and_list_node + + [new] CinderVolumes.create_and_list_volume_backups + + [new] NovaNetworks.create_and_list_networks + + [new] NovaNetworks.create_and_delete_network + + [new] EC2Servers.list_servers + + [new] VMTasks.boot_runcommand_delete_custom_imagea + + [new] CinderVolumes.create_and_update_volume + + +* **Contexts**: + + [new] ManilaQuotas + + Add context for setting up Manila quotas: + shares, gigabytes, snapshots, snapshot_gigabytes, share_networks + + [new] ManilaShareNetworks + + Context for share networks that will be used in case of usage + deployment with existing users. Provided share networks via context + option "share_networks" will be balanced between all share creations + of scenarios. + + [new] Lbaas + + Context to create LBaaS-v1 resources + + [new] ImageCommandCustomizerContext + + Allows image customization using side effects of a command execution. + E.g. one can install an application to the image and use these image + for 'boot_runcommand_delete' scenario afterwards. + + [new] EC2ServerGenerator + + Context that creates servers using EC2 api + + [new] ExistingNetwork + + This context lets you use existing networks that have already been + created instead of creating new networks with Rally. This is useful + when, for instance, you are using Neutron with a dumb router that is + not capable of creating new networks on the fly. + + +* **SLA**: + + [remove] max_failure_rate - use failure_rate instead + + +Bug fixes +~~~~~~~~~ + +**90 bugs were fixed, the most critical are**: + +* Many fixes related that fixes access of rally.conf and DB files + +* Incorrect apt-get "-yes" parameter in install_rally.sh script + +* Rally bash completion doesn't exist in a virtualenv + +* Rally show networks CLI command worked only with nova networks + +* RPS runner was not properly generating load + +* Check is dhcp_agent_scheduler support or not in network cleanup + +* NetworkContext doesn't work with Nova V2.1 + +* Rally task input file was not able to use jinja2 include directive + +* Rally in docker image was not able to + +* Rally docker image didn't contain samples + +* Do not update the average duration when iteration failed + + +Documentation +~~~~~~~~~~~~~ + +* **Add plugin reference page** + + :ref:`Rally Plugins Reference page ` page contains a + full list with + +* **Add maintainers section on project info page** + + :ref:`Rally Maintainers section ` contains information + about core contributors of OpenStack Rally their responsibilities and + contacts. This will help us to make our community more transparent and open + for newbies. + +* **Added who is using section in docs** + +* **Many small fixes** diff --git a/doc/release_notes/latest.rst b/doc/release_notes/latest.rst index bc9f2815..5d17ba1e 100644 --- a/doc/release_notes/latest.rst +++ b/doc/release_notes/latest.rst @@ -1,510 +1,131 @@ ============ -Rally v0.1.0 +Rally v0.1.1 ============ Information ----------- +------------------+-----------------------+ -| Commits | **355** | +| Commits | **32** | +------------------+-----------------------+ -| Bug fixes | **90** | +| Bug fixes | **9** | +------------------+-----------------------+ -| Dev cycle | **132 days** | +| Dev cycle | **11 days** | +------------------+-----------------------+ -| Release date | **25/September/2015** | +| Release date | **6/October/2015** | +------------------+-----------------------+ Details ------- -This release contains new features, new 42 plugins, 90 bug fixes, +This release contains new features, new 6 plugins, 9 bug fixes, various code and API improvements. -New Features & API changes -~~~~~~~~~~~~~~~~~~~~~~~~~~ -* **Improved installation script** +New Features +~~~~~~~~~~~~ - * Add parameters: +* **Rally verify generates proper tempest.conf file now** - * ``--develop`` parameter to install rally in editable (develop) mode + Improved script that generates tempest.conf, now it works out of box for + most of the clouds and most of Tempest tests will pass without hacking it. - * ``--no-color`` to switch off output colorizing - useful for automated output parsing and terminals that don't - support colors. +* **Import Tempest results to Rally DB** - * Puts rally.conf under virtualenv etc/rally/ so you can have several - rally installations in virtualenv + ``rally verify import`` command allows you to import already existing Tempest + results and work with them as regular "rally verify start" results: + generate HTML/CSV reports & compare different runs. - * Many fixes related to access of different file, like: rally.conf, - rally db file in case of sqlite - * Update pip before Rally installation +API Changes +~~~~~~~~~~~~ - * Fix reinstallation +**Rally CLI changes** + * [add] ``rally verify import`` imports raw Tempest results to Rally -* **Separated Rally plugins & framework** - - Now plugins are here: - https://github.com/openstack/rally/tree/master/rally/plugins - - Plugins are as well separated common/* for common plugins - that can be use no matter what is tested and OpenStack related - plugins - - -* **New Rally Task framework** - - * All plugins has the same Plugin base: - rally.common.plugin.pluing.Plugin They have the same mechanisms for: - discovering, providing information based on docstrings, and in future - they will use the same deprecation/rename mechanism. - - * Some of files are moved: - - * rally/benchmark -> rally/task - - *This was done to unify naming of rally task command and - actually code that implements it.* - - * rally/benchmark/sla/base.py -> rally/task/sla.py - - * rally/benchmark/context/base.py -> rally/task/context.py - - * rally/benchmark/scenarios/base.py -> rally/task/scenario.py - - * rally/benchmark/runners/base.py -> rally/task/runner.py - - * rally/benchmark/scenarios/utils.py -> rally/task/utils.py - - This was done to: - - * avoid doing rally.benchamrk.scenarios import base as scenario_base - - * remove one level of nesting - - * simplify framework structure - - - * Some of classes and methods were renamed - - * Plugin configuration: - - * context.context() -> context.configure() - - * scenario.scenario() -> scenario.configure() - - * Introduced runner.configure() - - * Introduced sla.configure() - - This resolves 3 problems: - - * Unifies configuration of different types of plugins - - * Simplifies plugin interface - - * Looks nice with new modules path: - >>> from rally.task import scenario - >>> @scenario.configure() - - - * Atomic Actions were changed: - - * New rally.task.atomic module - - This allow us in future to reuse atomic actions in Context plugins - - * Renames: - - rally.benchmark.scenarios.base.AtomicAction - -> rally.task.atomic.ActionTimer - - rally.benchmark.scenarios.base.atomic_action() - -> rally.task.atomic.action_timer() - - * **Context plugins decide how to map their data for scenario** - - Now Context.map_for_scenario method can be override to decide - how to pass context object to each iteration of scenario. - - * Samples of NEW vs OLD context, sla, scenario and runner plugins: - - * Context - .. code-block:: python - - # Old - from rally.benchmark.context import base - - @base.context(name="users", order=100) - class YourContext(base.Context): - - def setup(self): - # ... - - def cleanup(self): - # ... - - # New - from rally.task import context - - @context.configure(name="users", order=100) - class YourContext(context.Context): - - def setup(self): - # ... - - def cleanup(self): - # ... - - def map_for_scenario(self): - # Maps context object to the scenario context object - # like context["users"] -> context["user"] and so on. - .. - - - * Scenario - .. code-block:: python - - # Old Scenario - - from rally.benchmark.scenarios import base - from rally.benchmark import validation - - class ScenarioPlugin(base.Scenario): - - @base.scenario() - def some(self): - self._do_some_action() - - - @base.atomic_action_timer("some_timer") - def _do_some_action(self): - # ... - - # New Scenario - - from rally.task import atomic - from rally.task import scenario - from rally.task import validation - - # OpenStack scenario has different base now: - # rally.plugins.openstack.scenario.OpenStackScenario - class ScenarioPlugin(scenario.Scenario): - - @scenario.configure() - def some(self): - self._do_some_action() - - @atomic.action_timer("some_action") - def _do_some_action(self): - # ... - .. - - * Runner - .. code-block:: python - - ## Old - - from rally.benchmark.runners import base - - class SomeRunner(base.ScenarioRunner): - - __execution_type__ = "some_runner" - - def _run_scenario(self, cls, method_name, context, args) - # Load generation - - def abort(self): - # Method that aborts load generation - - ## New - - from rally.task import runner - - @runner.configure(name="some_runner") - class SomeRunner(runner.ScenarioRunner): - - def _run_scenario(self, cls, method_name, context, args) - # Load generation - - def abort(self): - # Method that aborts load generation - - .. - - * SLA - .. code-block:: python - - # Old - - from rally.benchmark import sla - - class FailureRate(sla.SLA): - # ... - - # New - - from rally.task import sla - - @sla.configure(name="failure_rate") - class FailureRate(sla.SLA): - # ... - .. - - -* **Rally Task aborted command** - - Finally you can gracefully shutdown running task by calling: - - .. code:: bash - - rally task abort - .. - -* **Rally CLI changes** - - * [add] ``rally --plugin-paths`` specify the list of directories with plugins - - * [add] ``rally task report --junit`` - generate a JUnit report - This allows users to feed reports to tools such as Jenkins. - - * [add] ``rally task abort`` - aborts running Rally task - when run with the ``--soft`` key, the ``rally task abort`` command is - waiting until the currently running subtask is finished, otherwise the - command interrupts subtask immediately after current scenario iterations - are finished. - - * [add] ``rally plugin show`` prints detailed information about plugin - - * [add] ``rally plugin list`` prints table with rally plugin names and titles - - * [add] ``rally verify genconfig`` generates tempest.conf without running it. - - * [add] ``rally verify install`` install tempest for specified deployment - - * [add] ``rally verify reinstall`` removes tempest for specified deployment - - * [add] ``rally verify uninstall`` uninstall tempest of specified deployment - - * [fix] ``rally verify start --no-use`` --no-use was always turned on - - * [remove] ``rally use`` now each command has subcommand ``use`` - - * [remove] ``rally info`` - - * [remove] ``rally-manage tempest`` now it is covered by ``rally verify`` - - -* **New Rally task reports** - - * New code is based on OOP style which is base step to make plugable Reports - - * Reports are now generated for only one iteration over the resulting data - which resolves scalability issues when we are working with large - amount of iterations. - - * New Load profiler plot that shows amount of iterations that are working - in parallel - - * Failed iterations are shown as a red areas on stacked are graphic. - -Non backward compatible changes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -* [remove] ``rally use`` cli command - -* [remove] ``rally info`` cli command - -* [remove] ``--uuid`` parameter from ``rally deployment `` - -* [remove ``--deploy-id`` parameter from: - ``rally task ``, ``rally verify ``, ``rally show `` Specs & Feature requests ~~~~~~~~~~~~~~~~~~~~~~~~ - [feature request] Explicitly specify existing users for scenarios - - [feature request] Improve install script and add --unistall and --version - - [feature request] Allows specific repos & packages in install-rally.sh - - [feature request] Add abbility to caputre logs from tested services - - [feature request] Check RPC queue perfdata - - [spec] Refactoring Rally cleanup - - [spec] Consistent resource names + There is no new specs and feature requests. Plugins ~~~~~~~ * **Scenarios**: - [new] CinderVolumes.create_volume_backup + [new] NeutronNetworks.create_and_list_floating_ips - [new] CinderVolumes.create_and_restore_volume_backup + [new] NeutronNetworks.create_and_delete_floating_ips - [new] KeystoneBasic.add_and_remove_user_role + [new] MuranoPackages.import_and_list_packages - [new] KeystoneBasic.create_and_delete_role + [new] MuranoPackages.import_and_delete_package - [new] KeystoneBasic.create_add_and_list_user_roles + [new] MuranoPackages.import_and_filter_applications - [new] FuelEnvironments.list_environments + [new] MuranoPackages.package_lifecycle - [new] CinderVolumes.modify_volume_metadata + [improved] NovaKeypair.boot_and_delete_server_with_keypair - [new] NovaServers.boot_and_delete_multiple_servers + New argument ``server_kwargs``, these kwargs are used to boot server. - [new] NeutronLoadbalancerV1.create_and_list_pool + [fix] NeutronLoadbalancerV1.create_and_delete_vips - [new] ManilaShares.list_shares - - [new] CeilometerEvents.create_user_and_get_event - - [new] CeilometerEvents.create_user_and_list_event_types - - [new] CeilometerEvents.create_user_and_list_events - - [new] CeilometerTraits.create_user_and_list_trait_descriptions - - [new] CeilometerTraits.create_user_and_list_traits - - [new] NeutronLoadbalancerV1.create_and_delete_pools - - [new] NeutronLoadbalancerV1.create_and_update_pools - - [new] ManilaShares.create_and_delete_share - - [new] ManilaShares.create_share_network_and_delete - - [new] ManilaShares.create_share_network_and_list - - [new] HeatStacks.create_and_delete_stack - - [new] ManilaShares.list_share_servers - - [new] HeatStacks.create_snapshot_restore_delete_stack - - [new] KeystoneBasic.create_and_delete_ec2credential - - [new] KeystoneBasic.create_and_list_ec2credentials - - [new] HeatStacks.create_stack_and_scale - - [new] ManilaShares.create_security_service_and_delete - - [new] KeystoneBasic.create_user_set_enabled_and_delete - - [new] ManilaShares.attach_security_service_to_share_network - - [new] IronicNodes.create_and_delete_node - - [new] IronicNodes.create_and_list_node - - [new] CinderVolumes.create_and_list_volume_backups - - [new] NovaNetworks.create_and_list_networks - - [new] NovaNetworks.create_and_delete_network - - [new] EC2Servers.list_servers - - [new] VMTasks.boot_runcommand_delete_custom_imagea - - [new] CinderVolumes.create_and_update_volume + Now it works in case of concurrency > 1 * **Contexts**: - [new] ManilaQuotas + [improved] network - Add context for setting up Manila quotas: - shares, gigabytes, snapshots, snapshot_gigabytes, share_networks + Network context accepts two new arguments: + ``subnets_per_network`` and ``network_create_args``. - [new] ManilaShareNetworks + [fix] network - Context for share networks that will be used in case of usage - deployment with existing users. Provided share networks via context - option "share_networks" will be balanced between all share creations - of scenarios. + Fix cleanup if nova-network is used. Networks should be dissociate from + project before deletion - [new] Lbaas + [fix] custom_image - Context to create LBaaS-v1 resources - - [new] ImageCommandCustomizerContext - - Allows image customization using side effects of a command execution. - E.g. one can install an application to the image and use these image - for 'boot_runcommand_delete' scenario afterwards. - - [new] EC2ServerGenerator - - Context that creates servers using EC2 api - - [new] ExistingNetwork - - This context lets you use existing networks that have already been - created instead of creating new networks with Rally. This is useful - when, for instance, you are using Neutron with a dumb router that is - not capable of creating new networks on the fly. - - -* **SLA**: - - [remove] max_failure_rate - use failure_rate instead + Nova server that is used to create custom image was not deleted if + script that prepares server failed. Bug fixes ~~~~~~~~~ -**90 bugs were fixed, the most critical are**: +**9 bugs were fixed, the most critical are**: -* Many fixes related that fixes access of rally.conf and DB files +* Fix install_rally.sh script -* Incorrect apt-get "-yes" parameter in install_rally.sh script + Set 777 access to /var/lib/rally/database file if system-wide method of + installation is used. -* Rally bash completion doesn't exist in a virtualenv +* Rally HTML reports Overview table had few mistakes -* Rally show networks CLI command worked only with nova networks + * Success rate was always 100% -* RPS runner was not properly generating load + * Percentiles were wrongly calculated -* Check is dhcp_agent_scheduler support or not in network cleanup +* Missing Ironic, Murano and Workload(vm) options in default config file -* NetworkContext doesn't work with Nova V2.1 +* ``rally verify start`` failed while getting network_id -* Rally task input file was not able to use jinja2 include directive - -* Rally in docker image was not able to - -* Rally docker image didn't contain samples - -* Do not update the average duration when iteration failed +* ``rally verify genconfig`` hangs forever if Horizon is not available Documentation ~~~~~~~~~~~~~ -* **Add plugin reference page** +* **Fix project maintainers page** - :ref:`Rally Plugins Reference page ` page contains a - full list with + Update the information about Rally maintainers -* **Add maintainers section on project info page** +* **Document rally --plugin-paths CLI argument** - :ref:`Rally Maintainers section ` contains information - about core contributors of OpenStack Rally their responsibilities and - contacts. This will help us to make our community more transparent and open - for newbies. +* **Code blocks in documentation looks prettier now** -* **Added who is using section in docs** - -* **Many small fixes**