Rally v0.8.0¶
Overview¶
Release date | 1/25/2017 |
Details¶
Specs & Feature Requests¶
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.
Database¶
Warning
Database schema is changed, you must run 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 ofrally 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
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
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 scenario. It should contain actual volume type instead of boolean value to choose random volume type.
- Extend GlanceImages.create_image_and_boot_instances with create_image_kwargs and boot_server_kwargs arguments.
- NEW!!:
- CeilometerAlarms.create_and_get_alarm
- CinderVolumeBackups.create_incremental_volume_backup
- CinderVolumeTypes.create_and_delete_volume_type
- CinderVolumeTypes.create_volume_type_and_encryption_type
- CinderVolumes.create_and_accept_transfer
- CinderVolumes.create_and_get_volume
- CinderVolumes.create_volume_and_update_readonly_flag
- CinderVolumes.list_transfers
- CinderVolumes.list_types
- KeystoneBasic.create_and_get_role
- ManilaShares.create_and_list_share
- ManilaShares.set_and_delete_metadata
- MistralExecutions.create_execution_from_workbook
- MistralExecutions.list_executions
- NeutronLoadbalancerV2.create_and_list_loadbalancers
- NeutronNetworks.create_and_show_network
- NeutronNetworks.list_agents
- NovaAggregates.create_aggregate_add_host_and_boot_server
- NovaAggregates.create_and_get_aggregate_details
- NovaFlavors.create_and_delete_flavor
- NovaFlavors.create_flavor_and_add_tenant_access
- NovaHosts.list_and_get_hosts
- NovaHypervisors.list_and_get_uptime_hypervisors
- NovaHypervisors.list_and_search_hypervisors
- NovaHypervisors.statistics_hypervisors
- NovaSecGroup.boot_server_and_add_secgroups
- NovaServerGroups.create_and_list_server_groups
- Quotas.nova_get
Hooks:
- NEW!!:
Runners
- Updated:
RPS 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:
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
[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 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!