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 task 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¶
Task 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.
Task 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
Task Context:
[new] stacks
Generates passed amount of heat stacks for all tenants.
[new] custom_image
Prepares images for internal VMs testing.
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:
- runs VM with passed image (with floating ip and other stuff)
- execute abstract method that has access to VM
- 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
Task 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