[release-announce] rally 3.0.0

no-reply at openstack.org no-reply at openstack.org
Mon Mar 23 15:23:45 UTC 2020


We are pumped to announce the release of:

rally 3.0.0: Generic Testing Framework & Tool that unifies all types
of testing.

The source is available from:

    https://opendev.org/openstack/rally

Download the package from:

    https://pypi.org/project/rally

For more details, please see below.

Changes in rally 2.1.0..3.0.0
-----------------------------

2826e909d Remove rally/ui/templates/base.mako
2255b18be [py3] Remove future imports
9811aa972 Remove install_rally script
89662fffe Propose Rally 3.0.0
57a7b45a0 Add docker image push job to release pipeline
8dbfa86d0 [ci] Remove redundant rally task job files
661130510 Move task results loader helper to a separate module
64c133a5b Get back yamlutils and dummy scenarios
8dbad440d Deprecate rally task results command
30d5a8ed0 Deprecate rally.common.yamlutils and rally.common.fileutils
4a466f2bc Restruct rally.plugins.common module
b086b2cd5 Use unittests.mock instead of mock lib
c239b13b2 Rework docker build
445be80d3 Improme install jobs to run the simlar workload as tox -eself
efe927174 [ci] Restruct zuul_ci playbooks
eb3506fbf Include min python version at setup.cfg
70bf09b35 Add some tests for verify function
384fbf497 Rework inner code for JUnit reports
74a2f7870 Stop checking installation on ubuntu-xenial nodes
4687d413b Remove unused test helpers
44c081e23 Ensure python 3.8 is supported
e9264de71 Fix loading plugins from path with relative imports
89e1cb858 [ci] Register job reports as zuul atrifacts
f28216fc1 Move 'rally.common.sshutils' to 'rally.utils.sshutils'
cd43a8c08 Remove 'namespace' argument
182165600 Remove six usage
2c6a3baec Remove outdated not-used script for CI
6d7bbe0d0 Remove outdated and deprecated code
fe84cbe09 Follow redirects by path_or_url preprocessor validation
ca0f98505 Delete devstack plugin
c83118a65 Add base docker-build job
5d0d48a3f Rework caluclating percentiles
1f92a1805 Fix deprecated things
1c45d725e Rework discovery plugins to do not use deprecated imp module
302216c1a Fix several issues with plugin discovery error messages
67a46990d Port docker image to use python3
000052f67 Rework rally-install-* jobs
1e501a6e2 Stop supporting python <3.6
53241478c Fix incorrect __round__ behaviour
9dd563035 Fix duplicated words issue like "if we are are here"
7642d345b Fix pep8 job according to latest set of rules
f3ba04a92 update comment review url
028d9b372 Update the community page.
996b06060 Fix https_key test
e5d05caef Remove redudant 'be'


Diffstat (except docs and test files)
-------------------------------------

