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:
parent
edc7e7d6ec
commit
df2475d27e
@ -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
|
||||
~~~~~~
|
||||
|
||||
|
12
doc/release_notes/archive.rst
Normal file
12
doc/release_notes/archive.rst
Normal file
@ -0,0 +1,12 @@
|
||||
.. _release_notes/archive:
|
||||
|
||||
=================
|
||||
All release notes
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
archive/*
|
||||
*
|
28
doc/release_notes/archive/v0.0.1.rst
Normal file
28
doc/release_notes/archive/v0.0.1.rst
Normal 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.
|
223
doc/release_notes/v0.0.2.rst
Normal file
223
doc/release_notes/v0.0.2.rst
Normal 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
|
@ -36,3 +36,4 @@ Contents
|
||||
gates
|
||||
feature_requests
|
||||
project_info
|
||||
release_notes
|
||||
|
1
doc/source/release_notes
Symbolic link
1
doc/source/release_notes
Symbolic link
@ -0,0 +1 @@
|
||||
../release_notes
|
26
doc/source/release_notes.rst
Normal file
26
doc/source/release_notes.rst
Normal 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
|
||||
|
@ -61,7 +61,7 @@ CONFIG_SCHEMA = {
|
||||
"type": "object"
|
||||
},
|
||||
"sla": {
|
||||
"type": "object",
|
||||
"type": "object"
|
||||
},
|
||||
},
|
||||
"additionalProperties": False
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user