-
-
-
1.5.021630956 · ·
rally 1.5.0 release meta:version: 1.5.0 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: Iee7a609ef00e12dcee2a3f899ef531ffa68b8c72
-
1.4.1a01a60bc · ·
rally 1.4.1 release meta:version: 1.4.1 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: If6bcbfe1a4b70f44598cca73ddeed71d9fd06034 meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com> meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
-
1.4.078f43cd9 · ·
rally 1.4.0 release meta:version: 1.4.0 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: prazumovsky <prazumovsky@mirantis.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: Ie9de2a6a0ea913049976beb66c6f5cadafc59ed4 meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com> meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
-
0.9.11c2a63a1 · ·
It is in reality fix on base 0.9.1, but pbr treats it as dev branch when we use 0.9.1-T2.13.0, hence amending the tag.
-
1.3.0e22c247e · ·
rally 1.3.0 release meta:version: 1.3.0 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: If31dc51b1a8bdeecc5adec06ce0ff8548e545872 meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com> meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
-
1.2.14ddf0bdb · ·
rally 1.2.1 release meta:version: 1.2.1 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: I10b1e8ad007ed50f4bc38de468bdc51619e5e0b2 meta:release:Code-Review+2: Doug Hellmann <doug@doughellmann.com> meta:release:Workflow+1: Doug Hellmann <doug@doughellmann.com>
-
1.2.0f58317fe · ·
rally 1.2.0 release meta:version: 1.2.0 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Doug Hellmann <doug@doughellmann.com> meta:release:Change-Id: I2e819d51d962e89d84bfcdf4cc24326b80e1d4f0 meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com> meta:release:Code-Review+2: Doug Hellmann <doug@doughellmann.com> meta:release:Workflow+1: Doug Hellmann <doug@doughellmann.com>
-
1.1.0b5ba6d5e · ·
rally 1.1.0 release meta:version: 1.1.0 meta:diff-start: - meta:series: independent meta:release-type: release meta:pypi: yes meta:first: no meta:release:Author: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Commit: Andrey Kurilin <andr.kurilin@gmail.com> meta:release:Change-Id: Ib82d4ca1e2a39c921df2db90f4c9e620a10f70b6 meta:release:Code-Review+2: Sean McGinnis <sean.mcginnis@gmail.com> meta:release:Workflow+1: Sean McGinnis <sean.mcginnis@gmail.com>
-
1.0.05dfda156 · ·
[1.0.0] - 2018-06-20 It finally happened. We are happy to inform you that OpenStack plugins has a single home - https://github.com/openstack/rally-openstack . All in-tree plugins are removed now and framework part become more lightweight. What does it mean for you?! ~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you are interested only in OpenStack plugins, just change the package you are installing from ``rally`` to ``rally-openstack``. If you have custom OpenStack plugins which inherits from upstream, change python imports from ``rally.plugins.openstack`` to ``rally_openstack``. That is all. If you are interested not only in OpenStack, you can start using your favourite tool for various platforms and systems. Here you can find our first attempts to seize the world - https://github.com/xrally/xrally-docker and https://github.com/xrally/xrally-kubernetes. Changed ~~~~~~~ Since OpenStack plugins were moved to the separate repository, the new release notes should become light as well, so there is no need in separate pages for each release. All release notes will be aggregated in `a single file CHANGELOG.rst <https://github.com/openstack/rally/blob/master/CHANGELOG.rst>`_. Also, it is sad to mention, but due to OpenStack policies we need to stop duplicating release notes at ``git tag message``. At least for now. Removed ~~~~~~~ * All OpenStack related plugins. Fixed ~~~~~ * Validation of existing platforms in Python 3 environment. * Support of testr for verifiers.
-
0.12.1099183cb · ·
Rally v0.12.1 +------------------+-----------------------+ | Release date | **05/15/2018** | +------------------+-----------------------+ .. warning:: It is friendly reminder about the future of in-tree OpenStack plugins. All further development is done in `a separate project <https://github.com/openstack/rally-openstack>`_. In-tree plugins are deprecated and will be removed in next major release! * Fix loading configuration options from external plugins. Thanks ~~~~~~ 2 Everybody!
-
0.12.06dcaebdc · ·
Rally v0.12.0 +------------------+-----------------------+ | Release date | **05/08/2018** | +------------------+-----------------------+ .. warning:: It is friendly reminder about the future of in-tree OpenStack plugins. All further development is done in `a separate project <https://github.com/openstack/rally-openstack>`_. In-tree plugins are deprecated and will be removed in next major release! * Improve performance of *rally task import* command. * Port internals of Verification component to support pip 10 * Extend plugins interface to provide config options to load. An example of *setup.cfg*/*setup.py*: .. code-block:: [entry_points] rally_plugins = path = rally_openstack options = rally_openstack.cfg.opts:list_opts Method *list_opts* in the above example, returns a dict where key is a category name, value is a list of options. * Rework *ResourceType* plugin type. Previously, it was hard-coded for OpenStack resources only (initialization of OpenStack clients). An old interface looked like: .. code-block:: python from rally.common.plugin import plugin from rally.task import type @plugin.configure(name="glance") class GlanceResource(type.ResourceType): @classmethod def transform(cls, clients, resource_config): """Transform the resource config to id. :param clients: Initialized OpenStack clients :param resource_config: a dict with resource description taken from workload """ pass The new one: .. code-block:: python from rally.common.plugin import plugin from rally.task import type @plugin.configure(name="glance") class GlanceResource(type.ResourceType): def __init__(self, context, cache=None): """init method :param context: A context object as like other plugins accept. :param cache: A global cache which can be used for listing the similar resources. """ super(GlanceResource, self).__init__(context, cache) # NOTE #1: the next code is copy-pasted from # *rally_openstack.types.OpenStackResourceType* class and # there is no need to copy it to plugins itself, just inherit # from the right parent. # NOTE #2: the following code is equal to what we have in # an old ResourceType implementation. Property *self._clients* # is what was transmitted to transform method as *clients* # argument self._clients = None if self._context.get("admin"): self._clients = osclients.Clients( self._context["admin"]["credential"]) elif self._context.get("users"): self._clients = osclients.Clients( self._context["users"][0]["credential"]) def pre_process(self, resource_spec, config): """Pre process the resource config to id. :param resource_spec: a dict with resource description taken from workload :param config: A resource specification from scenario plugin. Usually it contains only *type* of resource. """ pass Fixed bugs ~~~~~~~~~~ * Fix deprecated *--tasks* argument of *rally task report*. Use *--uuid* instead. * Fix printing warning of an old deprecated deployment configuration format. Thanks ~~~~~~ 2 Everybody!
-
0.11.29fc9876a · ·
Rally v0.11.2 ============= +------------------+-----------------------+ | Release date | **03/29/2018** | +------------------+-----------------------+ * OpenStack plugins moved to the separate `repo <https://github.com/openstack/rally-openstack>`_ and `package <https://pypi.python.org/pypi/rally-openstack>`_ . In-tree OpenStack plugins are deprecated now and will be removed soon. All further development should be done in the new repository. * Environment manager and Platform plugins are extended with a new feature - creating a spec based on system environment variables. We had similar feature in Deployment component like below, but it handles only OpenStack platform. .. code-block:: console $ rally deployment create --name "my-deployment" --fromenv The new feature is not limited by one platform and each platform plugin can implement it. The usage of the feature is still pretty simple: .. code-block:: console $ rally env create --name "my-env" --from-sysenv * There is a new argument for `rally env show` command: **--only-spec**. It is a trigger for showing only a specification of the environment * Methods for association and dissociation floating ips were deprecated in novaclient a year ago and latest major release (python-novaclient 10) `doesn't include them <https://github.com/openstack/python-novaclient/blob/10.0.0/releasenotes/notes/remove-virt-interfaces-add-rm-fixed-floating-398c905d9c91cca8.yaml>`_. These actions should be performed via neutronclient now. It is not as simple as it was via Nova-API and you can find more neutron-related atomic actions in results of scenarios. * *os-hosts* CLIs and python API bindings had been deprecated in python-novaclient 9.0.0 and became removed in `10.0.0 release <https://github.com/openstack/python-novaclient/blob/10.0.0/releasenotes/notes/remove-hosts-d08855550c40b9c6.yaml>`_. This decision affected 2 scenarios `NovaHosts.list_hosts <https://rally.readthedocs.io/en/0.11.1/plugins/plugin_reference.html#novahosts-list-hosts-scenario>`_ and `NovaHosts.list_and_get_hosts <https://rally.readthedocs.io/en/0.11.1/plugins/plugin_reference.html#novahosts-list-and-get-hosts-scenario>`_ which become redundant and we cannot leave them (python-novaclient doesn't have proper interfaces any more). * Improvements of elasticsearch task exporter to cover the case when success rate of workload is not in range of 0-100. For example, it can happen when context fails.
-
0.11.17d30a6b9 · ·
Rally v0.11.1 ============= Overview -------- +------------------+-----------------------+ | Release date | **02/27/2018** | +------------------+-----------------------+ * Fix database migration * Un-cup kubernetes client version in requirements * Add support for sTestr for verifiers * Add several new scenarios for Gnocchi Details ------- DataBase ~~~~~~~~ Rally <0.10.0 was hardcoded to support only OpenStack platform. That is why deployment config had a flat schema (i.e openstack credentials were at the same top-level as other properties). Rally 0.10 includes an attempt to unify deployment component for supporting multiple platforms. The deployment config was extended with a new top level property ``creds`` which was designed to include credentials for different platforms. Since Task and Verification components used deployment.credentials object from database instead of using deployment config directly, Rally 0.10 did not provide a database migration of deployment config. While developing Rally 0.11.0 with new Environment component, we made a wrong assumption and forgot about an old format. That is why a 7287df262dbc migration relied on "creds" property of deployment.config If the database was created before Rally<0.10, the introduced assumption leads to KeyError failure[0] for old deployment configuration: .. code-block:: console File ".../7287df262dbc_move_deployment_to_env.py", line 137, in upgrade and (set(spec["creds"]) == {"openstack"} KeyError: 'creds' We fixed this issue and you should easily migrate from Rally < 0.11.0 to Rally 0.11.1 without any issues. Verification component ~~~~~~~~~~~~~~~~~~~~~~ OpenStack Tempest team made a decision to switch from `testrepository <https://testrepository.readthedocs.org/en/latest>`_ test runner to `stestr <https://github.com/mtreinish/stestr>`_ which is fork of testrepository. Despite the fact that stestr is not 100% backwards compatible with testrepository, it is not a hard task to make `Tempest verifier <https://rally.readthedocs.io/en/0.11.1/verification/verifiers.html#tempest>`_ work with both of them (to support new releases of tempest tool as like old ones) and it is what we did in Rally 0.11.1 Plugins ~~~~~~~ **Scenarios**: * *NEW!!* `GnocchiArchivePolicyRule.list_archive_policy_rule <https://rally.readthedocs.io/en/0.11.1/plugins/plugin_reference.html#gnocchiarchivepolicyrule-list-archive-policy-rule-scenario>`_ `GnocchiArchivePolicyRule.create_archive_policy_rule <https://rally.readthedocs.io/en/0.11.1/plugins/plugin_reference.html#gnocchiarchivepolicyrule-create-archive-policy-rule-scenario>`_ `GnocchiArchivePolicyRule.create_delete_archive_policy_rule <https://rally.readthedocs.io/en/0.11.1/plugins/plugin_reference.html#gnocchiarchivepolicyrule-create-delete-archive-policy-rule-scenario>`_ Thanks ~~~~~~ 2 Everybody!
-
0.11.00ba733e5 · ·
Rally v0.11.0 Overview -------- +------------------+-----------------------+ | Release date | **02/16/2018** | +------------------+-----------------------+ * Stabilize Rally releases (see requirements section) * Publishing docker images is returned! * Environment introduction (see Deployment section) Details ------- Requirements ~~~~~~~~~~~~ As for long time we tried to make our releases stable and workable even after a year from release date. For this purpose, upper limits for all our requirements were used. Such solution helped to make releases more stable, but it did not work well and created more pain than a profit. The main issue was related to new releases of not-direct rally dependencies which can be incompatible which each other. From Rally 0.11.0 we are stopping adding upper version limits for our `requirements <https://github.com/openstack/rally/blob/0.11.0/requirements.txt>`_ (this does not apply to cases when we sure that some new releases of dependency broke us for sure). As alternative solution, the `upper-constraints file <https://github.com/openstack/rally/blob/0.11.0/upper-constraints.txt>`_ is selected. It is a file with a list of packages and their versions which we used in our CI while testing. Versions from this list are suggested to use in production. Please note, that it also contains not direct Rally dependencies (dependencies of rally dependencies and dependencies of dependencies of rally dependencies as well) and packages which possibly doesn't relate to Rally at all. The example ou usage: .. console:: bash $ git clone https://github.com/openstack/rally && cd rally $ pip install . --constraint upper-constraints.txt Logging ~~~~~~~ The default value of ``use_stderr`` option of Rally config is changed to **True**. It is done to ensure that json output of rally commands will not be messed with logging and integration with third-party tools and scripts should become simpler. Docker ~~~~~~ Unfortunately, we lost access to `rallyforge organization at DockerHub <https://hub.docker.com/r/rallyforge/>`_, so our docker images were not published anywhere officially for some time. Docker Support did not help us a lot. At least, the original repo is removed now and we can start new organization at DockerHub from the scratch. The new docker images for Rally+OpenStack plugins with an updated HowTo you can find at `xrally/xrally-openstack repo <https://hub.docker.com/r/xrally/xrally-openstack>`_. It contains all Rally releases + latest tag which maps to master branch. Command Line Interface ~~~~~~~~~~~~~~~~~~~~~~ * Introduce `rally db ensure <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#rally-db-ensure>`_ command. It is going to create Rally DB if it doesn't exist, otherwise it does nothing. * Various improvements for `rally db <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#category-db>`_. Such as printing results of operations as well as connection string to DB, hiding credentials by default, etc. * Various changes in returning error codes. Error codes become different for different exceptions. Also, `rally task start <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#rally-task-start>`_ began to return 1 in case of any runtime issues and 2 if any workload doesn't pass it's SLA. * The new CLI for new component (see ``Environments & Deployments`` section for more details) - `rally env <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#category-env>`_ Environments & Deployments ~~~~~~~~~~~~~~~~~~~~~~~~~~ Deployment Component is fundamental part of Rally which is used by Task and Verification components. Whereas Task and Verification components experienced redesigns (some parts were redesigned even several times), Deployment component was only extended over the time. Currently, we are at the point when further extending requires much work and user experience become worth. It is a hard decision, as like we had done with Verification component in Rally 0.8, the Deployment component is re-written from the scratch. To be clear, the new version of the component has not only the new code, but the new name as well - it is the Environment. We are at the stage when Rally is suitable not only for OpenStack but for various platforms and systems. The Environment is some entity against which Rally should perform load. The specific Environment can include credentials for OpenStack or for Kubernetes or for both. The Environment is a way to describe the complex system/cloud which all of us have. As well it can be used for simple systems as easy as for complex. If you are regular Rally user which tests OpenStack clusters, nothing is changing for you at this moment. `rally deployment <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#category-deployment>`_ CLI still works and it is not even deprecated. It will be kept for a while. But you can start looking at our new CLI `rally env <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#category-env>`_ . As for writing plugins for external platforms - we are working on updating our documentary. Task component ~~~~~~~~~~~~~~ * The json results are extended with context execution stats (i.e when and which context was executed, how much time setup and cleanup methods took, etc). Also, `volumes@openstack <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#volumes-context>`_ and `volume_types@openstack <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#volume-types-context>`_ are ported to include detailed stats of executed actions. In further releases, all existing contexts will be adopted to the similar behavior. * Better OSProfiler integration Rally environment&deployment config began accept ``profiler_conn_str`` property which is used to generate OSProfiler native html-report and to embed it to Rally's html-report. * HTML report is extended to include a timestamp of failures. Plugins ~~~~~~~ As it mentioned above, the Deployment Component will be replaced soon. Such decision led to abandoning all deployment-related plugins (engines, providers, etc). **Scenarios**: * *NEW!!* `NovaServers.boot_server_attach_volume_and_list_attachments <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservers-boot-server-attach-volume-and-list-attachments-scenario>`_ * *UPDATED!!* - Extend several Nova&Neutron related scenarios with ``create_floating_ip_args`` parameter `NovaServers.boot_and_associate_floating_ip <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#novaservers-boot-and-associate-floating-ip-scenario>`_ `NovaServers.boot_server_associate_and_dissociate_floating_ip <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#novaservers-boot-server-associate-and-dissociate-floating-ip-scenario>`_ - Modify Bgpvpn scenarios to test true bgpvpn All Bgpvpn scenarios began to boot a server to add active port in the network associated to the bgpvpn which allows to test not only the record in the database, but true bgpvpn **Contexts**: *UPDATED!!* `network@openstack <https://rally.readthedocs.io/en/latest/plugins/plugin_reference.html#network-context>`_ context is extended with ability to specify external router information. Fixed bugs ~~~~~~~~~~ * [backported into 0.10.1][deployment] Suppress deprecation warning about an old format in case of using `--fromenv option of rally deployment create <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#deployment-create-fromenv>`_ * [backported into 0.10.1][deployment] Failure `rally deployment show <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#deployment-show>`_ while displaying the information about deployment with a config in an old format. * [backported into 0.10.1][task] New json report processed the hook results in a wrong way `Launchpad bug-report #1734336 <https://bugs.launchpad.net/rally/+bug/1734336>`_ * [backported into 0.10.1][task] Failure while generating trends reports in case of failures in setup method of any context `Launchpad bug-report #1732193 <https://bugs.launchpad.net/rally/+bug/1732193>`_ * [backported into 0.10.1][task] Failure to export results in ElasticSearch 5.x cluster in case of extra ``/`` in the end of destination url. * [deployment] OpenStack deployment creation with `--fromenv <https://rally.readthedocs.io/en/0.11.0/cli_reference.html#deployment-create-fromenv>`_ option used old deprecated format. * [verify] Rally did not support creating verifiers from Gerrit/SSH source. `Launchpad bug-report #1737529 <https://bugs.launchpad.net/rally/+bug/1737529>`_ * [task][openstack] Removing default security group in users@openstack context did not take into account that neutron can return multiple resources in some configuration instead of one security group which relates to requested tenant. * [task][openstack] Existing openstack users get their roles un-assigned if they are equal to what roles@openstack context is configured to assign. `Launchpad bug-report #1720270 <https://bugs.launchpad.net/rally/+bug/1720270>`_ * [task][openstack] Validation step ignores roles@openstack context and marks as "invalid" valid cases Some actions in openstack can be performed only if the user has specific role. Since these roles can be different in different OpenStack installations Rally has `roles@openstack context <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#roles-context>`_ context which can assign roles to the users. Validation step did not check for specified roles in workload config and made wrong assumption about accessibility of resources `Launchpad bug-report #1539878 <https://bugs.launchpad.net/rally/+bug/1539878>`_ * [task][openstack] Wrong identifiers were used for filtering Mistral resources while cleanup step. * [task][openstack] `NovaServers.boot_and_live_migrate_server <https://rally.readthedocs.io/en/0.11.0/plugins/plugin_reference.html#novaservers-boot-and-live-migrate-server-scenario>`_ does wrong target host selection `Launchpad bug-report #1734914 <https://bugs.launchpad.net/rally/+bug/1734914>`_ Thanks ~~~~~~ 2 Everybody!
-
0.10.107539730 · ·
Rally v0.10.1 ============= Overview -------- +------------------+-----------------------+ | Release date | **12/05/2017** | +------------------+-----------------------+ Details ------- This release is fully backward compatible with Rally 0.10.0 and contains just bug fixes. Fixed bugs ~~~~~~~~~~ * [deployment] Suppress deprecation warning about an old format in case of using `--fromenv option of rally deployment create <https://rally.readthedocs.io/en/0.10.1/cli_reference.html#deployment-create-fromenv>`_ * [deployment] Failure `rally deployment show <https://rally.readthedocs.io/en/0.10.1/cli_reference.html#deployment-show>`_ while displaying the information about deployment with a config in an old format. * [task] New json report processed the hook results in a wrong way `Launchpad bug-report #1734336 <https://bugs.launchpad.net/rally/+bug/1734336>`_ * [task] Failure while generating trends reports in case of failures in setup method of any context `Launchpad bug-report #1732193 <https://bugs.launchpad.net/rally/+bug/1732193>`_ * [task] Failure to export results in ElasticSearch 5.x cluster in case of extra ``/`` in the end of destination url. Thanks ~~~~~~ 2 Everybody!
-
0.10.07153e0cb · ·
Rally v0.10.0 ============= Overview -------- +------------------+-----------------------+ | Release date | **10/20/2017** | +------------------+-----------------------+ * Ability to use OpenStack deployments without admin credentials * Better validation process of tasks * New task format (with an ability to set description for workloads) * New JSON report * ElasticSearch exporter * `OSProfiler support <https://rally.readthedocs.io/en/0.10.0/quick_start/tutorial/step_11_profiling_openstack_internals.html>`_ * Restructure of configuration options. Details ------- Command Line Interface ~~~~~~~~~~~~~~~~~~~~~~ * Introduce `rally task import <https://rally.readthedocs.io/en/0.10.0/cli_reference.html#rally-task-import>`_ command for importing task results into database. * Extend tags support for tasks. Now you can specify several tags for a single task using `--tag argument <https://rally.readthedocs.io/en/0.10.0/cli_reference.html#task-start-tag>`_. Also filtering tasks by tags is now available. * Move DB category from ``rally-manage db`` to `rally db <https://rally.readthedocs.io/en/0.10.0/cli_reference.html#category-db>`_ and introduce `rally db show <https://rally.readthedocs.io/en/0.10.0/cli_reference.html#rally-db-show>`_ command for printing the used connection string. Deployments ~~~~~~~~~~~ This release we started a huge work related to simplification of deployment component of Rally. There is a good progress which includes several nice features: * The format. "ExistingCloud" deployment type covers 99.99% cases and is used as a base for all new things. Also, it will be extended to support different platforms soon. The new format looks like (for OpenStack case): .. code-block:: json { "openstack": { "admin": { "username": "admin", "password": "changeme", "tenant_name": "foo", }, "auth_url": "https://example.com", } } * admin user is optional in case of setting existing users. From the beginning, setting admin credentials was a required section of Rally deployment configuration. Even with introducing existing users feature, this behaviour left. Finally, we finished a big code refactoring and admin credential become optional section. If a set of plugins for particular workload doesn't require admin user, you can launch this task at deployment without setting it. The information about the requirements of plugins you can find at `Plugins Reference page <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html>`_ (see ``Requires platform(s):`` section at the bottom of each plugin). * Originally, Rally project was designed to check performance of OpenStack and we succeeded in building awesome tool. We do not plan to stop and just want to inform about our future plans to expand a number of supported platforms. Subscribe to our `GitHub organization <https://github.com/xrally>`_ to not miss new plugins. Task component ~~~~~~~~~~~~~~ * The new task format is introduced. It includes a bunch of improvements, unification, etc. All the docs and samples will be updated soon. As for now, you can check `a spec <https://github.com/openstack/rally/blob/0.10.0/doc/specs/implemented/new_rally_input_task_format.rst>`_ for this big change. * SLA failure_rate max=0 become a default if nothing else is specified. * Totally reworked atomic actions. The atomic actions now supports nested actions which allows to measure durations inside the scenario even more precise. You can find them in HTML report or in our new json report (see ``rally task report --json``). * Generation of names for new resources takes care about particular workload id, so it helps to provide a better cleanup and prepare for new feature - disaster cleanup. Plugins ~~~~~~~ We started supporting discovering plugins by entry-points, so you can easily deliver your custom plugins as a simple python package. To make you package after-discoverable, you need to specify the proper entry-point at your setup.cfg file: .. code-block:: rally_plugins = path=package_name **Deployment Engines**: Remove serverproviders & rarely used deployers Unfortunately, seems like nobody is using deployers for deploying their clouds and mostly people would like just to execute their code. 1) Remove server provides 2) Remove engines that uses server providers **OpenStack clients**: * Deprecate EC2 client. It wasn't used in any of plugins and doesn't support keystone v3 * Move ``rally.osclients`` module to ``rally.plugins.openstack.oscliens`` **Scenarios**: The old way to describe scenario plugin via method is finally removed. Initially Rally scenario plugins were methods of special class, like below: .. code-block:: python from rally.task import scenario class SomeBasicClass(scenario.Scenario): @scenario.configure() def some_scenario(self, arg1): """An implementation of SomeBasicClass.foo scenario.""" @scenario.configure() def another_scenario(self): """Implementation of another scenario, SomeBasicClass.bar.""" However to unify scenarios with other plugins we moved to model where plugin is class. It was done long time ago. .. code-block:: python from rally.task import scenario @scenario.configure(name="CustomName") class Some(scenario.Scenario): def run(self, arg1): """An implementation of the scenario.""" We had a bunch of code that was used for transition and backward compatibility that we finally removed. * *NEW!!* - `CinderQos.create_and_get_qos <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cinderqos-create-and-get-qos-scenario>`_ - `CinderQos.create_and_list_qos <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cinderqos-create-and-list-qos-scenario>`_ - `CinderQos.create_and_set_qos <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cinderqos-create-and-set-qos-scenario>`_ - `CinderQos.create_qos_associate_and_disassociate_type <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cinderqos-create-qos-associate-and-disassociate-type-scenario>`_ - `CinderVolumeTypes.create_and_get_volume_type <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-and-get-volume-type-scenario>`_ - `CinderVolumeTypes.create_and_list_volume_types <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-and-list-volume-types-scenario>`_ - `CinderVolumeTypes.create_and_update_encryption_type <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-and-update-encryption-type-scenario>`_ - `CinderVolumeTypes.create_and_update_volume_type <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-and-update-volume-type-scenario>`_ - `CinderVolumeTypes.create_get_and_delete_encryption_type <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-get-and-delete-encryption-type-scenario>`_ - `CinderVolumeTypes.create_volume_type_add_and_list_type_access <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumetypes-create-volume-type-add-and-list-type-access-scenario>`_ - `Dummy.openstack <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#dummy-openstack-scenario>`_ - `GlanceImages.create_and_deactivate_image <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#glanceimages-create-and-deactivate-image-scenario>`_ - `GlanceImages.create_and_download_image <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#glanceimages-create-and-download-image-scenario>`_ - `GlanceImages.create_and_get_image <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#glanceimages-create-and-get-image-scenario>`_ - `GlanceImages.create_and_update_image <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#glanceimages-create-and-update-image-scenario>`_ - `K8sPods.create_pods <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#k8spods-create-pods-scenario>`_ - `K8sPods.create_rcs <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#k8spods-create-rcs-scenario>`_ - `K8sPods.list_pods <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#k8spods-list-pods-scenario>`_ - `ManilaShares.create_and_extend_share <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#manilashares-create-and-extend-share-scenario>`_ - `ManilaShares.create_and_shrink_share <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#manilashares-create-and-shrink-share-scenario>`_ - `ManilaShares.create_share_then_allow_and_deny_access <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#manilashares-create-share-then-allow-and-deny-access-scenario>`_ - `NeutronBGPVPN.create_and_delete_bgpvpns <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-and-delete-bgpvpns-scenario>`_ - `NeutronBGPVPN.create_and_list_bgpvpns <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-and-list-bgpvpns-scenario>`_ - `NeutronBGPVPN.create_and_list_networks_associations <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-and-list-networks-associations-scenario>`_ - `NeutronBGPVPN.create_and_list_routers_associations <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-and-list-routers-associations-scenario>`_ - `NeutronBGPVPN.create_and_update_bgpvpns <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-and-update-bgpvpns-scenario>`_ - `NeutronBGPVPN.create_bgpvpn_assoc_disassoc_networks <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-bgpvpn-assoc-disassoc-networks-scenario>`_ - `NeutronBGPVPN.create_bgpvpn_assoc_disassoc_routers <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronbgpvpn-create-bgpvpn-assoc-disassoc-routers-scenario>`_ - `NeutronNetworks.create_and_show_ports <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronnetworks-create-and-show-ports-scenario>`_ - `NeutronNetworks.create_and_show_routers <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronnetworks-create-and-show-routers-scenario>`_ - `NeutronNetworks.create_and_show_subnets <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronnetworks-create-and-show-subnets-scenario>`_ - `NeutronNetworks.set_and_clear_router_gateway <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronnetworks-set-and-clear-router-gateway-scenario>`_ - `NeutronSecurityGroup.create_and_delete_security_group_rule <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronsecuritygroup-create-and-delete-security-group-rule-scenario>`_ - `NeutronSecurityGroup.create_and_list_security_group_rules <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronsecuritygroup-create-and-list-security-group-rules-scenario>`_ - `NeutronSecurityGroup.create_and_show_security_group <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronsecuritygroup-create-and-show-security-group-scenario>`_ - `NeutronSecurityGroup.create_and_show_security_group_rule <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#neutronsecuritygroup-create-and-show-security-group-rule-scenario>`_ - `NovaServerGroups.create_and_delete_server_group <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservergroups-create-and-delete-server-group-scenario>`_ - `NovaServerGroups.create_and_get_server_group <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservergroups-create-and-get-server-group-scenario>`_ - `NovaServers.boot_and_get_console_url <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservers-boot-and-get-console-url-scenario>`_ - `NovaServers.boot_server_and_attach_interface <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservers-boot-server-and-attach-interface-scenario>`_ - `NovaServers.boot_server_and_list_interfaces <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservers-boot-server-and-list-interfaces-scenario>`_ - `NovaServers.boot_server_attach_volume_and_list_attachments <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novaservers-boot-server-attach-volume-and-list-attachments-scenario>`_ * *UPDATED!!* - The new argument ``properties`` is added to scenario `IronicNodes.create_and_list_node <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#ironicnodes-create-and-list-node-scenario>`_ * *DELETED* Fuel and Nova-Network are not alive any more. So we removed those scenarios. If any of those scenarios a critical for you, please contact us. - `FuelEnvironments.create_and_delete_environment <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#fuelenvironments-create-and-delete-environment-scenario>`_ - `FuelEnvironments.create_and_list_environments <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#fuelenvironments-create-and-list-environments-scenario>`_ - `FuelNodes.add_and_remove_node <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#fuelnodes-add-and-remove-node-scenario>`_ - `NovaFloatingIpsBulk.create_and_delete_floating_ips_bulk <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novafloatingipsbulk-create-and-delete-floating-ips-bulk-scenario>`_ - `NovaFloatingIpsBulk.create_and_list_floating_ips_bulk <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novafloatingipsbulk-create-and-list-floating-ips-bulk-scenario>`_ - `NovaNetworks.create_and_delete_network <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novanetworks-create-and-delete-network-scenario>`_ - `NovaNetworks.create_and_list_networks <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novanetworks-create-and-list-networks-scenario>`_ - `NovaSecGroup.boot_and_delete_server_with_secgroups <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novasecgroup-boot-and-delete-server-with-secgroups-scenario>`_ - `NovaSecGroup.boot_server_and_add_secgroups <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novasecgroup-boot-server-and-add-secgroups-scenario>`_ - `NovaSecGroup.create_and_delete_secgroups <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novasecgroup-create-and-delete-secgroups-scenario>`_ - `NovaSecGroup.create_and_list_secgroups <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novasecgroup-create-and-list-secgroups-scenario>`_ - `NovaSecGroup.create_and_update_secgroups <https://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novasecgroup-create-and-update-secgroups-scenario>`_ **Validators**: The validators refactoring was a long-term task which blocked us to abandon alignment to only OpenStack platform and requirements of setting admin credentials. In this release, we made a great progress and fixed a lot of issues and blockers which made possible to refactor validators. Now validation step is equal for all types of plugins (Scenario, SLA, Context, Hooks, Runners, etc). The old way to add validator for scenario is deprecated. The new unified way looks like: .. code-block:: python import time from rally.common import validation from rally.task import scenario @validation.add("number", param_name="timeout", minval=0) @scenario.configure(name="Foo.bar") class FooScenario(scenario.Scenario): def run(self, timeout): time.sleep() The old validators from ``rally.task.validators`` module is deprecated too, see equivalents which can be used with ``add`` decorator: - required_openstack --> `required_platform <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-platform-validator>`_ with setting platform argument to "openstack" - external_network_exists ->`external_network_exists <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#external-network-exists-validator>`_ - file_exists ->`file_exists <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#file-exists-validator>`_ - flavor_exists ->`flavor_exists <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#flavor-exists-validator>`_ - image_exists ->`image_exists <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#image-exists-validator>`_ - image_valid_on_flavor ->`image_valid_on_flavor <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#image-valid-on-flavor-validator>`_ - number ->`number <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#number-validator>`_ - required_api_versions ->`required_api_versions <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-api-versions-validator>`_ - required_cinder_services ->`required_cinder_services <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-cinder-services-validator>`_ - required_clients ->`required_clients <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-clients-validator>`_ - required_contexts ->`required_contexts <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-contexts-validator>`_ - required_neutron_extensions ->`required_neutron_extensions <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-neutron-extensions-validator>`_ - required_param_or_context ->`required_param_or_context <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-param-or-context-validator>`_ - required_services ->`required_services <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#required-services-validator>`_ - restricted_parameters ->`restricted_parameters <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#restricted-parameters-validator>`_ - validate_heat_template ->`validate_heat_template <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#validate-heat-template-validator>`_ - volume_type_exists ->`volume_type_exists <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#volume-type-exists-validator>`_ - workbook_contains_workflow -> `workbook_contains_workflow <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#workbook-contains-workflow-validator>`_ - network_exists is removed, since we do not find any customers for it. Please contact us if it was useful for you. - validate_share_proto is removed in favor of enum validator Fixed bugs ~~~~~~~~~~ * [plugins] JSON schema of `servers <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#servers-context>`_ context allows to transmit a list of nics in two formats. First one is a format that novaclient expects to see (each network should be represented like ``{"nic-id": "the id of the network"}``). The second one is more user-friendly - just list of strings (each network should be represented just by id of the network). Unfortunately, the second case was not covered by our code base. Also, the first described format works in limited cases due to bad serialization. `Launchpad bug-report #1695245 <https://bugs.launchpad.net/rally/+bug/1695245>`_ * [deployment] ~/rally/.openrc not working for keystone v3 `Launchpad bug-report #1683820 <https://bugs.launchpad.net/rally/+bug/1683820>`_ * [plugins] Failed to list volumes in case of missed name in the object. * [backported into 0.9.1][deployment] Credentials is not updated as soon as deployment is recreated. Need to call recreate request twice. `Launchpad bug-report #1675271 <https://bugs.launchpad.net/rally/+bug/1675271>`_ * [backported into 0.9.1][plugins] Scenario `IronicNodes.create_and_list_node <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#ironicnodes-create-and-list-node-scenario>`_ had a wrong check that list of all nodes contains newly created one. * [backported into 0.9.1][task][cleanup] Do not remove quotas in case of existing users * [backported into 0.9.1][task][cleanup] Various traces of neutron resources * [backported into 0.9.1][core] Keystone v3, authentication error for Rally users if the value of project_domain_name of admin user isn't equal "default" `Launchpad bug-report #1680837 <https://bugs.launchpad.net/rally/+bug/1680837>`_ * [backported into 0.9.1][task] Scenario `NovaHosts.list_and_get_hosts <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#novahosts-list-and-get-hosts-scenario>`_ obtains hostname for all hosts. But it fails in some environments if host is not compute. `Launchpad bug-report #1675254 <https://bugs.launchpad.net/rally/+bug/1675254>`_ * [backported into 0.9.1][verification] Rally fails to run on systems on which python-virtualenv is not installed `Launchpad bug-report #1678047 <https://bugs.launchpad.net/rally/+bug/1678047>`_ * [backported into 0.9.1][verification] CLI `rally verify rerun <https://rally.readthedocs.io/en/0.9.1/verification/cli_reference.html#rally-verify-rerun>`_ fails with TypeError due to wrong integration with Rally API. * [plugins] Rally fails while creating neutron router on the clouds where ext-gw-mode extension is not installed. * [plugins] Scenario `CinderVolumes.create_nested_snapshots_and_attach_volume <https://rally.readthedocs.io/en/0.10.0/plugins/plugin_reference.html#cindervolumes-create-nested-snapshots-and-attach-volume-scenario>`_ fails on a big load due to the fact that one server is used for several iterations. In such case we are facing 2 issues: the maximum number of volumes per VM is 26 (which is a number of available names for volumes); detaching volume of one iteration can block attaching of other iterations. `Launchpad bug-report #1708160 <https://bugs.launchpad.net/rally/+bug/1708160>`_ Thanks ~~~~~~ 2 Everybody!
-
0.9.2d51e4467 · ·
Rally v0.9.2 ============ Overview -------- +------------------+-----------------------+ | Release date | **10/20/2017** | +------------------+-----------------------+ Details ------- The latest OpenStack merged a bunch of incompatible changes. This release is an attempt to fix compatibitily issuses in Rally 0.9. Now it works well for old and new OpenStack releases. .. note:: OpenStack Nova abandoned networking and image API. It is impossible to do anything with it, so we suggest you to use Neutron and Glance instead. Fixed bugs ~~~~~~~~~~ * [broken dependency] One of hook plugins required ansible which released incompatible version. To fix this, the proper version of os-faults lib should be used * [keystone] The format of keystone URL's completely change which resulted in a wrong processing it from our side. Thanks ~~~~~~ 2 Everybody!