.dockerignore                                      |    2 +-
.zuul.d/python-jobs.yaml                           |   58 +-
.zuul.d/zuul.yaml                                  |   95 +-
CHANGELOG.rst                                      |  101 ++
etc/docker/README.md => DOCKER_README.md           |   11 +-
etc/docker/Dockerfile => Dockerfile                |   19 +-
bindep.txt                                         |    5 +-
devstack/README.rst                                |   30 -
devstack/features.yaml                             |  188 ----
devstack/lib/rally                                 |  128 ---
devstack/plugin.sh                                 |   27 -
devstack/settings                                  |    3 -
.../step_10_profiling_openstack_internals.rst      |    2 +-
etc/docker/README_FIRST.rst                        |   11 -
etc/docker/hooks/post_checkout                     |   18 -
etc/{docker/motd => motd_for_docker}               |    0
install_rally.sh                                   |  826 --------------
optional-requirements.txt                          |    9 -
rally-jobs/README.rst                              |   40 -
rally-jobs/extra/README.rst                        |   11 -
rally-jobs/extra/hook_example_script.sh            |   56 -
rally-jobs/extra/install_benchmark.sh              |   24 -
rally-jobs/extra/instance_test.sh                  |  107 --
rally-jobs/nova.yaml                               | 1176 --------------------
rally-jobs/rally-neutron-existing-users.yaml       |  128 ---
rally-jobs/rally-neutron.yaml                      |  817 --------------
rally-jobs/rally-watcher.yaml                      |   62 --
rally-jobs/rally.yaml                              |  757 -------------
rally-jobs/rally_args.yaml                         |    3 -
rally/api.py                                       |   10 +-
rally/cli/cliutils.py                              |   56 +-
rally/cli/commands/db.py                           |    2 -
rally/cli/commands/deployment.py                   |   53 +-
rally/cli/commands/env.py                          |    7 +-
rally/cli/commands/plugin.py                       |    5 +-
rally/cli/commands/task.py                         |  302 +----
rally/cli/commands/verify.py                       |   26 +-
rally/cli/envutils.py                              |   73 +-
rally/cli/main.py                                  |    2 -
rally/cli/task_results_loader.py                   |  258 +++++
rally/cli/yamlutils.py                             |   68 ++
rally/common/db/api.py                             |    6 +-
...2016_04_4ef544102ba7_change_task_status_enum.py |    8 +-
...16_07_54e844ebfbc3_update_deployment_configs.py |    4 +-
rally/common/db/models.py                          |    3 +-
rally/common/fileutils.py                          |   71 +-
rally/common/i18n.py                               |   41 -
rally/common/io/junit.py                           |  195 +++-
rally/common/io/subunit_v2.py                      |   14 +-
rally/common/logging.py                            |   12 +-
rally/common/objects/task.py                       |    5 +-
rally/common/objects/verification.py               |    4 +-
rally/common/plugin/discover.py                    |   54 +-
rally/common/plugin/plugin.py                      |    7 +-
rally/common/sshutils.py                           |  280 +----
rally/common/streaming_algorithms.py               |  106 +-
rally/common/utils.py                              |   57 +-
rally/common/validation.py                         |   17 +-
rally/common/yamlutils.py                          |   62 +-
rally/env/env_mgr.py                               |    2 +-
rally/exceptions.py                                |    7 +-
rally/plugins/__init__.py                          |   10 +-
rally/plugins/common/exporters/elastic/client.py   |  148 +--
rally/plugins/common/exporters/elastic/exporter.py |  374 +------
rally/plugins/common/exporters/elastic/flatten.py  |   57 +-
rally/plugins/common/exporters/html.py             |   46 +-
rally/plugins/common/exporters/json_exporter.py    |  113 +-
rally/plugins/common/exporters/junit.py            |  109 +-
rally/plugins/common/exporters/trends.py           |   30 +-
rally/plugins/common/hook/sys_call.py              |   56 +-
rally/plugins/common/hook/triggers/event.py        |   64 +-
rally/plugins/common/hook/triggers/periodic.py     |   59 +-
rally/plugins/common/runners/constant.py           |  333 +-----
rally/plugins/common/runners/rps.py                |  285 +----
rally/plugins/common/runners/serial.py             |   67 +-
rally/plugins/common/scenarios/dummy/dummy.py      |  253 +----
.../common/scenarios/requests/http_requests.py     |   50 +-
rally/plugins/common/scenarios/requests/utils.py   |   32 +-
rally/plugins/common/sla/failure_rate.py           |   57 +-
rally/plugins/common/sla/iteration_time.py         |   43 +-
rally/plugins/common/sla/max_average_duration.py   |   46 +-
.../common/sla/max_average_duration_per_atomic.py  |   63 +-
rally/plugins/common/sla/outliers.py               |  101 +-
.../plugins/common/sla/performance_degradation.py  |   62 +-
rally/plugins/common/types.py                      |   61 +-
rally/plugins/common/validators.py                 |   27 +-
rally/plugins/common/verification/reporters.py     |  475 +-------
rally/plugins/common/verification/testr.py         |  149 +--
.../plugins/{common/contexts => task}/__init__.py  |    0
.../plugins/task}/contexts/__init__.py             |    0
rally/plugins/{common => task}/contexts/dummy.py   |    0
.../plugins/task}/exporters/__init__.py            |    0
.../plugins/task}/exporters/elastic/__init__.py    |    0
rally/plugins/task/exporters/elastic/client.py     |  159 +++
rally/plugins/task/exporters/elastic/exporter.py   |  386 +++++++
rally/plugins/task/exporters/elastic/flatten.py    |   65 ++
rally/plugins/task/exporters/html.py               |   56 +
rally/plugins/task/exporters/json_exporter.py      |  123 ++
rally/plugins/task/exporters/junit.py              |   96 ++
rally/plugins/task/exporters/old_json_results.py   |  121 ++
rally/plugins/task/exporters/trends.py             |   40 +
.../plugins/task/hook_triggers}/__init__.py        |    0
rally/plugins/task/hook_triggers/event.py          |   74 ++
rally/plugins/task/hook_triggers/periodic.py       |   69 ++
.../plugins/task/hooks}/__init__.py                |    0
rally/plugins/task/hooks/sys_call.py               |   68 ++
.../plugins/task}/runners/__init__.py              |    0
rally/plugins/task/runners/constant.py             |  342 ++++++
rally/plugins/task/runners/rps.py                  |  296 +++++
rally/plugins/task/runners/serial.py               |   77 ++
.../plugins/task}/scenarios/__init__.py            |    0
.../plugins/task}/scenarios/dummy/__init__.py      |    0
rally/plugins/task/scenarios/dummy/dummy.py        |  259 +++++
.../plugins/task}/scenarios/requests/__init__.py   |    0
.../task/scenarios/requests/http_requests.py       |   56 +
rally/plugins/task/scenarios/requests/utils.py     |   38 +
.../common => rally/plugins/task}/sla/__init__.py  |    0
rally/plugins/task/sla/failure_rate.py             |   67 ++
rally/plugins/task/sla/iteration_time.py           |   53 +
rally/plugins/task/sla/max_average_duration.py     |   56 +
.../task/sla/max_average_duration_per_atomic.py    |   73 ++
rally/plugins/task/sla/outliers.py                 |  111 ++
rally/plugins/task/sla/performance_degradation.py  |   70 ++
rally/plugins/task/types.py                        |   71 ++
.../plugins}/verification/__init__.py              |    0
rally/plugins/verification/reporters.py            |  463 ++++++++
rally/plugins/verification/testr.py                |  161 +++
rally/task/atomic.py                               |   37 -
rally/task/context.py                              |   12 +-
rally/task/engine.py                               |   29 +-
rally/task/exporter.py                             |    5 +-
rally/task/hook.py                                 |   21 +-
rally/task/processing/charts.py                    |  163 ++-
rally/task/processing/plot.py                      |   10 +-
rally/task/processing/utils.py                     |   21 +-
rally/task/runner.py                               |    6 +-
rally/task/scenario.py                             |    6 +-
rally/task/service.py                              |   23 +-
rally/task/sla.py                                  |   12 +-
rally/task/task_cfg.py                             |    5 +-
rally/task/trigger.py                              |   40 -
rally/task/types.py                                |    5 +-
rally/task/utils.py                                |   76 +-
rally/ui/templates/base.mako                       |   56 -
rally/utils/encodeutils.py                         |   18 +-
rally/utils/sshutils.py                            |  294 +++++
rally/utils/strutils.py                            |    6 +-
rally/verification/manager.py                      |   13 +-
rally/verification/reporter.py                     |    4 +-
rally/verification/utils.py                        |    7 +-
requirements.txt                                   |    4 +-
setup.cfg                                          |    8 +-
setup.py                                           |    8 -
test-requirements.txt                              |    6 +-
.../ci/playbooks/build-and-check-docker-image.yaml |    4 +
.../build-check-and-push-docker-image.yaml         |    5 +
.../ci/playbooks/fetch-html-and-json-reports.yaml  |   42 +
.../run.yaml => rally-database-migration-run.yaml} |    4 +-
.../roles/build_docker_image/defaults/main.yaml    |    3 +
.../roles/build_docker_image/tasks/main.yaml       |   24 +
.../roles/push_docker_image/defaults/main.yaml     |    4 +
.../roles/push_docker_image/tasks/main.yaml        |   42 +
.../pre-run.yaml => tox-install.yaml}              |    8 +-
.../{rally-tox-base/run.yaml => tox-run.yaml}      |    0
.../{common => task}/contexts/test_dummy.py        |    3 +-
.../plugins/task/exporters/elastic/__init__.py     |    0
.../exporters/elastic/test_client.py               |    7 +-
.../exporters/elastic/test_exporter.py             |    8 +-
.../exporters/elastic/test_flatten.py              |    2 +-
.../{common => task}/exporters/junit_report.xml    |    0
.../{common => task}/exporters/test_html.py        |   68 +-
.../exporters/test_json_exporter.py                |   17 +-
.../{common => task}/exporters/test_junit.py       |   13 +-
.../task/exporters/test_old_json_results.py        |  148 +++
.../{common => task}/exporters/test_trends.py      |    7 +-
.../triggers => task/hook_triggers}/test_event.py  |    5 +-
.../hook_triggers}/test_periodic.py                |    5 +-
.../{common/hook => task/hooks}/test_sys_call.py   |    8 +-
.../{common => task}/runners/test_constant.py      |   13 +-
.../plugins/{common => task}/runners/test_rps.py   |   14 +-
.../{common => task}/runners/test_serial.py        |    4 +-
.../unit/plugins/task/scenarios/dummy/__init__.py  |    0
.../{common => task}/scenarios/dummy/test_dummy.py |    6 +-
.../plugins/task/scenarios/requests/__init__.py    |    0
.../scenarios/requests/test_http_requests.py       |    7 +-
.../scenarios/requests/test_utils.py               |    5 +-
.../{common => task}/sla/test_failure_rate.py      |    2 +-
.../{common => task}/sla/test_iteration_time.py    |    2 +-
.../sla/test_max_average_duration.py               |    2 +-
.../sla/test_max_average_duration_per_atomic.py    |    2 +-
.../plugins/{common => task}/sla/test_outliers.py  |    2 +-
.../sla/test_performance_degradation.py            |    2 +-
.../{common => }/verification/junit_report.xml     |    0
.../{common => }/verification/test_reporters.py    |   13 +-
.../{common => }/verification/test_testr.py        |    7 +-
tox.ini                                            |   64 +-
upper-constraints.txt                              |    6 +-
307 files changed, 7264 insertions(+), 11854 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 3abfe2580..25108c1a3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -21,2 +21 @@ python-subunit
-requests<2.20.0;python_version=='3.4'                  # Apache License, Version 2.0
-requests!=2.20.0;python_version!='3.4'                 # Apache License, Version 2.0
+requests!=2.20.0                                       # Apache License, Version 2.0
@@ -24 +22,0 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8              # MIT
-six                                                    # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index fda0a0ac5..7081aa12b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +6,0 @@ hacking>=0.12.0,!=0.13.0                               # Apache Software License
-pytest>=2.7,<5.0.0;python_version<='3.4'              # MIT
@@ -17 +15,0 @@ ddt                                                    # MIT
-mock                                                   # OSI Approved :: BSD License
@@ -24,0 +23,4 @@ testresources                                          # UNKNOWN
+
+# needed for functional job
+stestr                                                 # Apache Software License
+mock
\ No newline at end of file






More information about the Release-announce mailing list