[release-announce] [mistral] mistral 4.0.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Wed Feb 22 13:51:24 UTC 2017


We are gleeful to announce the release of:

mistral 4.0.0: Mistral Project

This release is part of the ocata release series.

Download the package from:

    https://pypi.python.org/pypi/mistral

For more details, please see below.

4.0.0
^^^^^


New Features
************

* New function, called tasks, available from within an expression
  (Yaql, Jinja2). This function allows to filter all tasks of a user
  by workflow execution id and/or state. In addition it is possible to
  get tasks recursively and flatten the tasks list.

* It is now possible to use the Bare metal (Ironic) API features
  introduced in API version 1.10 to 1.22.

* Aodh actions are now supported.

* Gnocchi actions are now supported.

* Senlin actions are now supported.


Upgrade Notes
*************

* Required Ironic API version was bumped to '1.22' (corresponding to
  Ironic 6.2.0 - Newton final release).

* Due to the default Ironic API version change to '1.22', new bare
  metal nodes created with 'node_create' action appears in "enroll"
  provision state instead of "available". Please update your workflows
  accordingly.


Critical Issues
***************

* Due to bug https://bugs.launchpad.net/mistral/+bug/1631140,
  Mistral was not considering retry with value 1. After this bug is
  fixed, Mistral now considers count value 1 as a value for retry.

* Mistral does not consider the initial task run as a retry but only
  considers the retry value after the failure of initial task
  execution.


Bug Fixes
*********

