Tags give the ability to mark specific points in history as being important
-
0.9.1
ef2b6177 · ·Rally v0.9.1 ============ Overview -------- +------------------+-----------------------+ | Release date | **4/12/2017** | +------------------+-----------------------+ Details ------- Unfortunately, Rally 0.9.0 contains various bugs. We work hard to fix them, improve our CI to avoid such issues in future and ready to present a new Rally release which includes only bug-fixes. Fixed bugs ~~~~~~~~~~ * [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>`_ * [task] Scenario `IronicNodes.create_and_list_node <https://rally.readthedocs.io/en/0.9.1/plugins/plugin_reference.html#ironicnodes-create-and-list-node-scenario>`_ had a wrong check that list of all nodes contains newly created one. * [task][cleanup] Do not remove quotas in case of existing users * [task][cleanup] Various traces of neutron resources * [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>`_ * [task] Scenario `NovaHosts.list_and_get_hosts <https://rally.readthedocs.io/en/0.9.1/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>`_ * [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>`_ * [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 wring integration with Rally API. Thanks ~~~~~~ 2 Everybody!
-
0.9.0
797b1735 · ·Rally v0.9.0 ============ Overview -------- +------------------+-----------------------+ | Release date | **3/20/2017** | +------------------+-----------------------+ Details ------- Command Line Interface ~~~~~~~~~~~~~~~~~~~~~~ * `rally plugin list` now does not contain hidden plugins. Task component ~~~~~~~~~~~~~~ * Added check for duplicated keys in task files. * The order of subtasks (scenarios/workloads) is not ignored any more. You can generate whatever you want load or use that feature for up the cloud (put small scenario to the start of task to wake up the cloud before the real load). * Information about workload creation is added to HTML-reports. * Task statuses is changed to be more clear and cover more cases: - ``verifying`` is renamed to ``validating``. - ``failed`` is divided for 2 statuses - ``validation_failed``, which means that task did not pass validation step, and ``crashed``, which means that something went wrong in rally engine. * Our awesome cleanup become more awesome! The filter mechanism is improved to discover resources in projects created only by Rally (it works for most of resources, except several network-related ). It makes possible to run Rally with existing users in real tenants without fear to remove something important. Verification component ~~~~~~~~~~~~~~~~~~~~~~ * Fixed an issue with missed tests while listing all supported tests of specified verifier. * Fixed an issue with displaying the wrong version of verifier in case of cloning from the local directory. * Extend `rally verify rerun <http://rally.readthedocs.io/en/0.9.0/verification/cli_reference.html#rally-verify-rerun>`_ with ``--detailed``, ``--no-use``, ``--tag`` and ``--concurrency`` arguments. * Add output examples for `JSON <http://rally.readthedocs.io/en/0.9.0/verification/reports.html#json>`_ and `JUnit-XML <http://rally.readthedocs.io/en/0.9.0/verification/reports.html#junit-xml>`_ reporters. Plugins ~~~~~~~ **Contexts** * Extend cinder quotas to support ``backups`` and ``backup_gigabytes``. **Deployment Engines**: *Updated* Extend `DevstackEngine <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#devstackengine-engine>`_ with ``enable_plugin`` option. **OpenStack clients**: * Extend support for auth urls like ``https://example.com:35357/foo/bar/v3`` * Pass endpoint type to heatclient **Scenarios**: * *NEW!!* - `CinderVolumeTypes.create_and_delete_encryption_type <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#cindervolumetypes-create-and-delete-encryption-type-scenario>`_ - `CinderVolumeTypes.create_and_set_volume_type_keys <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#cindervolumetypes-create-and-set-volume-type-keys-scenario>`_ - `KeystoneBasic.create_and_list_roles <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#keystonebasic-create-and-list-roles-scenario>`_ - `KeystoneBasic.create_and_update_user <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#keystonebasic-create-and-update-user-scenario>`_ - `NovaKeypair.create_and_get_keypair <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novakeypair-create-and-get-keypair-scenario>`_ - `NovaServers.resize_shutoff_server <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#novaservers-resize-shutoff-server-scenario>`_ - `VMTasks.dd_load_test <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#vmtasks-dd-load-test-scenario>`_ * *UPDATED!!* - Extend `VMTasks.boot_runcommand_delete <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#vmtasks-boot-runcommand-delete-scenario>`_ to display just raw text output of executed command. * *DELETED* Scenario `VMTasks.boot_runcommand_delete_custom_image <http://rally.readthedocs.io/en/0.8.0/plugins/plugin_reference.html#vmtasks-boot-runcommand-delete-custom-image-scenario>`_ is removed since `VMTasks.boot_runcommand_delete <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#vmtasks-boot-runcommand-delete-scenario>`_ covers the case of that particular scenario without adding any complexity. **Validators**: * Extend ``required_contexts`` validator to support ``at least one of the`` logic. * Fix a bunch of JSON schemas which are used for validation of all plugins. Documentation ~~~~~~~~~~~~~ We totally reworked `Plugins Reference <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html>`_ page. Now it looks more like `Command Line Interface <http://rally.readthedocs.io/en/0.9.0/cli_reference.html>`_, which means that you can get links for particular parameter of particular plugin. Also, you can find expected parameters and their types of all contexts, hooks, SLAs and so on! Most of them still miss descriptions, but we are working on adding them. Fixed bugs ~~~~~~~~~~ * [osclients] Custom auth mechanism was used for zaqarclient instead of unified keystonesession, which led to auth errors at some envs. * [plugins] During running `CinderVolumes.create_and_restore_volume_backup <http://rally.readthedocs.io/en/0.9.0/plugins/plugin_reference.html#cindervolumes-create-and-restore-volume-backup-scenario>`_ scenario we had a race problem with backup deleting due to wrong check of backup status. * [plugins][verifications] Jenkins expexts "classname" JUnitXML attribute instead of "class_name". Thanks ~~~~~~ 2 Everybody!
-
0.8.1
2ff6423b · ·Rally v0.8.1 ============ Overview -------- +------------------+-----------------------+ | Release date | **1/27/2017** | +------------------+-----------------------+ Details ------- Fix for python requirements list. Plugins ~~~~~~ **Scenarios**: * *Updated*: - Use new network for each subnet at `NeutronNetworks.create_and_list_subnets <http://rally.readthedocs.io/en/0.8.1/plugins/plugin_reference.html#neutronnetworks-create-and-list-subnets-scenario>`_ scenario. * *NEW!!*: - `CinderVolumeTypes.create_and_list_encryption_type <http://rally.readthedocs.io/en/0.8.1/plugins/plugin_reference.html#cindervolumetypes-create-and-list-encryption-type-scenario>`_ - `Quotas.cinder_get <http://rally.readthedocs.io/en/0.8.1/plugins/plugin_reference.html#quotas-cinder-get-scenario>`_ Thanks ~~~~~ 2 Everybody! -
0.8.0
ed15d27b · ·Rally v0.8.0 ============ Overview -------- +------------------+-----------------------+ | Release date | **1/25/2017** | +------------------+-----------------------+ Details ------- Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * `[Implemented] Refactor Verification Component <https://github.com/openstack/rally/blob/0.8.0/doc/specs/implemented/verification_refactoring.rst>`_ * `[Implemented] Scaling & Refactoring Rally DB <https://github.com/openstack/rally/blob/0.8.0/doc/specs/implemented/db_refactoring.rst>`_ Installation ~~~~~~~~~~~~ We switched to use bindep library for checking required system packages. All our dependencies moved to separate file (like requirements.txt for python packages) `bindep.txt <https://github.com/openstack/rally/blob/0.8.0/bindep.txt>`_. Database ~~~~~~~~ .. warning:: Database schema is changed, you must run `rally-manage db upgrade <http://rally.readthedocs.io/en/0.8.0/cli/cli_reference.html#rally-manage-db-upgrade>`_ to be able to use old Rally installation with latest release. * change structure of database to be more flexible * save raw task results in chunks (see raw_result_chunk_size option of [DEFAULT] rally configuration section) * add db revision check in rally API, so it is impossible to use rally with wrong db now. Rally API ~~~~~~~~~ Single entry point for Rally API is added - rally.api.API . Old API classes (``rally.api.Task``, ``rally.api.Verification``, ``rally.api.Deployment``) are deprecated now. Rally CLI ~~~~~~~~~ * ``rally task sla_check`` is deprecated now in favor of ``rally task sla-check`` * Deprecated category ``rally show`` was removed. * `rally plugin list` is extended with plugin base column Task Component ~~~~~~~~~~~~~~ - [Random names] scenario for checking performance of generate_random_name method is added to our CI with proper SLA. Be sure, whatever number of random names you need, it will not affect performance of Rally at all, we checked. - [atomic actions] scenario for checking performance of calculating atomic actions is added to our CI with proper SLA. Be sure, whatever number atomics you have in scenarios, it will not affect performance of Rally at all, we checked. - [services] new entity is introduced for helping to provide compatibility layer between different API versions of one service. Verification component ~~~~~~~~~~~~~~~~~~~~~~ We completely redesign the whole Verification component. For more details see `our new docs for that component <http://rally.readthedocs.ioen/0.8.0/verification/index.html>`_ Unfortunately, such big change could not be done in backward compatible way, so old code is not compatible with new one. See `HowTo migrate from Verification component 0.7.0 to 0.8.0 <http://rally.readthedocs.ioen/0.8.0/verification/howto/migrate_from_old_design.html>`_ Plugins ~~~~~~~ **Services**: * Glance: Switched from V1 to V2 API by default. * Keystone: - Transmit endpoint_type to keystoneclient - Full keystone V3 support **Scenarios**: * *Updated*: - The meaning of the volume_type argument is changes in `CinderVolumes.create_snapshot_and_attach_volume <http://rally.readthedocs.io/en/0.8.0/plugins/plugin_reference.html#cindervolumes-create-snapshot-and-attach-volume-scenario>`_ scenario. It should contain actual volume type instead of boolean value to choose random volume type. - Extend `GlanceImages.create_image_and_boot_instances <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#glanceimages-create-image-and-boot-instances-scenario>`_ with create_image_kwargs and boot_server_kwargs arguments. * *NEW!!*: - `CeilometerAlarms.create_and_get_alarm <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#ceilometeralarms-create-and-get-alarm-scenario>`_ - `CinderVolumeBackups.create_incremental_volume_backup <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumebackups-create-incremental-volume-backup-scenario>`_ - `CinderVolumeTypes.create_and_delete_volume_type <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumetypes-create-and-delete-volume-type-scenario>`_ - `CinderVolumeTypes.create_volume_type_and_encryption_type <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumetypes-create-volume-type-and-encryption-type-scenario>`_ - `CinderVolumes.create_and_accept_transfer <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumes-create-and-accept-transfer-scenario>`_ - `CinderVolumes.create_and_get_volume <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumes-create-and-get-volume-scenario>`_ - `CinderVolumes.create_volume_and_update_readonly_flag <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumes-create-volume-and-update-readonly-flag-scenario>`_ - `CinderVolumes.list_transfers <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumes-list-transfers-scenario>`_ - `CinderVolumes.list_types <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#cindervolumes-list-types-scenario>`_ - `KeystoneBasic.create_and_get_role <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#keystonebasic-create-and-get-role-scenario>`_ - `ManilaShares.create_and_list_share <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#manilashares-create-and-list-share-scenario>`_ - `ManilaShares.set_and_delete_metadata <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#manilashares-set-and-delete-metadata-scenario>`_ - `MistralExecutions.create_execution_from_workbook <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#mistralexecutions-create-execution-from-workbook-scenario>`_ - `MistralExecutions.list_executions <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#mistralexecutions-list-executions-scenario>`_ - `NeutronLoadbalancerV2.create_and_list_loadbalancers <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#neutronloadbalancerv2-create-and-list-loadbalancers-scenario>`_ - `NeutronNetworks.create_and_show_network <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#neutronnetworks-create-and-show-network-scenario>`_ - `NeutronNetworks.list_agents <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#neutronnetworks-list-agents-scenario>`_ - `NovaAggregates.create_aggregate_add_host_and_boot_server <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novaaggregates-create-aggregate-add-host-and-boot-server-scenario>`_ - `NovaAggregates.create_and_get_aggregate_details <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novaaggregates-create-and-get-aggregate-details-scenario>`_ - `NovaFlavors.create_and_delete_flavor <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novaflavors-create-and-delete-flavor-scenario>`_ - `NovaFlavors.create_flavor_and_add_tenant_access <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novaflavors-create-flavor-and-add-tenant-access-scenario>`_ - `NovaHosts.list_and_get_hosts <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novahosts-list-and-get-hosts-scenario>`_ - `NovaHypervisors.list_and_get_uptime_hypervisors <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novahypervisors-list-and-get-uptime-hypervisors-scenario>`_ - `NovaHypervisors.list_and_search_hypervisors <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novahypervisors-list-and-search-hypervisors-scenario>`_ - `NovaHypervisors.statistics_hypervisors <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novahypervisors-statistics-hypervisors-scenario>`_ - `NovaSecGroup.boot_server_and_add_secgroups <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novasecgroup-boot-server-and-add-secgroups-scenario>`_ - `NovaServerGroups.create_and_list_server_groups <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#novaservergroups-create-and-list-server-groups-scenario>`_ - `Quotas.nova_get <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#quotas-nova-get-scenario>`_ **Hooks**: * *NEW!!*: - `fault_injection <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#fault-injection-hook>`_ **Runners** * *Updated*: - `RPS runner <http://rally.readthedocs.ioen/0.8.0/plugins/plugin_reference.html#rps-scenario-runner>`_ is extended with ability to increase 'rps' value by arithmetic progression across certain duration. Now it can be also a dict specifying progression parameters: .. code-block:: json rps": { "start": 1, "end": 10, "step": 1, "duration": 2 } This will generate rps value: ``start, start + step, start + 2 * step, .., end`` across certain 'duration' seconds each step. If iteration count not ended at the last step of progression, then rps will continue to generate with "end" value. Note that the last rps could be generated smaller. Fixed bugs ~~~~~~~~~~ * [hooks] incorrect encoding of stdout/stderr streams opened by sys_call hook for py3 * [hooks] sorting Hook column at HTML report doesn't work * [tasks][scenarios][neutron] L3 HA: Unable to complete operation on subnet `Launchpad bug-report #1562878 <https://bugs.launchpad.net/rally/+bug/1562878>`_ * [tasks] JSON report doesn't save order of atomics * [tasks][cleanup][nova] Failed to remove aggregate which has hosts in it * [tasks] `--abort-on-sla-failure <http://rally.readthedocs.ioen/0.8.0/cli_reference.html#task-start-abortonslafailure>`_ mechanism works only for current workload, but does not stop the next ones. * [hooks] hooks section isn't displayed in HTML report Thanks ~~~~~~ 2 Everybody! -
0.7.0
edb093d9 · ·Rally v0.7.0 ============ Overview -------- +------------------+-----------------------+ | Release date | **10/11/2016** | +------------------+-----------------------+ Details ------- Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * [Used] Ported all rally scenarios to class base `Spec reference <https://github.com/openstack/rally/blob/0.7.0/doc/specs/implemented/class-based-scenarios.rst>`_ * `[Implemented] New Plugins Type - Hook <https://github.com/openstack/rally/blob/0.7.0/doc/specs/implemented/hook_plugins.rst>`_ Database ~~~~~~~~ .. warning:: Database schema is changed, you must run `rally-manage db upgrade <http://rally.readthedocs.io/en/0.7.0/cli/cli_reference.html#rally-manage-db-upgrade>`_ to be able to use old Rally installation with latest release. * [require migration] fix for wrong format of "verification_log" of tasks * [require migration] remove admin_domain_name from OpenStack deployments Rally Deployment ~~~~~~~~~~~~~~~~ * Remove admin_domain_name from openstack deployment Reason: admin_domain_name parameter is absent in Keystone Credentials. Rally Task ~~~~~~~~~~ * [Trends][Reports] Use timestamps on X axis in trends report * [Reports] Add new OutputTextArea chart plugin New chart plugin can show arbitrary textual data on "Scenario Stata -> Per iteration" tab. This finally allows to show non-numeric data like IP addresses, notes and even long comments. Plugin `Dummy.dummy_output <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#dummy-dummy-output-scenario>`_ is also updated to provide demonstration. * [cli] Add version info to *rally task start* output * [api] Allow to delete stopped tasks without force=True It is reasonable to protect deletion of running tasks (statuses INIT, VERIFYING, RUNNING, ABORTING and so on...) but it is strange to protect deletion for stopped tasks (statuses FAILED and ABORTED). Also this is annoying in CLI usage. * Added hooks and triggers. Hook is a new entity which can be launched on specific events. Trigger is another new entity which processes events and launches hooks. For example, hook can launch specific destructive action - just execute cli command(we have sys_call hook for this task) and it can be launched by simple trigger on specific iteration(s) or time (there is event trigger). Rally Verify ~~~~~~~~~~~~ Scenario tests in Tempest require an image file. Logic of obtaining this image is changed: * If CONF.tempest.img_name_regex is set, Rally tries to find an image matching to the regex in Glance and download it for the tests. * If CONF.tempest.img_name_regex is not set (or Rally didn't find the image matching to CONF.tempest.img_name_regex), Rally downloads the image by the link specified in CONF.tempest.img_url. Plugins ~~~~~~~ **Scenarios**: * *Removed*: `Dummy.dummy_with_scenario_output <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#dummy-dummy-with-scenario-output-scenario>`_ It was deprecated in 0.5.0 .. warning:: This plugin is not available anymore in 0.7.0 * *NEW!!*: - `MagnumClusterTemplates.list_cluster_templates <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#magnumclustertemplates-list-cluster-templates-scenario>`_ - `MagnumClusters.list_clusters <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#magnumclusters-list-clusters-scenario>`_ - `MagnumClusters.create_and_list_clusters <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#magnumclusters-create-and-list-clusters-scenario>`_ - `NovaAggregates.create_aggregate_add_and_remove_host <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaaggregates-create-aggregate-add-and-remove-host-scenario>`_ - `NovaAggregates.create_and_list_aggregates <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaaggregates-create-and-list-aggregates-scenario>`_ - `NovaAggregates.create_and_delete_aggregate <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaaggregates-create-and-delete-aggregate-scenario>`_ - `NovaAggregates.create_and_update_aggregate <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaaggregates-create-and-update-aggregate-scenario>`_ - `NovaFlavors.create_and_get_flavor <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaflavors-create-and-get-flavor-scenario>`_ - `NovaFlavors.create_flavor_and_set_keys <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaflavors-create-flavor-and-set-keys-scenario>`_ - `NovaHypervisors.list_and_get_hypervisors <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novahypervisors-list-and-get-hypervisors-scenario>`_ - `NovaServers.boot_server_associate_and_dissociate_floating_ip <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#novaservers-boot-server-associate-and-dissociate-floating-ip-scenario>`_ - `KeystoneBasic.authenticate_user_and_validate_token <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#keystonebasic-authenticate-user-and-validate-token-scenario>`_ **Contexts**: * *NEW!!*: - `Manila manila_security_services <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#manila-security-services-context>`_ - `Magnum cluster_templates <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#cluster-templates-context>`_ - `Magnum clusters <http://rally.readthedocs.io/en/0.7.0/plugin/plugin_reference.html#clusters-context>`_ **OSClients**: Port all openstack clients to use keystone session. Bug fixes ~~~~~~~~~ * [tasks] rally task detailed incorrect / inconsistent output `Launchpad bug-report #1562713 <https://bugs.launchpad.net/rally/+bug/1562713>`_ Thanks ~~~~~~ 2 Everybody! -
0.6.0
b6bedc5b · ·============ Rally v0.6.0 ============ Overview -------- +------------------+-----------------------+ | Release date | **9/05/2016** | +------------------+-----------------------+ Details ------- Common ~~~~~~ * Added Python 3.5 support * Sync requirements with OpenStack global-requirements * Start using latest way of authentication - keystoneauth library * Start porting all scenario plugins to class-based view. Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * `[Implemented] SLA Performance degradation plugin <https://github.com/openstack/rally/blob/0.6.0/doc/specs/implemented/sla_pd_plugin.rst>`_ * `[Proposed] New Tasks Configuration section - hook <https://github.com/openstack/rally/blob/0.6.0/doc/specs/in-progress/hook_section.rst>`_ Database ~~~~~~~~ * disable db downgrade api * [require migration] upgrade deployment config Docker image ~~~~~~~~~~~~ * Add sudo rights to rally user Rally is a pluggable framework. External plugins can require installation of additional python or system packages, so we decided to add sudo rights. * Move from ubuntu:14.04 base image to ubuntu:16.04 . Ubuntu 16.04 is current/latest LTS release. Let's use it. * pre-install vim Since there are a lot of users who like to experiment and modify samples inside container, rally team decided to pre-install vim * configure/pre-install bash-completion Rally provides bash-completion script, but it doesn't work without installed `bash-completion` package and now it is included in our image. Rally Deployment ~~~~~~~~~~~~~~~~ * Add strict jsonschema validation for ExistingCloud deployments. All incorrect and unexpected properties will not be ignored anymore. If you need to store some extra parameters, you can use new "extra" property. * Fix an issue with endpoint_type. Previously, endpoint type was not transmitted to keystone client. In this case, keystoneclient used default endpoint type (for different API calls it can differ). Behaviour after the fix: - None endpoint type -> Rally will initialize all clients without setting endpoint type. It means that clients will choose what default values for endpoint type use by itself. Most of clients have "public" as default values. Keystone use "admin" or "internal" by default. - Not none endpoint type -> Rally will initialize all clients with this endpoint. Be careful, by default most of keystone v2 api calls do not work with public endpoint type. Rally Task ~~~~~~~~~~ * [core] Iterations numbers in logging and reports must be synchronized. Now they start from 1 . * [config] users_context.keystone_default_role is a new config option (Defaults to "member") for setting default user role for new users in case of Keystone V3. * [Reports] Embed Rally version into HTML reports This adds Rally version via meta tag into HTML reports: <meta name="generator" content="Rally version {{ version }}"> * [Reports] Expand menu if there is only one menu group * [logging] Remove deprecated rally.common.log module * [Trends][Reports] Add success rate chart to trends report * [Reports] Hide menu list if there is no data at all Rally Verify ~~~~~~~~~~~~ * Updating Tempest config file - Some tests (for boto, horizon, etc.) were removed from Tempest and now there is no need to keep the corresponding options in Tempest config file. - Some options in Tempest were moved from one section to another and we should to do the corresponding changes in Rally to be up to date with the latest Tempest version. * Adding '--skip-list' arg to `rally verify start` cmd `CLI argument for --skip-list <http://rally.readthedocs.io/en/0.6.0/cli/cli_reference.html#verify-start-skiplist>`_ * *NEW!!*: - `Command for plugin listing <http://rally.readthedocs.io/en/0.6.0/cli/cli_reference.html#rally-verify-listplugins>`_ - `Command to uninstall plugins <http://rally.readthedocs.io/en/0.6.0/cli/cli_reference.html#rally-verify-uninstallplugin>`_ * Rename and deprecated several arguments for `rally verify start` cmd: - tests-file -> load-list - xfails-file -> xfail-list Plugins ~~~~~~~ **Scenarios**: * Extend Sahara scenarios with autoconfig param Affected plugins: - `SaharaClusters.create_and_delete_cluster <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#saharaclusters-create-and-delete-cluster-scenario>`_ - `SaharaClusters.create_scale_delete_cluster <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#saharaclusters-create-scale-delete-cluster-scenario>`_ - `SaharaNodeGroupTemplates.create_and_list_node_group_templates <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#saharanodegrouptemplates-create-and-list-node-group-templates-scenario>`_ - `SaharaNodeGroupTemplates.create_delete_node_group_templates <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#saharanodegrouptemplates-create-delete-node-group-templates-scenario>`_ * *NEW!!*: - `MonascaMetrics.list_metrics <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#monascametrics-list-metrics-scenario>`_ - `SenlinClusters.create_and_delete_cluster <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#senlinclusters-create-and-delete-cluster-scenario>`_ - `Watcher.create_audit_template_and_delete <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#watcher-create-audit-template-and-delete-scenario>`_ - `Watcher.create_audit_and_delete <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#watcher-create-audit-and-delete-scenario>`_ - `Watcher.list_audit_templates <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#watcher-list-audit-templates-scenario>`_ * Rename **murano.create_service** to **murano.create_services** atomic action **SLA**: *NEW!!*: `performance degradation plugin <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#performance-degradation-sla>`_ **Contexts**: * *NEW!!*: - `Monasca monasca_metrics <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#monasca-metrics-context>`_ - `Senlin profiles <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#profiles-context>`_ - `Watcher audit_templates <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#audit-templates-context>`_ * Extend `manila_share_networks <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#manila-share-networks-context>`_ context with share-network autocreation support. * Extend `volumes <http://rally.readthedocs.io/en/0.6.0/plugin/plugin_reference.html#volumes-context>`_ context to allow volume_type to be None to allow using default value Bug fixes ~~~~~~~~~ * [existing users] Quota context does not restore original settings on exit `Launchpad bug-report #1595578 <https://bugs.launchpad.net/rally/+bug/1595578>`_ * [keystone v3] Rally task's test user role setting failed `Launchpad bug-report #1595081 <https://bugs.launchpad.net/rally/+bug/1595081>`_ * [existing users] context cannot fetch 'tenant' and 'user' details from cloud deployment `Launchpad bug-report #1602157 <https://bugs.launchpad.net/rally/+bug/1602157>`_ * UnboundLocalError: local variable 'cmd' referenced before assignment `Launchpad bug-report #1587941 <https://bugs.launchpad.net/rally/+bug/1587941>`_ * [Reports] Fix trends report generation if there are n/a results Documentation ~~~~~~~~~~~~~ * Add page about task reports `RTD page for reports <http://rally.readthedocs.io/en/0.6.0/reports.html>`_ Thanks ~~~~~~ 2 Everybody! -
0.5.0
41b26f4a · ·============ Rally v0.5.0 ============ Information ----------- +------------------+-----------------------+ | Commits | **175** | +------------------+-----------------------+ | Bug fixes | **19** | +------------------+-----------------------+ | Dev cycle | **93 days** | +------------------+-----------------------+ | Release date | **7/20/2016** | +------------------+-----------------------+ Details ------- This release took much more time than we expected, but we have a lot of reasons for such delay and if you look at our change-log, you will understand them.:) Here is a quick introduction: * To make our releases as much as possible stable, we added upper limits for each of our requirements; * A lot of deprecated lines of code were removed, so be careful; * Statistics trends for given tasks were introduced; * Support for tempest plugins was added; * Several new pages at docs. Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * `[Introduced && implemented] Introduce class-based scenario implementation <https://github.com/openstack/rally/blob/0.5.0/doc/specs/implemented/class-based-scenarios.rst>`_ * `[Introduced] Rally Task Validation refactoring <https://github.com/openstack/rally/blob/0.5.0/doc/specs/in-progress/pluggable_validators.rst>`_ * `[Introduced] Scaling & Refactoring Rally DB <https://github.com/openstack/rally/blob/0.5.0/doc/specs/in-progress/db_refactoring.rst>`_ * `[Introduced] SLA Performance degradation plugin <https://github.com/openstack/rally/blob/0.5.0/doc/specs/in-progress/sla_pd_plugin.rst>`_ Logging ~~~~~~~ * disable urllib3 warnings only if the library provide them Database ~~~~~~~~ [doesn't require migration] Transform DB layer to return dicts, not SQLAlchemy models Rally Deployment ~~~~~~~~~~~~~~~~ * Support single-AZ deployment This supports the case where OpenStack is deployed with a single AZ for both controller(s) and compute(s), and not all hosts in the AZ that contains an instance are guaranteed to have the nova-compute service. * Extend creation from environment with several new vars - OS_ENDPOINT_TYPE/OS_INTERFACE - OS_USER_DOMAIN_NAME - OS_PROJECT_DOMAIN_NAME * Improve devstack plugin for Keystone V3 Rally Task ~~~~~~~~~~ *NEW!!* Statistics trends for given tasks. Rally Verify ~~~~~~~~~~~~ * Remove '--tempest-config' arg from 'reinstall' command .. warning:: Using `--tempest-config` is became an error from this release. Use `rally verify genconfig` cmd for all config related stuff. * Don't install Tempest when `rally verify start` .. warning:: Use should use `rally verify install` cmd to install tempest now * Add ability to setup version of Tempest to install `CLI argument to setup version <http://rally.readthedocs.io/en/0.5.0/cli/cli_reference.html#verify-install-version>`_ * Configure 'aodh' service in 'service_available' section * Check existence of Tempest-tree in `rally verify discover` cmd * Make Tempest work with auth url which doesn't include keystone version Tempest needs /v2.0 and /v3 at the end of URLs. Actually, we can't fix Tempest, so we extend our configuration module with workaround which allow to specify auth_url without version in rally deployment config. * Use default list of plugins for sahara * Move tempest related options of rally configuration to separate section. * *NEW!!* Support for tempest plugins. `CLI argument to install them <http://rally.readthedocs.io/en/0.5.0/cli/cli_reference.html#verify-installplugin>`_ Plugins ~~~~~~~ In this release we are happy to introduce new entity - plugins Base classes We have a lot of base plugin entities: Context, Scenario, SLA and etc. Sometimes plugins of different bases can have equal names(i.e ceilometer OSClient and ceilometer Context). It is normal and we should allow such conflicts. To support such cases we introduced new entity - plugin base. Statements of plugin bases: - Each plugin base is unique entity; - Names of plugin bases can't conflict with each other; - Names of two or more plugins in one plugin base can't conflict with each other(in case of same namespace). - Names of two or more plugins in different plugin base can conflict Current list of plugin bases: - rally.task.context.Context - rally.task.scenario.Scenario - rally.task.types.ResourceType - rally.task.exporter.TaskExporter - rally.task.processing.charts.Chart - rally.task.runner.ScenarioRunner - rally.task.sla.SLA - rally.deployment.serverprovider.provider.ProviderFactory - rally.deployment.engine.Engine - rally.osclients.OSClient **OSClients** * *NEW!!* Support for Senlin client * *NEW!!* Support for Gnocchi client * *NEW!!* Support for Magnum client * *NEW!!* Support for Watcher client * Transmit endpoint_type to saharaclient **Scenarios**: * *NEW!!*: - `Authenticate.validate_ceilometer <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#authenticate-validate-ceilometer-scenario>`_ - `CinderVolumes.create_volume_from_snapshot <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#cindervolumes-create-volume-from-snapshot>`_ - `CinderVolumes.create_volume_and_clone <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#cindervolumes-create-volume-and-clone>`_ - `NovaFlavors.create_and_list_flavor_access <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#novaflavors-create-and-list-flavor-access-scenario>`_ - `NovaFlavors.create_flavor <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#novaflavors-create-flavor-scenario>`_ - `NovaServers.boot_and_update_server <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#novaservers-boot-and-update-server>`_ - `NovaServers.boot_server_from_volume_snapshot <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#novaservers-boot-server-from-volume-snapshot>`_ * [Sahara] Add configs to MapR plugin * Extend CinderVolumes.create_and_upload_volume_to_image with "image" argument `Plugin Reference <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#cindervolumes-create-and-upload-volume-to-image-scenario>`_ * Deprecate Dummy.dummy_with_scenario_output scenario in favor of Dummy.dummy_output .. warning:: Dummy.dummy_with_scenario_output scenario will be removed after several releases `Deprecated Plugin Reference <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#dummy-dummy-with-scenario-output-scenario>`_ `New Plugin Reference <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#dummy-dummy-output-scenario>`_ * Extend CinderVolumes.create_volume_and_clone with nested_level Add nested_level argument for nested cloning volume to new volume `Plugin Reference <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#cindervolumes-create-volume-and-clone>`_ * Extend CinderVolumes.create_nested_snapshots_and_attach_volume Two new arguments were added: create_volume_kwargs and create_snapshot_kwargs .. warning:: All arguments related to snapshot creation should be transmitted only via create_snapshot_kwargs. `Plugin Reference <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#cindervolumes-create-nested-snapshots-and-attach-volume>`_ * Introduce new style of scenarios - class based. `Spec Reference <https://github.com/openstack/rally/blob/0.5.0/doc/specs/implemented/class-based-scenarios.rst>`_ * Improve report for VMTasks.boot_runcommand_delete * [Sahara] Added 5.5.0 version for cdh-plugin and 1.6.0 version for spark * Extend boot_server_from_volume_and_delete, boot_server_from_volume, boot_server_from_volume_and_live_migrate, boot_server_from_volume_snapshot scenarios of NovaServers class with "volume_type" parameter. **Contexts**: * *NEW!!*: - `Cinder volume_types <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#volume-types-context>`_ - `Murano environments <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#murano-environments-context>`_ - `Heat dataplane <http://rally.readthedocs.io/en/0.5.0/plugin/plugin_reference.html#heat-dataplane-context>`_ * Use Broker Pattern in Keystone roles context * Use immutable types for locking context configuration Since context configuration passed to Context.__init__() was a mutable type (dict or list), sometimes we had unexpected changes done by unpredictable code (for example, in wrappers). * Add possibility to balance usage of users For the moment all users for tasks were taken randomly and there was no way to balance them between tasks. It may be very useful when we have difference between first usage of tenant/user and all consecutive. In this case we get different load results. Therefore, "users" context was extended with new config option 'user_choice_method' that defines approach for picking up users. Two values are available: - random - round_robin Default one is compatible with old approach - "random". * Make sahara_image and custom_image contexts glance v2 compatible * Extend servers context with "nics" parameter * Extend network context with "dns_nameservers" parameter * Extend volume context with "volume_type" parameter **Cleanup**: * Mark several cleanup resources as tenant_resource Nova servers and security groups are tenant related resources, but resource decorator missed that fact which makes cleanup tries to delete one resources several times. * Turn off redundant nova servers cleanup for NovaFlavors.list_flavors scenario * Add neutron cleanup for NeutronSecurityGroup.create_and_delete_security_groups **Exporter**: Rename task-exporter "file-exporter" to "file". .. warning:: "file-exporter" is deprecated and will be removed in further releases. **Types**: Remove deprecated types. .. warning:: you should use rally.task.types.convert instead of rally.task.types.set decorator **Validators** * Add a required_api_version validator * Add validators for scenario arguments **Utils**: Use glance wrapper where appropriate to support compatibility between V1 and V2 Bug fixes ~~~~~~~~~ **19 bugs were fixed**: * Wrong arguments order of Keystone wrapper in case of V2 and V3 * AttributeError while disabling urllib3 warnings on old installations `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1573650>`_ * install_rally.sh script is failed while obtaining setuptools * "-inf" load duration in case of wrong runner plugin and failed start of contexts * Strange input task in the report `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1570328>`_ * Wrong behaviour of boot_server_from_volume scenarios in case of booting server from image. The arg of image must be None, when booting server from volume. Otherwise still boot server from image. Affected scenarios: NovaServers.boot_server_from_volume NovaServers.boot_server_from_volume_and_delete NovaServers.boot_server_from_volume_and_resize NovaServers.boot_server_from_volume_and_live_migrate `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1578556>`_ * Weak validation of json schema of RPS runner JSON Schema of RPS runner doesn't have "required" field. It means that users are able to pass wrong configs and we will have runtime error while running task. * Rally doesn't take cacert setting while creating keystone session `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1577360>`_ * Heat scenarios fail when API uses TLS `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1585456>`_ * Example in comment of context manila_share_networks wrong `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1587164>`_ * There is no way to get UUID of a verification after it is created by "rally verify start" or "rally verify import_results" when --no-use is set `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1587034>`_ * Exposed ssh timeout and interval in vm scenario `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1587728>`_ * Ceilometer scenario doesn't require "ceilometer" ctx `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1557642>`_ * "servers" context requires setting network id for multiple possible networks found. `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1592292>`_ * nested_level data type incorrect in create_nested_snapshots_and_attach_volume `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1594656>`_ * Rally cleanup servers raises exception `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1584104>`_ * Stopping server is redundant before cold-migrating server `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1594730>`_ * existing_users context doesn't work in case of Keystone v3 * Whether validates flavor's disk or not depends on booting type of the instance `Launchpad bug-report <https://bugs.launchpad.net/rally/+bug/1596756>`_ Documentation ~~~~~~~~~~~~~ * Re-use openstack theme for building docs outside rtd. `Rally Docs at docs.openstack.org <http://docs.openstack.org/developer/rally/>`_ * Add page for Verification component `RTD page <http://rally.readthedocs.io/en/0.5.0/tutorial/step_10_verifying_cloud_via_tempest.html>`_ * Add glossary page `RTD page <http://rally.readthedocs.io/en/0.5.0/tutorial/glossary.html>`_ * Adjust docs reference to "KeystoneBasic.authenticate" scenario `RTD page <http://rally.readthedocs.io/en/0.5.0/tutorial/step_6_aborting_load_generation_on_sla_failure.html>`_ Thanks ~~~~~~ 2 Everybody! -
0.3.3
b8d76c16 · ·============ Rally v0.3.3 ============ Information ----------- +------------------+-----------------------+ | Commits | **20** | +------------------+-----------------------+ | Dev cycle | **10 days** | +------------------+-----------------------+ | Release date | **3/24/2016** | +------------------+-----------------------+ Details ------- A half of patches relate to Cleanup. We have once again proved that ideal stuff can be improved. :) Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * `[Spec][Introduced] Improve atomic actions format`__ __ https://github.com/openstack/rally/blob/master/doc/specs/in-progress/improve_atomic_actions_format.rst Plugins ~~~~~~~ * **Cleanups**: * Use proper attribute to get heat stack name * Always assign a name to created images. This is necessary for name-based cleanup. If a name is not specified, one will be generated automatically. * Improve filtering glance images in case of V2 API * Delete only images created by images context Since the images context allows creating images with arbitrary names, name-based cleanup won't work for it, so we have to delete the exact list of images that it created instead. * New config option to set cleanup threads Allow the user to change the number of cleanup threads via the rally config. When scaling out to thousands of instances, the cleanup can take forever with the static 20 threads. * Add inexact matching to name_matches_object This will support places where we create resources with names that start with a given name pattern, but include some additional identifier afterwards. For instance, when bulk creating instances, Nova appends a UUID to each instance name. * **Scenarios**: * Add sample of template for testing for testing heat caching. * Introduced new scenario `Dummy.dummy_random_action`__. It is suitable for demonstration of upcoming trends report. __ http://rally.readthedocs.org/en/latest/plugin/plugin_reference.html#dummy-dummy-random-action-scenario * **Contexts**: `api_versions`__ context was extended to support switch between Keystone V2 and V3 API versions. Now it is possible to use one Rally deployment to check both Keystone APIs. __ http://rally.readthedocs.org/en/latest/plugin/plugin_reference.html#api-versions-context * **Newcomer in the family**: All ResourceType classes are pluggable now and it is much easier to use and extend them. .. warning:: Decorator ``rally.task.types.set`` is deprecated now in favor of ``rally.task.types.convert``. Bug fixes ~~~~~~~~~ * #1536172: rally deployment destroy failed with traceback for failed deployments. At current moment it is impossible to delete deployment if for some reason deployment engine plugin cannot be found, because exception will be thrown. Documentation ~~~~~~~~~~~~~ * Remove extra link in `All release notes` Previously, two links for latest release were presented. * Update release notes for 0.3.2 * Fixed indents for warning messages * Fixed all references Thanks ~~~~~~ To Everybody! -
0.3.2
17f71d20 · ·============ Rally v0.3.2 ============ Information ----------- +------------------+-----------------------+ | Commits | **55** | +------------------+-----------------------+ | Dev cycle | **25 days** | +------------------+-----------------------+ | Release date | **3/14/2016** | +------------------+-----------------------+ Details ------- This release, as well as all previous ones, includes a lot of internal and external changes. Most important of them are listed below. CLI changes ~~~~~~~~~~~ * .. warning:: [Modified] Option '--tempest-config' for 'rally verify reinstall' command was deprecated for removal. * .. warning:: [Removed] Option `--system-wide-install` was removed from `rally verify` commands in favor of `--system-wide` option. * .. warning:: [Modified] Step of installation of Tempest during execution of the `rally verify start` command was deprecated and will be removed in the future. Please use `rally verify install` instead. * Rework commands.task.TaskCommands.detailed. Now output of the command contains the same results as in HTML report. Rally Verify ~~~~~~~~~~~~ * Re-run failed Tempest tests Add the ability to re-run the tempest tests that failed in the last test execution. Sometimes Tempest tests fail due to a special temporary condition in the environment, in such cases it is very useful to be able to re-execute those tests. Running the following command will re-run all the test that failed during the last test execution regardless of what test suite was run. .. code-block:: bash rally verify start --failing Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * [Spec][Introduced] Refactoring scenario utils `https://github.com/openstack/rally/blob/master/doc/specs/in-progress /refactor_scenario_utils.rst`_ * [Spec] Deployment unification Plugins ~~~~~~~ * **Scenarios**: * [updated] Fix flavor for cloudera manager Cloudera manager need master-node flavor * [added] Expand Nova API benchmark in Rally Add support for listing nova hosts, agents, availability-zones and aggregates. * [updated] Make sure VolumeGenerator uses the api version info while cleanup * Designate V2 - Add recordset scenarios Add create_and_(list|delete)_recordset scenarios Remove the test also that checks the allowed methods, this is in order for us to be able to have a private method _walk_pages that will do fetching of pages for us vs attempting to fetch 1 giant list at once. * unify *_kwargs name in scenarios When running a scenario, `kwargs` is used as default key-word arguments. But in some scenarios, there are more and one services being called, and we use xxx_kwargs for this case. However, some xxx_kwargs are not unifed for same usage[0]. Unifying these could avoid midleading for end users. Another improvement is to add xxx_kwargs with empty settings for scenario config files. [0] http://paste.openstack.org/show/489505/ * .. warning:: Deprecated arguments 'script' and 'interpreter' were removed in favor of 'command' argument. VM task scenarios executes a script with a interpreter provided through a formatted argument called 'command' which expects the remote_path or local_path of the script and optionally an interpreter with which the script has to be executed. Miscellaneous ~~~~~~~~~~~~~ * Avoid using `len(x)` to check if x is empty This cases are using `len()` to check if collection has items. As collections have a boolean representation too, directly check for true / false. And fix the wrong mock in its unit test. * Fix install_rally.sh to get it to work on MacOSX On MacOSX, `mktemp` requires being passed a template. This change modifies the calls to `mktemp` to explicitly pass a template so that the code works on both MacOSX and linux. * Use new-style Python classes There are some classes in the code that didn't inherited from nothing and this is an old-style classes. A "New Class" is the recommended way to create a class in modern Python.A "New Class" should always inherit from `object` or another new-style class. Hacking rule added as well. * Make Rally cope with unversioned keystone URL With the change, the client version that's returned is now determined by the keystoneclient library itself based on whether you supply a URL with a version in it or not. * Fix rally-mos job to work with mos-8.0 Also remove hardcoded values for some other jobs. * Add name() to ResourceManager This will allow us to perform cleanup based on the name. * Add task_id argument to name_matches_object This will be used to ensure that we are only deleting resources for a particular Rally task. * Extend api.Task.get_detailed Extend api.Task.get_detailed with ability to return task data as dict with extended results. Bug fixes ~~~~~~~~~ **The most critical fixed bugs are**: * #1547624: Wrong configuration for baremetal(ironic) tempest tests * #1536800: openrc values are not quoted The openrc file created after rally deployment --fromenv did not quote the values for environment variables that will be exported. * #1509027: Heat delete_stack never exits if status is DELETE_FAILED * #1540545: Refactored atomic action in authenticate scenario * #1469897: Incompatible with Keystone v3 argument in service create scenario * #1550262: Different results in ``rally task detailed``, ``rally task report`` and ``rally task status`` commands. * #1553024: Backward incompatible change in neutronclient(release 4.1.0) broke Tempest config generation to support latest neutronclient. Documentation ~~~~~~~~~~~~~ * Add documentation for DB migration Changes: * Add descriptive docstrings for plugins based on OutputChart * Register these plugins in doc/ext/plugin_reference.py so plugin/plugin_reference.htmlwill have a documentation chapter based on added docstrings * Documentation tox fix Added information about debugging unit test with tox. Replace 3 references to py26 with py34 to reflect current rally tox configuration. * Change structure of rally plugin and plugin references page * Update the scenario development, runner and context sections * The design of 'Rally Plugins Reference' page was improved (see `http://docs.openstack.org/developer/rally/plugin/plugin_reference.html`_ with new design) * New page was added - CLI references `http://docs.openstack.org/developer/rally/cli/cli_reference.html`_ Thanks ~~~~~~ To Everybody! -
0.3.1
1b6e9e92 · ·Rally v0.3.1 Information ----------- +------------------+-----------------------+ | Commits | **9** | +------------------+-----------------------+ | Bug fixes | **6** | +------------------+-----------------------+ | Dev cycle | **2 days** | +------------------+-----------------------+ | Release date | **2/18/2016** | +------------------+-----------------------+ Details ------- This release is more about bug-fixes than features. .. warning:: Please, update 0.3.0 to latest one. Features ~~~~~~~~ * Pass api_versions info to glance images context * [Verify] Don't create new flavor when flavor already exists Bug fixes ~~~~~~~~~ **6 bugs were fixed, the most critical are**: * #1545889: Existing deployment with given endpoint doesn't work anymore * #1547092: Insecure doesn't work with Rally 0.3.0 * #1547083: Rally Cleanup failed with api_versions context in 0.3.0 release * #1544839: Job gate-rally-dsvm-zaqar-zaqar fails since the recent Rally patch * #1544522: Non-existing "called_once_with" method of Mock library is used
-
0.3.0
60b671c5 · ·Rally v0.3.0 Information ----------- +------------------+-----------------------+ | Commits | **69** | +------------------+-----------------------+ | Bug fixes | **7** | +------------------+-----------------------+ | Dev cycle | **29 days** | +------------------+-----------------------+ | Release date | **2/16/2016** | +------------------+-----------------------+ Details ------- This release, as well as all previous ones, includes a lot of internal and external changes. Most important of them are listed below. .. warning:: In this release Rally DB schema migration is introduced. While upgrading Rally from previous versions it is required now to run ``rally-manade db upgrade``. Please see 'Documentation' section for details. CLI changes ~~~~~~~~~~~ * [Removed] ``rally info`` in favor of ``rally plugin *``. It was deprecated for a long time. * [Modified] ``rally deployment check`` now prints services, which don't have names, since such services can be used via api_versions context. * [Modified] ``rally verify [re]install`` option --no-tempest-venv for was deprecated in favor of --system-wide * [Added] ``rally-manage db revision`` displays current revision of Rally database schema * [Added] ``rally-manage db upgrade`` upgrades pre-existing Rally database schema to the latest revision * [Added] ``rally-manage db downgrade`` to downgrades existing Rally database schema to previous revision * [Added] ``rally task export`` exports task results to external services (only CLI command introduced, no real service support implemented yet, however one could write own plugins) * [Added] ``rally verify export`` exports verification results to external services (only CLI command introduced, no real service support implemented yet, however one could write own plugins) Rally Deployment ~~~~~~~~~~~~~~~~ * ``fuel`` deployment engine is removed since it was outdated and lacked both usage and support Rally Task ~~~~~~~~~~ Add custom labels for "Scenario Output" charts * X-axis label can be specified to add_output() by "axis_label" key of chart options dict. The key is named "axis_label" but not "x_label" because chart can be displayed as table, so we explicitly mention "axis" in option name to make this parameter useless for tables * Y-axis label can be specified to add_output() by "label" key of chart options dict In some cases this parameter can be used for rendering tables - it becomes column name in case if chart with single iteration is transformed into table * As mentiones above, if we have output chart with single iteration, then it is transformed to table, because chart with single value is useless * OutputLinesChart is added, it is displayed by NVD3 lineChart() * Chart "description" is optional now. Description is not shown if it is not specified explicitly * Scenario Dummy.add_output is improved to display labels and OutputLinesChart * Fix: If Y-values are too long and overlaps chart box, then JavaScript updates chart width in runtime to fit width of chart graphs + Y values to their DOM container Rally Certification ~~~~~~~~~~~~~~~~~~~ None. Specs & Feature Requests ~~~~~~~~~~~~~~~~~~~~~~~~ * [Spec][Introduced] Export task and verification results to external services https://github.com/openstack/rally/blob/master/doc/specs/in-progress/task_and_verification_export.rst * [Spec][Implemented] Consistent resource names https://github.com/openstack/rally/blob/master/doc/specs/implemented/consistent_resource_names.rst * [Feature request][Implemented] Tempest concurrency https://github.com/openstack/rally/blob/master/doc/feature_request/implemented/add_possibility_to_specify_concurrency_for_tempest.rst Plugins ~~~~~~~ * **Scenarios**: - [added] VMTasks.workload_heat - [added] NovaFlavors.list_flavors - [updated] Flavors for Master and Worker node groups are now configured separately for SaharaCluster.* scenarios * **Context**: - [improved] sahara_cluster Flavors for Master and Worker node groups are now configured separately in ``sahara_cluster`` context Miscellaneous ~~~~~~~~~~~~~ * Cinder version 2 is used by default * Keystone API v3 compatibility improved - Auth URL in both formats http://foo.rally:5000/v3 and http://foo.rally:5000 is supported for Keystone API v3 - Tempest configuration file is created properly according to Keystone API version used * ``install_rally.sh --branch`` now accepts all git tree-ish, not just branches or tags * VM console logs are now printed when Rally fails to connect to VM * Add support for Rally database schema migration (see 'Documentation' section) Bug fixes ~~~~~~~~~ **7 bugs were fixed**: * #1540563: Rally is incompatible with liberty Neutron client The root cause is that in Neutron Liberty client, the _fx function doesn't take any explicit keyword parameter but Rally is passing one (tenant_id). * #1543414: The `rally verify start` command fails when running a verification against Kilo OpenStack * #1538341: Error in logic to retrieve image details in image_valid_on_flavor Documentation ~~~~~~~~~~~~~ * Add documentation for DB migration https://github.com/openstack/rally/blob/master/rally/common/db/sqlalchemy/migrations/README.rst Thanks ~~~~~~ 2 Everybody! -
0.2.0
57efc532 · ·Rally v0.0.2 Information ----------- +------------------+-----------------+ | Commits | **100** | +------------------+-----------------+ | Bug fixes | **18** | +------------------+-----------------+ | Dev cycle | **45 days** | +------------------+-----------------+ | Release date | **12/Mar/2015** | +------------------+-----------------+ Details ------- This release contains new features, new benchmark plugins, bug fixes, various code and API improvements. New Features ~~~~~~~~~~~~ * rally task start **--abort-on-sla-failure** Stopping load before things go wrong. Load generation will be interrupted if SLA criteria stop passing. * Rally verify command supports multiple Tempest sources now. * python34 support * postgres DB backend support API changes ~~~~~~~~~~~ * [new] **rally [deployment | verify | task] use** subcommand It should be used instead of root command **rally use** * [new] Rally as a Lib API To avoid code duplication between Rally as CLI tool and Rally as a Service we decide to make Rally as a Lib as a common part between these 2 modes. Rally as a Service will be a daemon that just maps HTTP request to Rally as a Lib API. * [deprecated] **rally use** CLI command * [deprecated] Old Rally as a Lib API Old Rally API was quite mixed up so we decide to deprecate it Plugins ~~~~~~~ * **Benchmark Scenario Runners**: [improved] Improved algorithm of generation load in **constant runner** Before we used processes to generate load, now it creates pool of processes (amount of processes is equal to CPU count) after that in each process use threads to generate load. So now you can easily generate load of 1k concurrent scenarios. [improved] Unify code of **constant** and **rps** runners [interface] Added **abort()** to runner's plugin interface New method **abort()** is used to immediately interrupt execution. * **Benchmark Scenarios**: [new] DesignateBasic.create_and_delete_server [new] DesignateBasic.create_and_list_servers [new] DesignateBasic.list_servers [new] MistralWorkbooks.list_workbooks [new] MistralWorkbooks.create_workbook [new] Quotas.neutron_update [new] HeatStacks.create_update_delete_stack [new] HeatStacks.list_stacks_and_resources [new] HeatStacks.create_suspend_resume_delete_stac [new] HeatStacks.create_check_delete_stack [new] NeutronNetworks.create_and_delete_routers [new] NovaKeypair.create_and_delete_keypair [new] NovaKeypair.create_and_list_keypairs [new] NovaKeypair.boot_and_delete_server_with_keypair [new] NovaServers.boot_server_from_volume_and_live_migrate [new] NovaServers.boot_server_attach_created_volume_and_live_migrate [new] CinderVolumes.create_and_upload_volume_to_image [fix] CinderVolumes.create_and_attach_volume Pass optional \*\*kwargs only to create server command [fix] GlanceImages.create_image_and_boot_instances Pass optional \*\*kwargs only to create server command [fix] TempestScenario.\* removed stress cleanup. Major issue is that tempest stress cleanup cleans whole OpenStack. This is very dangerous, so it's better to remove it and leave some extra resources. [improved] NovaSecGroup.boot_and_delete_server_with_secgroups Add optional \*\*kwargs that are passed to boot server comment * **Benchmark Context**: [new] **stacks** Generates passed amount of heat stacks for all tenants. [new] **custom_image** Prepares images for benchmarks in VMs. To Support generating workloads in VMs by existing tools like: IPerf, Blogbench, HPCC and others we have to have prepared images, with already installed and configured tools. Rally team decide to generate such images on fly from passed to avoid requirements of having big repository with a lot of images. This context is abstract context that allows to automate next steps: 1) runs VM with passed image (with floating ip and other stuff) 2) execute abstract method that has access to VM 3) snapshot this image In future we are going to use this as a base for making context that prepares images. [improved] **allow_ssh** Automatically disable it if security group are disabled in neutron. [improved] **keypair** Key pairs are stored in "users" space it means that accessing keypair from scenario is simpler now: self.context["user"]["keypair"]["private"] [fix] **users** Pass proper EndpointType for newly created users [fix] **sahara_edp** The Job Binaries data should be treated as a binary content * **Benchmark SLA**: [interface] SLA calculations is done in additive way now Resolves scale issues, because now we don't need to have whole array of iterations in memory to process SLA. This is required to implement **--abort-on-sla-failure** feature [all] SLA plugins were rewritten to implement new interface Bug fixes ~~~~~~~~~ **18 bugs were fixed, the most critical are**: * Fix **rally task detailed --iterations-data** It didn't work in case of missing atomic actions. Such situation can occur if scenario method raises exceptions * Add user-friendly message if the task cannot be deleted In case of trying to delete task that is not in "finished" status users get traces instead of user-friendly message try to run it with --force key. * Network context cleanups networks properly now Documentation ~~~~~~~~~~~~~ * Image sizes are fixed * New tutorial in "Step by Step" relate to **--abort-on-sla-failure** * Various fixes