Release 0.0.2

* Add new section in docs for release_notes

* Write release notes for 0.0.1 and 0.0.2 versions

* Move doc/feature_request/stop_scenario_after_several_errors to implemented

* Various improvements and fixes in docs

Change-Id: I787e320db5f7a17044a76f345612cd29d515f3ca
This commit is contained in:
Boris Pavlovic 2015-03-12 15:02:43 +03:00
parent edc7e7d6ec
commit df2475d27e
12 changed files with 354 additions and 23 deletions

View File

@ -14,13 +14,6 @@ To request new feature you should just explain use case on high level.
Technical details and writing code are not required at all.
samples
~~~~~~~
If you are looking for samples of deployments and benchmarks configuration
you are on the right way
source
~~~~~~

View File

@ -0,0 +1,12 @@
.. _release_notes/archive:
=================
All release notes
=================
.. toctree::
:glob:
:maxdepth: 1
archive/*
*

View File

@ -0,0 +1,28 @@
============
Rally v0.0.1
============
Information
-----------
+------------------+-----------------+
| Commits | **1039** |
+------------------+-----------------+
| Bug fixes | **0** |
+------------------+-----------------+
| Dev cycle | **547 days** |
+------------------+-----------------+
| Release date | **26/Jan/2015** |
+------------------+-----------------+
Details
-------
Rally is awesome tool for testing verifying and benchmarking OpenStack clouds.
A lot of people started using Rally in their CI/CD so Rally team should provide
more stable product with clear strategy of deprecation and upgrades.

View File

@ -0,0 +1,223 @@
============
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

View File

@ -36,3 +36,4 @@ Contents
gates
feature_requests
project_info
release_notes

1
doc/source/release_notes Symbolic link
View File

@ -0,0 +1 @@
../release_notes

View File

@ -0,0 +1,26 @@
..
Copyright 2015 Mirantis Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
.. _release_notes:
Release Notes
=============
.. toctree::
:maxdepth: 1
release_notes/archive.rst
release_notes/v0.0.2.rst

View File

@ -61,7 +61,7 @@ CONFIG_SCHEMA = {
"type": "object"
},
"sla": {
"type": "object",
"type": "object"
},
},
"additionalProperties": False

View File

@ -8,7 +8,13 @@ deployments
Input configurations for "rally deployment" command
plugins
~~~~~~~
Samples of Rally plugins.
tasks
~~~~~
Input configurations for "rally task" command
Input configurations for "rally task" command

View File

@ -4,26 +4,67 @@ Tasks Configuration Samples
To specify your tasks, use configuration files in json or yaml format.
General structure of configuration file:
JSON schema of input task format:
::
{
"ScenarioClass.scenario_method":
"args": {
...
},
"runner": {
...
},
"context": {
...
}
"sla": {
...
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema",
"patternProperties": {
".*": {
"type": "array",
"items": {
"type": "object",
"properties": {
"args": {
"type": "object"
},
"runner": {
"type": "object",
"properties": {
"type": {"type": "string"}
},
"required": ["type"]
},
"context": {
"type": "object"
},
"sla": {
"type": "object"
},
},
"additionalProperties": False
}
}
}
}
For humans:
::
{
"ScenarioClass.scenario_method": [
{
"args": {
...
},
"runner": {
...
},
"context": {
...
},
"sla": {
...
}
}
]
}
ScanarioClass should be a subclass of the base Scenario class
and scenario_method specifies what benchmark task should be run. Section
"args" is also related to scenario. To learn more about scenarios

View File

@ -1,6 +1,6 @@
[metadata]
name = rally
version = 0.0.1
version = 0.0.2
summary = Benchmark System for OpenStack
description-file =
README.rst