* [bug 1633345 (https://bugs.launchpad.net/mistral/+bug/1633345)]

  User now could define the target region for the openstack actions.
  It could be done via API in X-Region-Name and X-Target-Region-Name
  in case of multi-vim feature is used.

Changes in mistral 3.0.0.0rc1..4.0.0
------------------------------------

b8927d8 Fix for coverage job showing 0% coverage for kombu
8749353 Refactor RPC serialization: add polymophic serializer
f3dff12 Add Keycloak authentication doc for client side
1e15010 Add details into docs about semantics of 'on-XXX' clauses.
5a3dae3 Add Keycloak authentication doc for server side
bb3a4fb Add reno for tasks function
c333576 Remove '__task_execution' from task outbound context
e86619c Fix for failing services on py3 with kombu driver
6d014c7 Remove support for py34
2abe892 Remove wrong licensing
de2bd4a Refactor RPC serialization: remove JsonPayloadSerializer class
02c9475 Update reno for stable/ocata
3332fe7 Enforce style check for xrange()
9f5214b Fix doc build if git is absent
443d7aa Prepare for using standard python tests
b26f2fd Update UPPER_CONSTRAINTS_FILE for stable/ocata
bf1c363 Update .gitreview for stable/ocata
672f466 Fix for failing gates
1562d15 Fix for failing services on py3 with kombu driver
bc18ecb Fix try import of openstack client modules
f16f4a3 Remove some profiler traces, logs, use utils.cut() where needed
4b6cca4 Remove unnecessary evaluation of outbound context
a3c07e0 Optimizing utils.cut() for big dictionaries and lists
47efc0f Updated from global requirements
0ee5433 Add support for Rabbit HA
5341fb2 Refactor rpc configuration loading
ab2919e Updated from global requirements
5267e1e Invalid jinja pattern regex corrected
e36d7f8 Add script for unit test coverage job
101ff40 Updated from global requirements
74f4778 In Python 3.7 "async" and "await" will become reserved keywords
b8d94ee Allow hyphens in Workflow and ad-hoc action names
5e41fc7 External OpenStack action mapping file support added
9d462e9 Make 'task' function work w/o a task name
fb384c9 using utcnow instead of now in expiration policy
8aedd49 Enforce style check for assertIsNone
0653e40 Add action "std.test_dict"
f190b5e Register Javascript action additionally as 'js' action
002ba71 Role based resource access control - update workflows
76f20ee Remove insecure flag from the Baremetal Introspection client
9f8a7c8 Updated from global requirements
498e69c Make kombu driver work in multi-thread manner
2b45567 Fix unit test that rely on order of return from DB
f78b0a6 Use utcnow() instead of now()
50b1228 Stop excpecting to have rabbit flags set when using fake driver
9b66d05 Updated from global requirements
600dd47 Insecure flag added to openstack context
51279dd Initial commit for mistral api-ref
285beb6 Removed unnecessary utf-8 encoding
08f186a Python3 common patterns
7b96269 Updated from global requirements
0c8fce2 Fix unit test that rely on order of return from DB
a4b8355 Fix for failing kombu dsvm gate
0cb0532 Move mock requirement to test-requirements.txt
d597dab Using sys.exit(main()) instead of main()
8629a58 Use i18n for help text
6d9b53e Added gnocchi action pack
4a86e96 Add 'retry_on_deadlock' decorator
2d13eab Fix two failing test cases in test_tasks
815c4a7 Add the "has" DB filter
0d4adc4 Use assertGreater() or assertLess()
bff0a36 Fix version response from root controller
de38c41 Adding releasenotes for aodh action support
96dc308 Updated from global requirements
9cf365f Refactor 'stress_test' to fit the current layout better
75f8894 Add rally tests for 'join': 100 and 500 parallel tasks
4aa186c Add a test for 'with-items' task: count=100, concurrency=10
4476873 Add aodh actions to mistral
a962ef4 Disable invalid API test till it's fixed
462cbf1 Copy _50_mistral.py file from enabled folder
581f6a1 Fix doc for missing dashboard config file
965db53 Role based resource access control - get workflows
4cea9bd Make body of std.email optional
62862ca Refresh object state after lock acquisition in WithItemsTask
aeb3ac5 Small adjustments in WithItemsTask
7ec56f5 Fix 'with-items' task completion condition
221bd0b Apply locking to control 'with-items' concurrency
2cacd26 Slightly improve 'with-items' tests
bfe9122 Get rid of with_items.py module in favor of WithItemsTask class
73ee6ce Refactor and improve 'with-items' algorithms
f90c2c9 Fix docs in README.rst
83e2431 Fix configuration generator
4293e40 Fix version response from root controller
8a51b6b Exclude .tox folder from coverage report
b22de94 Updated from global requirements
c019c09 Add more tests to mistral rally
3b1ed4e Replace six.iteritems() with .items()
8a52e9e Display all the possible server values.
a95a7cd Correct missspellings of secret
8f7153f Minor changes in the document
52c20c4 Added test cases for a few possible scenarios
85be004 change the cron-trigger execution time from localtime to UTC
d7fcd4e Use the with keyword dealing with file objects
de1db60 Modify the link in 'README.rst'
7a8beba Modify the function "_get_spec_version(spec_dict)"
24405a4 Update the wording in the actions terminology docs
74bca2d Remove commented-out Apache 2 classifier from setup.cfg
f6e4e23 Updated from global requirements
a5be14f Fix for failing kombu gate
8fc65d7 modify something in 'dsl_v2.rst'
769c3fe Fix two errors in YAML example and a error in action doc
5fd47d5 Handling MistralException in default executor
9c20b15 Fix a syntax error in yaml example
2059691 std.email action requires a smtp_password
33e8889 Change version '1.0' to '2.0'
ea062f0 Add descriptions for on_task_state_change parameters.
b922fe2 Updated from global requirements
fd5db96 Added releasenote for retry policy update
8425154 Cleanup obvious issues in 'with-items' tests
ff01014 Updated from global requirements
ba67b3a Allow "version" to be within workflow names in workbooks
d11405d Updated from global requirements
eb6c051 Yaql Tasks Function
57e4614 Bump Ironic API version to 1.22 when creating the Ironic client
26f5658 Small changes to docs to comply with openstack document style
a5d284a Fix launch process of Mistral components
a80e09a Modify import style in code
eb812f3 Some spelling errors
bdece6e Initial commit for mistral-i18n support
a24941a Add timestamp at the bottom of every page
ab5fe56 Show team and repo badges on README
eaf5058 Make CI gate for unit tests on mysql work
50cb85b Fix the default configuration file path
c19513c Updated from global requirements
2f89396 Mock the HTTP action in the with_items tests
196ee5a Fix devstack plugin compatibility
2842415 Updated the retries_remain statement
f26c150 Updated from global requirements
28e633f Add Ironic RAID actions
4e2e46a Revert "Remove unused scripts in tools"
9ddc32e Add a test for invalid task input expression
da7798b Fix config import in javascript action module
764f529 Make Jinja evaluator catch and wrap all underlying exceptions
1ae3359 Make YAQL evaluator catch and wrap all underlying exceptions
f7eb3e7 Replace 'assertFalse(a in b)' with 'assertNotIn(a, b)'
6094642 Updated from global requirements
c8cb137 Replace retrying with tenacity
ab2c23a Add cancelled state to action executions
1374566 Updated from global requirements
ae06418 Fix possible DB race conditions in REST controller
d66f271 Remove unused pylintrc
1312852 Added releasenote for Senlin Action Pack
db289f2 Migrated to the new oslo.db enginefacade
84f3c1f Added senlin action pack
d914e28 Few changes in the doc
f7501a8 Use mock for a bad HTTP call in unit tests
912056d Few changes related to the doc blueprint
c707790 Fix REST API dangling transactions
f1071f5 Fix error message format in action handler
88047af Fix error message format in other task handler methods
4f07468 Migrate mistral task_type
07039d3 Fix error message format for task run and continue
28d1675 Fix missing exception decorators in REST API
1bf9ca5 Remove unused scripts in tools
e9ba374 Replace uuid4() with generate_uuid() from oslo_utils
b08f1a5 Updated from global requirements
553c2b7 Add type to tasks API
603cd48 Handle region_name in openstack actions
c89c635 Add more tests to mistral rally
e9e7c42 Replace oslo_utils.timeutils.isotime
4e5ca38 Adding Variables to Log Messages
7fd509d Updated from global requirements
3cf9e5e cors: update default configuration
17b892d Added unit tests for workflow executions and task executions filtering
90460cb Fix DB API transaction()
6b229d3 Run actions without Scheduer
455e12e Get correct inbound tasks context for retry policy
acce19e Updated from global requirements
854aa45 Adding tests for workbook execution and execution list to Rally
bffb247 Use service catalog from authentication response
88cd04f Updated from global requirements
78514f8 Fix a bug in the algo that determines if a route is possible
6173a03 Enable DeprecationWarning in test environments
b749522 Added additional info in devstack/readme.rst
9ce3a75 Fixing 'join' task completion logic
e6cfe2b Updated from global requirements
2a6f470 Removal of unneccessary directory in run_tests.sh
b766e0d Get service catalog from token info
f9c85bf Add one more test for YAQL error message format
91068b5 Change format of YAQL errors
20c3bcc Updated from global requirements
9dc9d65 Update .coveragerc after the removal of openstack directory
474bf2e Enable code coverage report in console output
fe55c39 Updated from global requirements
195f697 Remove logging import unused
6beae4d Cleanup Newton Release Notes
3f5092d Publish/output in case of task/workflow failure
169d983 Don't include openstack/common in flake8 exclude list
ca3e51b Fix PEP8 issue
422def6 Change task() function to return 'null' if task doesn't exist
fc2f0be Enable release notes translation
8122c6f Updated from global requirements
8bf1da2 Describe vital details for debugging in PyCharm
798c459 Update documentation for multi-vim support
362c229 Add Jinja evaluator
6ca6e78 Minor changes to the documentation
539d15a Minor changes in the installation guides
0ed4f05 Add a way to save action executions that run synchronously
26f7d62 Import haskey from keys module
c707c43 Declare the encoding of file
c07cf48 Changes made to comply with OpenStack writing style
e6134ee Cleanup the Quickstart Documentation
cab2734 Stop adding ServiceAvailable group option
8279976 Updated from global requirements
ce7fcac Update heat actions in mapping.json
559ead4 Updated from global requirements
9ebf329 Accept service catalog from client side
2277b29 Using assertIsNone() instead of assertEqual(None, ...)
c9db0f7 Updated from global requirements
ac486f2 Make deafult executor use async messaging when returning action results
ff4f95f Disable Client Caching
068ab6f Updated from global requirements
bb257de Revert "Update UPPER_CONSTRAINTS_FILE for stable/newton"
bdf49b7 Remove environment data from task inbound context
6d5cd66 Use parenthesis to wrap strings over multiple lines
e0aa5d4 Updated from global requirements
1827e54 Using sys.exit(main()) instead of main()
ea9fece Do not include project name in the client cache key
acaafb4 Updated from global requirements
a7830dc Add tests to check deletion of delayed calls on WF execution delete
2f817e9 Delete all necessary delayed calls on WF stop
26894df Update UPPER_CONSTRAINTS_FILE for stable/newton
cca13bb Fix for timeouting  actions on run-action
6252ded Fix a typo in access_control.py
259868e Adding a script for fast mistralclient help generation
03e3ebe Make Javascript implementation configurable
50671ea Add unit test case for deletion of execution in case of (error and cancelled)
a4287a5 Avoid storing workflow input in task inbound context
8ba7de9 Replace assertEqual(None, *) with assertIsNone in tests
2ad512a Updated from global requirements
6b88627 Add __ne__ built-in function
92b9010 Update reno for stable/newton
7d03d18 Remove context.spawn
6e6461f Correct documentation about task attributes 'action' and 'workflow'
b1acf3d Updating mistralclient docs
f9c9ca8 Abstract authentication function
22244e0 Fix for raising excepton from kombu
211456a Fixed task in_bound context when retrying
2085102 Enable changing of rpc driver from devstack
e89f4e7 Take os_actions_endpoint_type into use


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

.coveragerc                                        |    4 +-
.gitignore                                         |    5 +-
.gitreview                                         |    1 +
.pylintrc                                          |   49 -
HACKING.rst                                        |   12 +
README.rst                                         |   65 +-
api-ref/source/conf.py                             |  131 +++
api-ref/source/index.rst                           |    8 +
api-ref/source/v2/action.inc                       |    0
api-ref/source/v2/cron-trigger.inc                 |    0
api-ref/source/v2/execution.inc                    |    0
api-ref/source/v2/task.inc                         |    0
api-ref/source/v2/workbook.inc                     |    0
api-ref/source/v2/workflow.inc                     |    0
devstack/README.rst                                |   13 +-
devstack/plugin.sh                                 |   20 +-
etc/policy.json                                    |    1 +
mistral/_i18n.py                                   |   36 +
mistral/actions/base.py                            |    2 -
mistral/actions/generator_factory.py               |    2 +-
mistral/actions/openstack/action_generator/base.py |   17 +-
mistral/actions/openstack/actions.py               |  200 +++-
mistral/actions/openstack/base.py                  |    9 +-
mistral/actions/openstack/mapping.json             |  106 ++
mistral/actions/std_actions.py                     |   31 +-
mistral/api/access_control.py                      |    4 +-
mistral/api/app.py                                 |    3 +-
mistral/api/controllers/resource.py                |    3 +-
mistral/api/controllers/root.py                    |   32 +-
mistral/api/controllers/v2/action.py               |    9 +-
mistral/api/controllers/v2/action_execution.py     |   45 +-
mistral/api/controllers/v2/cron_trigger.py         |    1 +
mistral/api/controllers/v2/environment.py          |    1 +
mistral/api/controllers/v2/event_trigger.py        |   13 +-
mistral/api/controllers/v2/execution.py            |   75 +-
mistral/api/controllers/v2/member.py               |   23 +-
mistral/api/controllers/v2/resources.py            |   11 +-
mistral/api/controllers/v2/service.py              |    4 +-
mistral/api/controllers/v2/task.py                 |   36 +-
mistral/api/controllers/v2/workbook.py             |    1 +
mistral/api/controllers/v2/workflow.py             |   23 +-
mistral/api/hooks/content_type.py                  |    2 -
mistral/api/service.py                             |    9 +-
mistral/auth/__init__.py                           |   50 +
mistral/auth/keycloak.py                           |   56 ++
mistral/auth/keystone.py                           |   45 +
mistral/cmd/launch.py                              |  102 +-
mistral/config.py                                  |  172 ++--
mistral/context.py                                 |  157 ++-
mistral/coordination.py                            |  209 ----
mistral/db/sqlalchemy/base.py                      |    7 +-
.../sqlalchemy/migration/alembic_migrations/env.py |    2 -
.../versions/020_add_type_to_task_execution.py     |   73 ++
mistral/db/sqlalchemy/migration/cli.py             |    3 +-
mistral/db/sqlalchemy/model_base.py                |    7 +-
mistral/db/sqlalchemy/types.py                     |    2 -
mistral/db/utils.py                                |   74 ++
mistral/db/v2/api.py                               |    8 +
mistral/db/v2/sqlalchemy/api.py                    |  229 +++--
mistral/db/v2/sqlalchemy/filters.py                |    8 +-
mistral/db/v2/sqlalchemy/models.py                 |    8 +-
mistral/engine/action_handler.py                   |   12 +-
mistral/engine/action_queue.py                     |   82 ++
mistral/engine/actions.py                          |   44 +-
mistral/engine/base.py                             |   30 +-
mistral/engine/default_engine.py                   |   79 +-
mistral/engine/default_executor.py                 |   38 +-
mistral/engine/dispatcher.py                       |    2 +-
mistral/engine/engine_server.py                    |  242 +++++
mistral/engine/executor_server.py                  |   98 ++
mistral/engine/policies.py                         |   38 +-
mistral/engine/rpc_backend/base.py                 |   27 +-
mistral/engine/rpc_backend/kombu/base.py           |   45 +-
.../engine/rpc_backend/kombu/examples/client.py    |    4 +-
.../engine/rpc_backend/kombu/examples/server.py    |    4 +-
mistral/engine/rpc_backend/kombu/kombu_client.py   |  200 ++--
mistral/engine/rpc_backend/kombu/kombu_hosts.py    |   58 ++
mistral/engine/rpc_backend/kombu/kombu_listener.py |  109 +++
mistral/engine/rpc_backend/kombu/kombu_server.py   |  205 ++--
mistral/engine/rpc_backend/oslo/oslo_client.py     |    5 +-
mistral/engine/rpc_backend/oslo/oslo_server.py     |   27 +-
mistral/engine/rpc_backend/rpc.py                  |  296 +-----
mistral/engine/task_handler.py                     |   72 +-
mistral/engine/tasks.py                            |  377 ++++++--
mistral/engine/utils.py                            |    3 +-
mistral/engine/workflow_handler.py                 |   16 +-
mistral/engine/workflows.py                        |   92 +-
mistral/event_engine/__init__.py                   |    0
mistral/event_engine/event_engine.py               |  377 ++++++++
mistral/event_engine/event_engine_server.py        |   91 ++
mistral/exceptions.py                              |   27 +-
mistral/expressions.py                             |  210 ----
mistral/expressions/__init__.py                    |  103 ++
mistral/expressions/base_expression.py             |   55 ++
mistral/expressions/jinja_expression.py            |  152 +++
mistral/expressions/yaql_expression.py             |  126 +++
mistral/hacking/checks.py                          |   24 +
mistral/serialization.py                           |  192 ++++
mistral/service/__init__.py                        |    0
mistral/service/base.py                            |   63 ++
mistral/service/coordination.py                    |  209 ++++
mistral/services/event_engine.py                   |  377 --------
mistral/services/expiration_policy.py              |    8 +-
mistral/services/periodic.py                       |    2 -
mistral/services/scheduler.py                      |   30 +-
mistral/services/security.py                       |    2 -
mistral/services/triggers.py                       |   63 +-
mistral/services/workbooks.py                      |    2 -
mistral/services/workflows.py                      |    1 +
.../workbook/v2/workbook_schema_test.yaml          |   52 +
.../actions/openstack/test_openstack_actions.py    |   58 +-
.../unit/engine/rpc_backend/kombu/fake_kombu.py    |    4 +
.../engine/rpc_backend/kombu/test_kombu_client.py  |  154 +--
.../rpc_backend/kombu/test_kombu_listener.py       |  222 +++++
.../engine/rpc_backend/kombu/test_kombu_server.py  |   69 +-
.../unit/engine/test_direct_workflow_rerun.py      |  277 ++++--
.../engine/test_direct_workflow_rerun_cancelled.py |  662 +++++++++++++
.../test_execution_fields_size_limitation.py       |   12 +-
.../unit/engine/test_reverse_workflow_rerun.py     |  133 ++-
.../test_reverse_workflow_rerun_cancelled.py       |  196 ++++
.../unit/expressions/test_jinja_expression.py      |  430 +++++++++
mistral/utils/__init__.py                          |  129 ++-
mistral/utils/expression_utils.py                  |  263 +++++
mistral/utils/filter_utils.py                      |    9 +-
mistral/utils/javascript.py                        |   23 +-
mistral/utils/openstack/keystone.py                |  104 +-
mistral/utils/profiler.py                          |    3 +-
mistral/utils/rest_utils.py                        |   64 +-
mistral/utils/rpc_utils.py                         |   89 +-
mistral/utils/serializers.py                       |   41 -
mistral/utils/ssh_utils.py                         |    2 -
mistral/utils/yaql_utils.py                        |  132 ---
mistral/version.py                                 |    2 -
mistral/workbook/base.py                           |   19 +-
mistral/workbook/parser.py                         |   11 +-
mistral/workbook/types.py                          |   37 +-
mistral/workbook/v2/actions.py                     |    6 +-
mistral/workbook/v2/policies.py                    |   20 +-
mistral/workbook/v2/retry_policy.py                |   16 +-
mistral/workbook/v2/task_defaults.py               |    4 +-
mistral/workbook/v2/tasks.py                       |   43 +-
mistral/workbook/v2/workbook.py                    |   17 +-
mistral/workbook/v2/workflows.py                   |   13 +-
mistral/workflow/base.py                           |   16 +-
mistral/workflow/data_flow.py                      |  158 ++-
mistral/workflow/direct_workflow.py                |   48 +-
mistral/workflow/lookup_utils.py                   |    6 +-
mistral/workflow/reverse_workflow.py               |    5 +-
mistral/workflow/states.py                         |    6 +-
mistral/workflow/utils.py                          |   26 +-
mistral/workflow/with_items.py                     |  194 ----
.../actions/v2/test_multi_vim_authentication.py    |  125 ++-
.../scenario/engine/actions/v2/test_ssh_actions.py |    2 +-
rally-jobs/extra/nested_wb.yaml                    |   73 ++
.../scenarios/complex_wf/complex_wf_params.json    |   12 +
.../extra/scenarios/complex_wf/complex_wf_wb.yaml  |  895 +++++++++++++++++
rally-jobs/extra/scenarios/join/join_100_wb.yaml   |  212 ++++
rally-jobs/extra/scenarios/join/join_500_wb.yaml   | 1012 ++++++++++++++++++++
.../with_items/count_100_concurrency_10.json       |    4 +
rally-jobs/extra/scenarios/with_items/wb.yaml      |   16 +
rally-jobs/task-mistral.yaml                       |  116 +++
...vailable-in-an-expression-17ca83d797ffb3ab.yaml |    8 +
.../notes/ironic-api-newton-9397da8135bb97b4.yaml  |   10 +
.../mistral-aodh-actions-e4c2b7598d2e39ef.yaml     |    3 +
.../mistral-gnocchi-actions-f26fd76b8a4df40e.yaml  |    3 +
.../mistral-senlin-actions-f3fe359c4e91de01.yaml   |    3 +
.../region-name-support-9e4b4ccd963ace88.yaml      |    8 +
.../update-retry-policy-fb5e73ce717ed066.yaml      |    8 +
releasenotes/source/conf.py                        |    5 +-
releasenotes/source/index.rst                      |    2 +
releasenotes/source/newton.rst                     |    7 +
releasenotes/source/ocata.rst                      |    6 +
requirements.txt                                   |   50 +-
setup.cfg                                          |   30 +-
test-requirements.txt                              |   14 +-
tools/cover.sh                                     |   66 ++
tools/generate_mistralclient_help.sh               |   42 +
tools/get_action_list.py                           |   18 +
tools/install_venv.py                              |    2 +-
tools/sync_db.py                                   |    4 +-
tools/test-setup.sh                                |   54 ++
tox.ini                                            |   30 +-
299 files changed, 16107 insertions(+), 5709 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 3a9683e..088b372 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5,2 @@
-alembic>=0.8.4 # MIT
+alembic>=0.8.10 # MIT
+aodhclient>=0.7.0 # Apache-2.0
@@ -9,0 +11,2 @@ eventlet!=0.18.3,>=0.18.2 # MIT
+gnocchiclient>=2.7.0 # Apache-2.0
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
@@ -11,2 +14 @@ jsonschema!=2.5.0,<3.0.0,>=2.0.0 # MIT
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-mock>=2.0 # BSD
+keystonemiddleware>=4.12.0 # Apache-2.0
@@ -15,3 +17,4 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
+oslo.i18n>=2.1.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -19,3 +22,3 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
@@ -26,2 +29,2 @@ paramiko>=2.0 # LGPLv2.1+
-pbr>=1.6 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
+pbr>=1.8 # Apache-2.0
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -32,3 +35,3 @@ python-designateclient>=1.5.0 # Apache-2.0
-python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
-python-heatclient>=1.4.0 # Apache-2.0
-python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0
+python-glanceclient>=2.5.0 # Apache-2.0
+python-heatclient>=1.6.1 # Apache-2.0
+python-keystoneclient>=3.8.0 # Apache-2.0
@@ -39,3 +42,4 @@ python-neutronclient>=5.1.0 # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
-python-swiftclient>=2.2.0 # Apache-2.0
-python-tackerclient>=0.6.0 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
+python-senlinclient>=1.1.0 # Apache-2.0
+python-swiftclient>=3.2.0 # Apache-2.0
+python-tackerclient>=0.8.0 # Apache-2.0
@@ -43 +47 @@ python-troveclient>=2.2.0 # Apache-2.0
-python-ironicclient>=1.6.0 # Apache-2.0
+python-ironicclient>=1.11.0 # Apache-2.0
@@ -46,3 +50,3 @@ python-zaqarclient>=1.0.0 # Apache-2.0
-PyYAML>=3.1.0 # MIT
-requests>=2.10.0 # Apache-2.0
-retrying!=1.3.0,>=1.2.3 # Apache-2.0
+PyYAML>=3.10.0 # MIT
+requests!=2.12.2,>=2.10.0 # Apache-2.0
+tenacity>=3.2.1 # Apache-2.0
@@ -52 +56 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -55 +59 @@ yaql>=1.1.0 # Apache 2.0 License
-tooz>=1.28.0 # Apache-2.0
+tooz>=1.47.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 0671158..e1d8dfe 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -8 +8 @@ nose # LGPL
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+oslosphinx>=4.7.0 # Apache-2.0
@@ -9,0 +10 @@ oslotest>=1.10.0 # Apache-2.0
+os-api-ref>=1.0.0 # Apache-2.0
@@ -11,3 +12,3 @@ pyflakes==0.8.1 # MIT
-pylint==1.4.5 # GPLv2
-requests-mock>=1.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
+mock>=2.0 # BSD
+requests-mock>=1.1 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
@@ -15,0 +17 @@ sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
+openstackdocstheme>=1.5.0 # Apache-2.0
@@ -19 +21 @@ unittest2 # BSD
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0





More information about the Release-announce mailing list