Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • 3.2.0
  • 1.5.1
  • 1.5.0
    21630956 · Release 1.5.0 ·
    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.1
    a01a60bc · Propose 1.4.1 release ·
    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.0
    78f43cd9 · Remove morph dependency ·
    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.1
    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.0
    e22c247e · Rework docker integration ·
    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.1
    4ddf0bdb · Propose 1.2.1 release ·
    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.0
    f58317fe · Propose 1.2.0 release ·
    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.0
    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.0
    [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.1
    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.0
    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.2
    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.1
    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.0
    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.1
    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.9-eol
    This branch (stable/0.9) is at End Of Life
    
  • 0.10.0
    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.2
    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!