Release-announce
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
October 2019
- 1 participants
- 270 discussions
We are delighted to announce the release of:
masakari-dashboard 1.0.0: Horizon plugin for masakari
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/masakari-dashboard
Download the package from:
https://tarballs.openstack.org/masakari-dashboard/
Please report issues through:
https://bugs.launchpad.net/masakari/+bugs
For more details, please see below.
Changes in masakari-dashboard 0.3.0..1.0.0
------------------------------------------
51c8868 Add Python 3 Train unit tests
2ddff13 OpenDev Migration Patch
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 3 +--
setup.cfg | 3 ++-
tox.ini | 10 +++++-----
4 files changed, 9 insertions(+), 9 deletions(-)
1
0
We are excited to announce the release of:
openstack-placement 2.0.0: Resource provider inventory usage and
allocation service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/openstack-placement
Download the package from:
https://pypi.org/project/openstack-placement
For more details, please see below.
Changes in openstack-placement 1.0.0.0rc1..2.0.0
------------------------------------------------
ba1e9495 Add --skip-locks flag to mysql-migrate-db.sh
4dde9535 Fix domain name in install doc (2)
3f1a89c7 Fix domain name in install doc
6399f01c Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
3d64e1df Update .gitreview for stable/train
7a6403c6 Add Train upgrade notes
abb14fe2 Add train-prelude release note
04b6c2fb Clean up contributor document
ac1e0f8a Clean up document's index
10fc2d35 Update the constraints url
13da0bff Fix section structure for pdf docs
b93200d7 Build pdf docs
804a1158 Un-cap jsonschema for python3.6/3.7 support
9ece3d35 Deprecate [placement]/policy_file config option
76a5c83c Update nested-magic spec for root_member_of
15ab8280 Move nested magic spec to implemented
3eb86273 Update setup.cfg to include project_urls
10146978 Fix misspell word
156b0833 Fix typo in microversion sequence test
8272dfee Fix links to migration scripts
75fb2fe8 Clarify the NOTE associated with ordering of middleware
7327f2ee Merge request log and request id middlewares
3a732f87 Refactor exclude_nested_providers()
25732260 Get usages in _build_provider_summaries()
768cc889 Add place-held _static dir for Sphinx 2.2.0
31794c85 api-ref: fix typo in aggregates note
aecd0f34 Avoid duplicate ProviderSummary in _merge_candidates
5dda479f Add a rw_ctx.psum_res_by_rp_rc, for clarity
803d673c Use rp.id instead of uuid in _rp_rc_key
3f82e3a9 Add rw_ctx.parent_uuid_by_rp_uuid, for clarity
978408b9 Add gabbits using a DeepNUMANetworkFixture
9d256fa6 gabbi test for same_subtree with an ancestry hole
a6e1a19a Add tests demonstrating overlapping same_subtreeZ
0e199901 Fix allocation bug in NUMANetworkFixture
3c102181 Use expanding bindparam in get_traits_by_provider_tree
e9623705 Copy AllocationRequestResource only when necessary
1a7d39be Add __copy__ method to AllocationRequest{,Resource}
b16b48ad Correct SQL docstring on _get_usages_by_provider_trees
f69f5845 Use another expanding bindparam in _get_usages_by_provider_trees
6de94f98 Move provider_ids_from_rp_ids to allocation_candidate and fix
5fd2d18c Optimize trait creation to check existence first
d65fb810 Improve docs and comments for provider_ids_from_rp_ids
8da825ef Remove double join in provider_ids_from_rp_ids
9820b1bd Clean up the extend_usages_by_provider_tree method
d6c151f2 Trivial: Remove duplicate usage of db context
5883c794 Use expanding bindparam in extend_usages_by_provider_tree
51e4f419 Make _get_trees_with_traits return a set
5dd9a290 Track usage info on RequestWideSearchContext
0386f534 Further optimize _build_provider_summaries
6ef820c9 Add RequestWideSearchContext.summaries_by_id
ed030851 Add apache benchmark (ab) to end of perfload jobs
07d7749c Implement a more complex nested-perfload topology
7464ff6e Run nested-perfload parallel correctly
5466ec18 Make placement base API return version without auth
d4d9457a Use expanding bindparam in provider_ids_from_rp_ids in_
5d3243f4 Use __slots__ in commonly used objects
8626b651 Remove ProviderIds namedtuple
069c531b _get_all_by_filters_from_db do not cast to list of dict
d0416808 Bump os-traits minimum to 0.16.0
835081ac Blacklist sphinx 2.1.0 (autodoc bug)
a0e2c027 Use TraitCache for Trait.get_by_name
3b484c80 Extra gabbi tests for same_subtree
b1a7338d Use integrated-gate-placement zuul template
b09f2f91 Make a TraitCache similar to ResourceClassCache
7efcb2e7 Further simplify microversion utils
99b107fb Update api-ref to point to API-SIG microversion spec
7b3c179f Update api-ref location
8eedcfce Run 'tempest-ipv6-only' job in gate
a24868fd Bump os-resource-classes requirements
d76d6ab7 Extract a _get_schema from list_allocation_candidates
2fc321ae Move rc_cache onto RequestContext
baaaff17 Make placement testing easier on osx
d2b452d7 Simplify placement.microversion:_fully_qualified_name
a09defd6 api-ref: Document generations
4ae8ffea Add placement.query.missing_value in api-ref
78583754 Add Python 3 Train unit tests
3f786431 Doc `same_subtree` queryparam
328f7a3a Add query.duplicate_key and .bad_value in api-ref
efaa3644 Follow up fix for same_subtree documentation
23300f28 Trivial: Fix docs for functions
8395e3f0 Support `same_subtree` queryparam
8c4ad849 tox: Stop building api-ref docs with the main docs
4b4dd5ec Add whereto for testing redirect rules
3659df6e Update implemented spec and spec document handling
d1005782 Correct variable use and naming in mappings tests
06256d86 Manage mappings on AllocationRequest object
7cadf3e8 Recreate: incorrect mappings with group_policy=none
ed0af2e4 Fix up some inaccuracies in perfload comments and logs
ed4a9a1d Spec: Support Consumer Types
2772dafc Bump os-traits minimum to 0.15.0
41287a74 Remove gate/post_test_hook.sh
180c83b5 Centralize and clarify pip in the docs
243757dd Mention OsProfiler in the testing doc
66378006 Add OsProfiler config options to generated reference
0d9c510d Trivial: Update document for Request IDs
38d3d5d1 Add a test for granular member_of not flowing down
698645ca Miscellaneous doc/comment/log cleanups
b733786a Microversion 1.35: root_required
5a6884ae RequestWideParams and RequestWideSearchContext
c774416d Refactor anchors_for_sharing_providers
85fcc8e7 research_context._get_roots_with_traits()
c00d0433 Spec for nested magic 1
40c97d73 Add support for osprofiler in wsgi
3b040f58 Move non-nested perfload shell commands to script
8723bd77 Nested provider performance testing
99242b83 Update SUSE install documentation
e1aec515 Remove overly-verbose allocation request log
9de03e1b Uniquify allocation mappings
6483cd26 Remove a redundant test
71114d9e Add missing suffix-related docstrings
d38844e3 Implement allocation candidate mappings
eb079134 Prepare objects for allocation request mappings
01e69915 Remove incomplete consumer inline migrations
221c65a7 Add a blocker migration for missing consumer records
e1783b00 Correctly limit provider summaries when nested
88b6c816 Add NUMANetworkFixture for gabbits
81937773 Stabilize AllocationRequest hash
910b466c perfload with written allocations
4cca0ee1 Bump os-traits to latest release (0.14.0)
88c6ad9c Optionally run a wsgi profiler when asked
7db53444 Bump os-traits requirements
7049e407 Resource provider - request group mapping in allocation candidate
289130fc Bump openstackdocstheme to 1.30.0
7b8e2a8a Reuse cache result for sharing providers capacity
f8bbda15 Move seek providers with resource to context
d75bdbff Remove normalize trait map func
7f4b79b7 Cache provider ids in requested aggregates
fb71a6ab Move search functions to the research context file
daf7285a Add RequestGroupSearchContext class
fc35e311 Modernize CORS config and setup
7db2e293 Add olso.middleware.cors to conf generator
e0b35bc3 Don't run functional.db tests in nova functional run
aeb65d4c Trivial: Fix comment for LEFT join
5f4da5e0 Use trait strings in ProviderSummary objects
346509f8 Avoid traversing summaries in _check_traits_for_alloc_request
7d39ee72 Canary test for os-traits version
cb28c8dd Fix typo in usage.yaml and usage-policy.yaml
4bfffd7f Bump os-resource-classes requirements
4d05bb8f Fixups from removing null provider protections
e0efa65e Remove null root provider protections
4606e55d Add blocker alembic migration for null root_provider_ids
4af1df94 Change "Missing Root Provider IDs" upgrade check to a failure
fb0f6f26 Allow [a-zA-Z0-9_-]{1,64} for request group suffix
e98b5df3 Add 'docs' worklist to worklist table
43c859b4 Cap sphinx for py2 to match global requirements
73b29cd6 Enhance debug logging in allocation candidate handling
727fb88d Skip _exclude_nested_providers() if not nested
fea9bad7 Raise os-traits os-resource-classes constraints
c62ed6cc Package db migration scripts in placement pypi dist
df12d4d2 Skip notification sample tests when running nova functional
e621d300 Run nova-tox-functional-py36 in the placement gate
e9160abc Update worklist information for contributors
ae9bdbaa Remind people to use postgresql-migrate-db.sh when migrating data
a2513d8e Replace git.openstack.org URLs with opendev.org URLs
da3e8795 Dropping the py35 testing
931a9e12 OpenDev Migration Patch
1b5710db Add links to storyboard worklists to contributing.rst
d921ad4b api-ref: fix formatting in member_of param for 1.21
c3a1aefe Fix arg typos in contributing.rst
5d0daffa Remove dead code
3d29a4b7 Correct task status when a task is under review
852294bd Rename api-ref parameters
e6f234fe FUP on negative-aggregate-membership series
a4276417 Fix a broken link in a release note
4040f898 Refactor aggregate _get_trees_matching_all()
1060123a Refactor ResourceProviderListTestCase
0a3dcadb Negative member_of query with microversion 1.32
69a70004 Prepare for negative member queryparam 2
cc959d53 Fill in the Writing Code section of contributing.rst
73a585d7 Fill in the New Features section of contributing.rst
aa1ca270 Fill in reviewing section of contributing.rst
fcd99b33 Fill in the bugs section of contributing.rst
bf36ed61 Fix debug log getting allocation_candidates
0cbf2635 Remove fake resource class from fake_ensure_cache
3752f045 s/rc_cache.ensure_rc_cache/rc_cache.ensure/
a83c5a4c Add initial framing for a contributing doc
da1a588b Remove use of oslo.i18n and translation
c99492cf Replace openstack.org git:// URLs with https://
48948bce Initial structure for in-tree specs
f7f52316 Add register_opts param to PlacementFixture
4b35ee2c Revert "Centralize registration of logging options"
6eed58d3 Update master for stable/stein
bbc2af0b Spec: Support filtering by forbidden aggregates 2
4baa6cb6 Spec: Support filtering by forbidden aggregates 1
820bf629 Prepare for negative member_of queryparam
f4f98293 Add link to case studies in alloc_cands api-ref
0045e59f Document alloc-candidates-in-tree
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 -
.gitreview | 3 +-
.zuul.yaml | 47 +-
README.rst | 6 +-
api-ref/source/aggregates.inc | 2 +-
api-ref/source/allocation_candidates.inc | 20 +-
api-ref/source/allocations.inc | 22 +-
api-ref/source/errors.inc | 9 +
api-ref/source/generations.inc | 48 +
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 227 +++-
api-ref/source/request-ids.inc | 4 +-
api-ref/source/reshaper.inc | 1 +
api-ref/source/resource_providers.inc | 2 +-
api-ref/source/root.inc | 4 +-
.../get-allocation_candidates-1.34.json | 96 ++
.../to-stein.rst => admin/upgrade-to-stein.rst} | 23 +-
.../approved/2005473-support-consumer-types.rst | 357 ++++++
.../2005297-negative-aggregate-membership.rst | 386 ++++++
.../train/implemented/2005575-nested-magic-1.rst | 636 ++++++++++
...uest-group-mapping-in-allocation-candidates.rst | 577 +++++++++
etc/placement/config-generator.conf | 5 +-
gate/README | 18 +-
gate/gabbits/nested-perfload.yaml | 183 +++
gate/perfload-nested-loader.sh | 24 +
gate/perfload-nested-runner.sh | 108 ++
gate/perfload-runner.sh | 123 ++
gate/perfload-server.sh | 30 +
gate/post_test_hook.sh | 75 --
lower-constraints.txt | 6 +-
placement/attribute_cache.py | 163 +++
placement/auth.py | 4 +-
placement/cmd/manage.py | 33 +-
placement/cmd/status.py | 34 +-
placement/conf/__init__.py | 6 +
placement/conf/placement.py | 11 +
placement/context.py | 3 +
.../611cd6dffd7b_block_on_null_root_provider_id.py | 42 +
.../b5c396305c25_block_on_null_consumer.py | 50 +
placement/deploy.py | 68 +-
placement/errors.py | 5 +
placement/exception.py | 103 +-
placement/handler.py | 7 +-
placement/handlers/aggregate.py | 9 +-
placement/handlers/allocation.py | 46 +-
placement/handlers/allocation_candidate.py | 117 +-
placement/handlers/inventory.py | 75 +-
placement/handlers/reshaper.py | 23 +-
placement/handlers/resource_class.py | 17 +-
placement/handlers/resource_provider.py | 26 +-
placement/handlers/trait.py | 54 +-
placement/handlers/usage.py | 3 +-
placement/handlers/util.py | 9 +-
placement/i18n.py | 36 -
placement/lib.py | 233 +++-
placement/microversion.py | 51 +-
placement/objects/allocation.py | 95 +-
placement/objects/allocation_candidate.py | 806 ++++++------
placement/objects/inventory.py | 3 +-
placement/objects/research_context.py | 1297 ++++++++++++++++++++
placement/objects/resource_class.py | 14 +-
placement/objects/resource_provider.py | 1065 +---------------
placement/objects/rp_candidates.py | 8 +
placement/objects/trait.py | 71 +-
placement/objects/usage.py | 12 +-
placement/policy.py | 46 +-
placement/requestlog.py | 55 +-
placement/resource_class_cache.py | 142 ---
placement/rest_api_version_history.rst | 103 ++
placement/schemas/allocation.py | 23 +
placement/schemas/allocation_candidate.py | 23 +-
placement/schemas/common.py | 5 +
placement/schemas/reshaper.py | 5 +
.../functional/db/test_allocation_candidates.py | 777 +++++++++---
...urce_class_cache.py => test_attribute_cache.py} | 30 +-
.../gabbits/allocation-candidates-bug-1792503.yaml | 86 +-
.../allocation-candidates-mappings-numa.yaml | 134 ++
.../allocation-candidates-mappings-sharing.yaml | 77 ++
.../gabbits/allocation-candidates-member-of.yaml | 114 +-
.../allocation-candidates-root-required.yaml | 291 +++++
.../functional/gabbits/allocation-candidates.yaml | 13 +
.../functional/gabbits/allocations-mappings.yaml | 100 ++
.../functional/gabbits/granular-same-subtree.yaml | 538 ++++++++
.../gabbits/resource-classes-policy.yaml | 2 +-
.../gabbits/resource-provider-aggregates.yaml | 118 ++
.../functional/gabbits/same-subtree-deep.yaml | 78 ++
.../unit/objects/test_allocation_candidate.py | 88 +-
placement/util.py | 117 +-
placement/wsgi.py | 25 +-
placement_db_tools/__init__.py | 21 +
placement_db_tools/mysql-migrate-db.sh | 307 +++++
placement_db_tools/postgresql-migrate-db.sh | 287 +++++
playbooks/nested-perfload.yaml | 20 +
playbooks/perfload.yaml | 120 +-
...cation-candidate-mappings-e00cf6deadcee9ab.yaml | 14 +
...on-candidate-same_subtree-aeed7b2570293dfb.yaml | 11 +
...-candidates-root_required-bfe4f96f96a2a5db.yaml | 12 +
...ate-placement-policy-file-1777dc2e92d8363c.yaml | 11 +
.../fix-osprofiler-support-78b34a92c32fd30f.yaml | 7 +
.../granular-request-suffix-a7fd857eadc16b56.yaml | 12 +
...ted-allocation-candidates-0886e569d15ad951.yaml | 11 +
...tive-aggregate-membership-1dde3cbe27c69279.yaml | 34 +
.../notes/stein-prelude-779b0dbfe65cf9ac.yaml | 2 +-
.../notes/train-prelude-06739452ba2f66d9.yaml | 23 +
...require-root-provider-ids-60bc374ac354f41e.yaml | 9 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 10 +-
setup.cfg | 26 +-
test-requirements.txt | 7 +-
tools/mysql-migrate-db.sh | 302 +----
tools/postgresql-migrate-db.sh | 288 +----
tox.ini | 34 +-
170 files changed, 11898 insertions(+), 4428 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b109c7c9..e0563112 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+SQLAlchemy>=1.2.19 # MIT
@@ -10 +10 @@ WebOb>=1.8.2 # MIT
-jsonschema<3.0.0,>=2.6.0 # MIT
+jsonschema>=2.6.0 # MIT
@@ -22 +21,0 @@ oslo.policy>=1.35.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
@@ -25,2 +24,3 @@ oslo.upgradecheck>=0.2.0 # Apache-2.0
-os-resource-classes>=0.2.0 # Apache-2.0
-os-traits>=0.4.0 # Apache-2.0
+# NOTE(efried): Sync lower-constraints.txt for os-traits & os-resource-classes.
+os-resource-classes>=0.5.0 # Apache-2.0
+os-traits>=0.16.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 1b4d1249..3f8a93fc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9,2 +9,2 @@ mock>=2.0.0 # BSD
-psycopg2>=2.6.2 # LGPL/ZPL
-PyMySQL>=0.7.6 # MIT License
+psycopg2>=2.6.2; sys_platform!='darwin' # LGPL/ZPL
+PyMySQL>=0.7.6; sys_platform!='darwin' # MIT License
@@ -18,0 +19,3 @@ wsgi-intercept>=1.7.0 # MIT License
+
+# needed to generate osprofiler config options
+osprofiler>=1.4.0 # Apache-2.0
1
0
We exuberantly announce the release of:
mistral-dashboard 9.0.0: Mistral dashboard
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/mistral-dashboard
Download the package from:
https://pypi.org/project/mistral-dashboard
For more details, please see below.
Changes in mistral-dashboard 8.0.0.0rc1..9.0.0
----------------------------------------------
82df9c6 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
eda183b Update .gitreview for stable/train
538fc12 Fix error when use keystone federation
809416b Refactor error messages
eba4d3a Add Python 3 Train unit tests
773b349 Remove redundant exception handling
a7d6725 Remove the ErrorHandleTests class
5d1f9ab Modify the name of action_executions panel
51166f3 Follow the new PTI for document build
e5b94ec Add the unit test for executions
b7d6322 Add the unit test for cron_triggers
b7a408a Add the unit test for update_action_execution
293cf1c Add the unit test for create and update action
3865255 Add the unit test for executions detail
e0a972f Add the unit test for workflows detail
21663e5 Add the unit test for workbooks detail
c4fd4d8 Add the unit test for tasks detail
bcc743e Add the unit test for cron_triggers detail
8bceb19 Add the unit test for action_executions detail
d1df6b3 Add the unit test for actions detail
cbf3a8c Modify the url of upper_constraints_file
6726cee fix the Bug of test in workflows panel
8dab9d1 fix the Bug of test in workbooks panel
268c542 fix the Bug of test in tasks panel
4e62ddd fix the Bug of test in executions panel
9e7b4bc fix the Bug of test in action_executions panel
20bd211 fix the Bug of test in cron_triggers panel
19c254b fix the Bug of test in actions panel
13e1709 Use openstack-python3-train-jobs for python3 test runtime
0775cfe Add python 3.7 classifier to setup.cfg
c0f2cf7 Blacklist sphinx 2.1.0 (autodoc bug)
f154594 Correct error messages on update action execution form
3be30d0 The columns out of page range
b697fcc Unified button style on Execute form in workflow panel
7dc4afb Change action_execution to action_executions in url
f820ab4 Indent four spaces
399b9df Update sphinx dependency
840955c Remove try: ... finally: pass
9a4e706 Add asterisk mark for the required field
59f0ab4 Add python37 job
8776da2 Translate executions state
3cb1ace Add asterisk mark for the required field
fc53013 Switch to stestr
8b4ca12 Dropping the py35 testing
a8cd02d Replace git.openstack.org URLs with opendev.org URLs
d86efab OpenDev Migration Patch
f732ea9 Fix the bug of the py27 test
80b7476 Update master for stable/stein
b486f02 Increment versioning with pbr instruction
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.gitreview | 3 +-
.stestr.conf | 4 +
.zuul.yaml | 3 +-
README.rst | 2 +-
mistraldashboard/action_executions/forms.py | 12 +--
mistraldashboard/action_executions/panel.py | 4 +-
mistraldashboard/action_executions/tables.py | 24 +----
mistraldashboard/action_executions/views.py | 28 ++----
mistraldashboard/actions/forms.py | 10 +-
mistraldashboard/api.py | 9 +-
mistraldashboard/cron_triggers/forms.py | 34 +++----
mistraldashboard/executions/forms.py | 4 +-
mistraldashboard/executions/tables.py | 10 ++
mistraldashboard/executions/views.py | 9 +-
mistraldashboard/test/test_data/mistral_data.py | 21 +++--
mistraldashboard/workbooks/forms.py | 10 +-
mistraldashboard/workflows/forms.py | 10 +-
.../workflows/templates/workflows/_execute.html | 5 -
mistraldashboard/workflows/views.py | 2 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 ++
setup.cfg | 8 +-
test-requirements.txt | 7 +-
tox.ini | 27 ++++--
34 files changed, 453 insertions(+), 254 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 90eaf85..c737881 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14,6 +14 @@ xvfbwrapper>=0.1.3 #license: MIT
-
-# Docs Requirements
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-oslosphinx>=4.7.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
-docutils>=0.11 # OSI-Approved Open Source, Public Domain
+stestr>=2.0.0 # Apache-2.0
1
0
We are delighted to announce the release of:
mistral 9.0.0: Mistral Project
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/mistral
Download the package from:
https://pypi.org/project/mistral
Please report issues through:
https://bugs.launchpad.net/mistral/+bugs
For more details, please see below.
Changes in mistral 8.0.0.0rc1..9.0.0
------------------------------------
016509eb Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
33d4a8bb Fix "root_execution" lazy loading issue and refactor execution.py
aae80641 Update .gitreview for stable/train
a655ff98 Add the explicit dependency from kombu
ac41f94d Add an ability to disable workflow text validation
6fb83388 Fix scheduled jobs migration
b4a46fd1 Remove volumes.promote and volumes.reenable action from cinder
0de24794 Pass a real session to ironicclient in _get_fake_client
b9b21c82 Exclude ironicclient 3.0.0 from requirements
64c4038b Optimize creation of language specs
efc4cf07 Use v2 designate client instead of v1
86ae8a7e Change 403 exception message to something more informative and accurate
8283670d Remove unneeded Zuul branch matcher
7e7f1cb9 moved generic util functions from mistral to mistral-lib
51b7dd0c Fix error validate token when run cron trigger
9585a638 Fix don't work with senlin actions
6418132a Fix missing in workflow documents
4a1be8c4 Add db api tests for scheduled jobs
24f50dab Need to run only doc related jobs on doc change
f13b69ca Fix workflow documents
21f95a58 Add a migration to create the scheduled_jobs table
fdfb65a8 Fix workflow language tests after updating jsonschema to 3.0.2
7158d90b Fix misspell word
6a584299 Blacklist eventlet 0.21.0,0.23.0,0.25.0
c99b87a8 Check if workflow execution is empty in integrity checker
9804e74d Add "published_global" field to the task execution REST resource
5eb2a216 Improve workflow notifications and webhook data
f92a5c8f Fix 'with-items' expression evaluation
6102c525 Mistral don't work with cron trigger
6dfab10e Support OpenStack services dynamic versions
60536f69 Bump lower constraint of python-zunclient
8d539921 remove unused gate code * post_test_hook. used in legacy gate * run_functional_test probably not used and also doean't work since mistral_tempest was moved
6c0bd2a2 Add "retry_count" field into workflow execution report
0f6bc189 Improve new scheduler
4e926a1f Fail-on policy
059248f8 Create docs for the workflow namespaces feature
9b576aec Use raw strings in all pattern matching strings
d8a127ab Upgrade hacking
babcd0d6 Improve error message when sync actions timeout
12c84dc9 Allow to filter event notifications by their type
7ae3ec0c Provide better docs for the "target" task attribute
1a2ff637 A1 B should be tasks rather than workflow levels
2c3c3b1b Update api-ref location
77118d3b Rename the test class so it will be PyCharm friendly
90a9a48f When installing devstack enable the bash completion
4a9d55a1 Retry a DB transaction on "Too many connections" error
69148233 Bulk delete of stored delayed calls
f43bf7ba Allow to delete multiple objects with advanced filters
6098804a remove mistral-tempest-plugin from setup.cfg
4539a0a0 Fix execution deletion in case of insecure context
aed90bab New rerun events
c078429d Add workflow_execution_id to task notification object
b6ebcb3b Use SessionClient for Ironic actions
843717a1 Add Python 3 Train unit tests
93dce86f Fix invalid assert states
26f6e192 Add bindep.txt file for binary dependencies used in unit tests
dfc3277f Initialize the lazily loaded execution "input" field in API
43d23c0e Create needed infrastructure to switch scheduler implementations
f5f9a1df Fix workflow execution cascade delete error
b97b2485 Use eventlet-aware threading events
0c3b6306 Make more JSON fields in execution objects lazy-loaded
b0fb101c Optimize finding upstream task executions
c215c052 Direct workflow code cleanup and refactoring
5c5e948d Use openstack-python3-train-jobs for python3 test runtime
aed4b18c Fix sporadically failing test test_with_items_action_context
b6947705 Store next task names in DB
eb593285 Limit max search depth
a0cada98 Change mistral opendev.org to releases.openstack.org
2a1063e7 Add python 3.7 classifier to setup.cfg
9a2f3b57 Simple optimization of creating/updating workflows
bea98f6f Reduce number of fields in notification data
475b82c5 Delete delayed calls for deleted entities
1e83a076 Exclude broken ironicclient versions 2.5.2 and 2.7.1
4e391dc2 Handle action inputs properly to prevent tasks stuck in RUNNING state
5f86cf1f Allow to use 'task()' yaql function in task policies
15355ea5 Use get_task_executions_count for any_cancels method
e5031e26 Rework updating action executions heartbeats
6dc981d8 Bump openstackdocstheme to 1.30.0
0731cd1d Blacklist sphinx 2.1.0 (autodoc bug)
f09c8ebe Skip context evaluation for non-conditional transitions
c1e4fd8d Remove _get_next_clauses
9289f7d2 Add release notes to changes to wflanguage execution object
58b714eb Prepare cache for _is_upstream_task_execution
cd19e486 Remove _find_task_execution_by_name
92528a82 Move action caching to db layer
a75b07ec Send task and workflow notifications out of the transaction
c5268852 Rework finding indirectly affected created joins
2712b8c1 Fix adhoc action lookup
424a0a55 Blacklist python-cinderclient 4.0.0
831162ac Constraint networkx to <2.3 for Python 2
84b8e92a Get rid of lookup utils
a477fe49 Fix how "has_next_tasks" is calculated for task executions
8549aeaf Optimize searching of upstream task executions
ff00c9c7 Rework joining mechanism
dbc4c911 Remove deprecated nova commands
83c541ac Reduce the number of "on-xxx" evaluations
eb592162 Removes insecure parameter from barbican client
7e0f4eee Add back the secrets_store action into mapping.json
f172e5da Adding root_execution_id to the jinja executor function
a83b4a67 Fix the import for filter_utils
b7107c84 Adds secrets_retrieve to the list of available actions in barbican
1df722d9 Pass auth context to the event publishers
09cd21d5 Docs improvements: task timeout, global context, Docker and jinja
13d8f532 Docs: Change description from on-success to on-error
88e5af41 Reformat retry logic for tasks with join
243c09d5 Add option to start subworkflow via RPC.
46fd1b8a Replace git.openstack.org URLs with opendev.org URLs
f9f99475 Add delay option to std.echo to emulate external lags.
a461e079 OpenDev Migration Patch
279fcc5b Add release notes for reply-to feature
9a60cd62 Fix an action execution controller test
97b493ad Don't use default mutable parameter
59a96b73 inspect.getargspec is deprecated on py3
2cbf5431 Add reply-to to std.email
c5808e54 Dropping the py35 testing
401eeddb Fix E305 codestyle errors
1af2683d Drop py35 jobs
9c65b7d2 Fix doc
b0829f94 Fix an expression context for all_errors_handled()
20c2b78d Fix an obsolete name of a profiler trace
1fce28c1 Add a script to generate a report about profile traces
5d2be345 Add release note for I04ba85488b27cb05c3b81ad8c973c3cc3fe56d36
765225b1 Replace openstack.org git:// URLs with https://
9238909e Stop sending workflow output to on_action_complete
5e0133c8 Add "convert_input_data" config property for YAQL expressions
97f4fc27 Setting the lower version of sphinxcontrib-pecanwsme to 0.10.0
d332d7fe Add release notes for engine optimizations
d4a4f7a5 Improve profiler logging
3e42cffd Update master for stable/stein
218ab5a7 Add Python 3.7 to tox
32c96b1b Add "root_execution" mapped property to WorkflowExecution model
a73e3def Optimize action scheduling
ca1acb65 Add http_proxy_to_wsgi middleware
9bbc1d41 Adds private_key parameter in the standard ssh actions
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 3 +-
.zuul.yaml | 34 +-
CONTRIBUTING.rst | 12 +-
bindep.txt | 8 +
devstack/plugin.sh | 9 +-
devstack/settings | 14 +-
lower-constraints.txt | 24 +-
mistral/actions/openstack/action_generator/base.py | 2 +-
mistral/actions/openstack/actions.py | 157 +++++---
mistral/actions/openstack/base.py | 2 +-
mistral/actions/openstack/mapping.json | 11 +-
mistral/actions/std_actions.py | 45 ++-
mistral/api/app.py | 4 +
mistral/api/controllers/resource.py | 2 +-
mistral/api/controllers/root.py | 2 +-
mistral/api/controllers/v2/environment.py | 2 +-
mistral/api/controllers/v2/execution.py | 45 ++-
mistral/api/controllers/v2/execution_report.py | 5 +
mistral/api/controllers/v2/member.py | 2 +
mistral/api/controllers/v2/resources.py | 9 +-
mistral/api/controllers/v2/root.py | 3 +-
mistral/api/controllers/v2/task.py | 65 ++-
mistral/api/controllers/v2/workbook.py | 17 +-
mistral/api/controllers/v2/workflow.py | 27 +-
mistral/api/hooks/content_type.py | 2 +-
mistral/cmd/launch.py | 2 +-
mistral/config.py | 58 ++-
mistral/context.py | 4 +-
mistral/db/sqlalchemy/base.py | 2 +-
.../027_add_last_heartbeat_to_action_execution.py | 2 +-
...xt_tasks_and_error_handled_to_task_execution.py | 40 ++
.../033_add_next_tasks_to_task_execution.py | 38 ++
.../versions/034_add_scheduled_jobs_table.py | 68 ++++
mistral/db/sqlalchemy/migration/cli.py | 1 +
mistral/db/sqlalchemy/model_base.py | 2 +-
mistral/db/utils.py | 19 +-
mistral/db/v2/api.py | 39 +-
mistral/db/v2/sqlalchemy/api.py | 92 ++++-
mistral/db/v2/sqlalchemy/models.py | 42 +-
mistral/engine/action_handler.py | 23 +-
mistral/engine/actions.py | 103 +++--
mistral/engine/base.py | 6 +-
mistral/engine/default_engine.py | 28 +-
mistral/engine/engine_server.py | 14 +-
mistral/engine/policies.py | 149 ++++---
mistral/engine/post_tx_queue.py | 2 +-
mistral/engine/task_handler.py | 90 +++--
mistral/engine/tasks.py | 98 +++--
mistral/engine/utils.py | 2 +-
mistral/engine/workflow_handler.py | 27 +-
mistral/engine/workflows.py | 89 +++--
mistral/exceptions.py | 2 +-
mistral/executors/executor_server.py | 2 +-
mistral/expressions/yaql_expression.py | 2 +-
mistral/lang/base.py | 99 +++--
mistral/lang/parser.py | 4 +-
mistral/lang/types.py | 6 +-
mistral/lang/v2/actions.py | 2 +-
mistral/lang/v2/on_clause.py | 8 +-
mistral/lang/v2/policies.py | 8 +-
mistral/lang/v2/publish.py | 2 +-
mistral/lang/v2/retry_policy.py | 2 +-
mistral/lang/v2/task_defaults.py | 6 +-
mistral/lang/v2/tasks.py | 8 +-
mistral/lang/v2/workbook.py | 2 +-
mistral/lang/v2/workflows.py | 9 +-
mistral/messaging.py | 2 +-
mistral/notifiers/base.py | 2 +-
mistral/notifiers/default_notifier.py | 7 +-
mistral/notifiers/notification_events.py | 12 +-
mistral/notifiers/notification_server.py | 2 +-
mistral/notifiers/publishers/noop.py | 2 +-
mistral/notifiers/publishers/webhook.py | 2 +-
mistral/rpc/base.py | 9 +
mistral/rpc/clients.py | 9 +-
mistral/rpc/kombu/kombu_client.py | 2 +-
mistral/rpc/kombu/kombu_listener.py | 3 +-
mistral/rpc/kombu/kombu_server.py | 5 +-
mistral/scheduler/base.py | 66 ++-
mistral/scheduler/default_scheduler.py | 83 +++-
mistral/service/coordination.py | 2 +-
mistral/services/__init__.py | 29 ++
mistral/services/action_execution_checker.py | 2 +-
mistral/services/action_manager.py | 2 +-
.../services/{scheduler.py => legacy_scheduler.py} | 90 ++---
mistral/services/workbooks.py | 21 +-
mistral/services/workflows.py | 56 ++-
...test_lookup_utils.py => test_action_caching.py} | 76 +---
.../unit/engine/test_direct_workflow_rerun.py | 8 +-
.../unit/engine/test_reverse_workflow_rerun.py | 17 +-
.../unit/engine/test_subworkflows_pause_resume.py | 246 +++++-------
.../unit/expressions/test_jinja_expression.py | 10 +-
...test_scheduler.py => test_default_scheduler.py} | 42 +-
...{test_scheduler.py => test_legacy_scheduler.py} | 156 +++++---
mistral/utils/__init__.py | 441 ---------------------
mistral/utils/expression_utils.py | 23 +-
mistral/utils/inspect_utils.py | 17 +-
mistral/utils/openstack/keystone.py | 32 +-
mistral/utils/profiler.py | 26 ++
mistral/utils/rest_utils.py | 14 +-
mistral/utils/ssh_utils.py | 30 +-
mistral/workflow/base.py | 30 +-
mistral/workflow/commands.py | 53 ++-
mistral/workflow/data_flow.py | 30 +-
mistral/workflow/direct_workflow.py | 366 ++++++++---------
mistral/workflow/lookup_utils.py | 190 ---------
mistral/workflow/reverse_workflow.py | 31 +-
playbooks/legacy/mistral-ha/run.yaml | 2 +-
...oot_execution_id_to_jinja-90b67c69a50370b5.yaml | 5 +
.../add_skip_validation-9e8b906c45bdb89f.yaml | 18 +
...nput_data_config_property-09822dee1f46eb8e.yaml | 11 +
...t_tasks_field_calculation-5717f93d7adcd9b0.yaml | 7 +
.../notes/fix_task_function-04b83ada20a71f12.yaml | 6 +
...y-to-wsgi-oslo-middleware-f66f1b9533ea1e8a.yaml | 11 +
..._adhoc_actions_scheduling-e324f66f962ae409.yaml | 8 +
.../notes/std-ssh-add-pkey-2c665a81ff9fbdfd.yaml | 6 +
.../notes/std.email-reply-to-c283770c798db7d0.yaml | 3 +
...entity_for_root_execution-1af6af12ee437282.yaml | 11 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 23 +-
setup.cfg | 7 +-
test-requirements.txt | 7 +-
tools/config/config-generator.mistral.conf | 1 +
tools/docker/DOCKER_README.rst | 176 +-------
tools/docker/Dockerfile | 2 +-
tools/rank_profiled_methods.py | 99 +++++
tox.ini | 8 +-
197 files changed, 4658 insertions(+), 2882 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index f21d2750..22ff0816 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ dogpile.cache>=0.6.2 # BSD
-eventlet!=0.20.1,>=0.20.0 # MIT
+eventlet!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.20.0 # MIT
@@ -14 +14 @@ Jinja2>=2.10 # BSD License (3 clause)
-jsonschema<3.0.0,>=2.6.0 # MIT
+#jsonschema>=2.6.0 # MIT
@@ -16,2 +16,4 @@ keystonemiddleware>=4.18.0 # Apache-2.0
-mistral-lib>=0.4.0 # Apache-2.0
-networkx>=1.10 # BSD
+kombu!=4.0.2,>=4.6.1 # BSD
+mistral-lib>=1.2.0 # Apache-2.0
+networkx<2.3,>=1.10;python_version<'3.0' # BSD
+networkx>=2.3;python_version>='3.4' # BSD
@@ -26 +28 @@ oslo.policy>=1.30.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.utils>=3.37.0 # Apache-2.0
@@ -35 +37,2 @@ python-barbicanclient>=4.5.2 # Apache-2.0
-python-cinderclient>=3.3.0 # Apache-2.0
+python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0
+python-zaqarclient>=1.0.0 # Apache-2.0
@@ -51 +54 @@ python-troveclient>=2.2.0 # Apache-2.0
-python-ironicclient>=2.3.0 # Apache-2.0
+python-ironicclient!=2.7.1,!=3.0.0,>=2.7.0 # Apache-2.0
@@ -54,2 +57 @@ python-vitrageclient>=2.0.0 # Apache-2.0
-python-zaqarclient>=1.0.0 # Apache-2.0
-python-zunclient>=1.0.0 # Apache-2.0
+python-zunclient>=3.4.0 # Apache-2.0
@@ -60 +62 @@ requests>=2.14.2 # Apache-2.0
-tenacity>=4.4.0 # Apache-2.0
+tenacity>=5.0.1 # Apache-2.0
@@ -67,0 +70 @@ zake>=0.1.6 # Apache-2.0
+
diff --git a/test-requirements.txt b/test-requirements.txt
index c2ce4d6c..bb2db372 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0,<1.2.0 # Apache-2.0
@@ -11 +11 @@ keystonemiddleware>=4.18.0 # Apache-2.0
-mistral-lib>=0.4.0 # Apache-2.0
+mistral-lib>=1.2.0 # Apache-2.0
@@ -13 +13,2 @@ mock>=2.0.0 # BSD
-networkx>=1.10 # BSD
+networkx<2.3,>=1.10;python_version<'3.0' # BSD
+networkx>=2.3;python_version>='3.4' # BSD
1
0
We eagerly announce the release of:
searchlight-ui 7.0.0: Horizon panels and libraries for Searchlight
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/searchlight-ui
Download the package from:
https://pypi.org/project/searchlight-ui
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/searchlight-
ui
For more details, please see below.
Changes in searchlight-ui 6.0.0..7.0.0
--------------------------------------
d22b03e Update the constraints url
faca3e1 Imported Translations from Zanata
27accd3 Imported Translations from Zanata
293ba25 Imported Translations from Zanata
e3722f8 Add Python 3 Train unit tests
07766fc Imported Translations from Zanata
a2082e9 Sync Sphinx requirement
d9644b9 Migrate to opendev.org
f3242d4 OpenDev Migration Patch
d68e526 Drop nodejs4 job
9e994bf Update master for stable/stein
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 4 +-
README.rst | 2 +-
devstack/plugin.sh | 2 +-
package.json | 4 +-
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 10 +-
.../source/locale/id/LC_MESSAGES/releasenotes.po | 10 +-
.../source/locale/ru/LC_MESSAGES/releasenotes.po | 38 +++++-
releasenotes/source/stein.rst | 6 +
searchlight_ui/locale/id/LC_MESSAGES/djangojs.po | 55 ++++++++-
searchlight_ui/locale/ru/LC_MESSAGES/djangojs.po | 127 ++++++++++++++++++++-
test-requirements.txt | 3 +-
tools/gate/integration/pre_test_hook.sh | 4 +-
tox.ini | 4 +-
17 files changed, 246 insertions(+), 33 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 1d63146..f1af0f8 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12,2 @@ selenium>=2.50.1 # Apache-2.0
-sphinx>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
1
0
We contentedly announce the release of:
kuryr-libnetwork 4.0.0: Docker libnetwork driver for OpenStack Neutron
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/kuryr-libnetwork
Download the package from:
https://tarballs.openstack.org/kuryr-libnetwork/
Please report issues through:
https://bugs.launchpad.net/kuryr-libnetwork/+bugs
For more details, please see below.
Changes in kuryr-libnetwork 3.0.0..4.0.0
----------------------------------------
b63cd9a Fix ipv6 issue on devstack
f555383 Update api-ref location
86b6bf3 Add Python 3 Train unit tests
c528e9b Replace port 35357 with port 5000
01b20b1 Update install guide for master branch
9665daf OpenDev Migration Patch
ca8160e Dropping the py35 testing
0c148b9 Update master for stable/stein
2c59972 Replace openstack.org git:// URLs with https://
be37558 README: make it us-ascii
1fb4c1a Migrate legacy jobs to Ubuntu Bionic
e028d0c add python 3.7 unit test job
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 20 +++++++---------
Dockerfile | 2 +-
README.rst | 10 ++++----
contrib/docker/v2plugin/config.json | 2 +-
devstack/settings | 2 +-
playbooks/kuryr-libnetwork-fullstack-base/run.yaml | 8 +++----
.../kuryr-libnetwork-install-multinode/run.yaml | 8 +++----
playbooks/kuryr-libnetwork-install/run.yaml | 8 +++----
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +++++
setup.cfg | 3 ++-
tox.ini | 2 +-
18 files changed, 60 insertions(+), 54 deletions(-)
1
0
We are gleeful to announce the release of:
octavia 5.0.0: OpenStack Octavia Scalable Load Balancer as a Service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/octavia
Download the package from:
https://pypi.org/project/octavia
Please report issues through:
https://storyboard.openstack.org/#!/project/908
For more details, please see below.
5.0.0
^^^^^
Security Issues
* Correctly require two-way certificate authentication to connect to
the amphora agent API (CVE-2019-17134).
Changes in octavia 4.0.0.0rc1..5.0.0
------------------------------------
6f54167b Fix urgent amphora two-way auth security bug
de492103 Fix healthmonitor message v2 for UDP listeners
39b8f821 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
6e0fd89e Update .gitreview for stable/train
d7f0c819 Validate supported LB algorithm in Amphora provider drivers
d5ffd2ca Fix new pep8/pylint errors
a0f4335c Improve the error message for bad pkcs12 bundles
cf901539 loadbalancer vip-network-id IP availability check
97058e92 Generate PDF documentation
fbe32839 Fix the diskimage-create tox "build" environment
a7766733 Validate server_certs_key_passphrase is 32 chars
b9d357ac Fix 'additive_only' parameter api-ref
5defc1e8 Fix the amphora no-op driver
926179c9 Fix openstack port show content handling
8685bba5 Fix the tips job for octavia-lib
2eac7a78 Add new algorithm SOURCE_IP_PORT
f3b48bc2 Add VIP access control list
05f52570 Fix a few nits from the main volume-based patch
78b12632 Add long-running provider agent support
a4da3ef2 Fix cleanup of expired load balancer entries
42df031e Fix building configs for multiple listeners
4b907b06 Add `additive_only` parameter to Batch Member call
93b509cf Support create amphora instance from volume based.
8577b3af Move to using octavia-lib constants
09efc2a4 Add get method support to the driver-agent
f20dc158 Fix base (VRRP) port abandoned on revert
950faea6 Use dual intermediate CAs for devstack
90549916 Fix template that generates vrrp check script
c4c7387f worker: Re-add FailoverPreparationForAmphora
3b5a19c3 Standardizes terminology in Listener documentation
0978c776 Switch TaskFlow engine to parallel
37b50c1f Set Libvirt hw_rng for devstack
0720397d Work around strptime threading issue
6af536ec Fix provider driver utils
36afa82d Fix L7 repository create methods
2529fa33 Lookup interfaces by MAC directly
b42a64a0 Allow listeners for different protocols on the same port
1a26ba4a Use the infra pypi mirror for DIB
a04e3e37 Remove amphora-agent build deps
afa917a3 Change amphora logging to dedicated socket
5e9d72b9 Fixed typos and bad markup style in maintenance guide
2ad55b14 Add unit test for failover of spare amphorae
51824181 Re-enable the py36 tox environment
4544078a Clarify that an example is not an actual list
262a89c7 Add missing lib dependencies to requirements.txt
50c168e8 Fix wrong package names or versions for centos-minimal images
6e57e6fd Install missing packages in nodepool instance
b1a4758f Fix listener deletion in ACTIVE/STANDBY topology
58961705 Add Octavia tox "tips" jobs
f8d4f8ae Add the DIB_REPO* variables to the README.rst
b32064cd Fix a unit test for new octavia-lib
ec83c693 Add support for oslo_middleware http_proxy_to_wsgi
2504c109 Force DIB Python version for py2 in diskimage-create
0a9f5870 Fixed down server issue after reloading keepalived
4decb6d5 Fixed pool and members status with UDP loadbalancers
65e132a7 Add support for monitor_{address,port} in UDP members
ab8a2636 Fix flavor profile API handling of None updates
e4e7b4a8 Fix l7rule API handling of None updates
52485738 Correcting typo in healthmonitors-list-response.json - http_vesion to http_version.
93e06a92 Add failover logging to show the amphora details.
262ffaa9 Build amphora image using centos-minimal element
bd80cef6 Remove octavia-v2-dsvm-scenario-ubuntu-bionic job
24fc7d61 Make Ubuntu bionic the default for amphora images
06ce4777 Fix multi-listener load balancers
a84352af Add missing test requirement "fixtures"
45cf2f32 Add project_id to all of the provider objects
bc19e079 Update api-ref location
6b056dac Bump the openstackdocstheme extension to 1.20
2bb2f918 Fix cryptsetup --pbkdf-memory failures
b12e5bb2 Add cloud-init-datasources DIB element
a70db6bf Blacklist sphinx 2.1.0 (autodoc bug)
5114a9a4 elements: add arch property for ``open-vm-tools``
2b598570 Add active-standby scenario jobs to check queue
48371c98 Add warning log if auth_strategy is not keystone
6c075686 Fix dhclient enter hook path on RHEL-based amps
e3aacb67 Switch the default Ubuntu kernel to -virtual
56bb1e13 Prevent UDP LBs to use different IP protocol versions in amphora driver
f8a2560e Add Python 3 Train unit tests
de30dbb6 Update tox.ini for new upper constraints strategy
feaa1ce0 only rollback DB when we have a connection to the DB
cd50ae5c Specify the linux-image-kvm kernel for ubuntu
09733a0c Add bindep.txt for Octavia
a144e512 Switch python3 versions of test jobs to match Train PTI
624a63dc Workaround pyroute2 platform-dependent imports
f1542afb Add a note about nova hardware architectures
dc459e22 Fix a python3 issue in the amphora-agent
83af850e Fix TCP listener logging bug
0eaab450 Fix allocate_and_associate DB deadlock
686303e7 Amphora logging
80ddbaee Align logging in the amphora
88217373 Add RHEL 8 amphora support
4007d56b Limit cryptsetup key RAM usage
0ab16921 Create Amphora V2 provider driver
6d2e2be8 Remove references to OpenStack Anchor
d3c3f148 Clarify that the certificate guide should be used
a95f7481 Fix health monitor API handling of None updates
fc9163fc Fix member API handling of None/null updates
3ee0f521 Rename review.openstack.org to review.opendev.org
e2defa6d Fix catching driver exceptions
ee0b566d Document health monitor UDP-CONNECT type
135d999f Fix tox for functional py36 and py37
1d76a3e2 Correct OVN driver feature matrix
89f7d349 Delete unused files in tests/contrib
9ecc7abf Enable fail-fast on the gate queue
7971b8ab db: add missing primary key in spares_pool table
88c4b9bb Remove tempest.test_plugins from setup.cfg
e5d8a1a3 Add provider feature support matrix
f9455cd9 Remove tests/tempest path from devstack and tox
db212fc3 Fix pool API handling of None/null updates
ff50886d Update hacking version to latest
5b831f2a Force amp-agent communication to TLSv1.2
c4faac25 Add Python 3.7 support
2c99d010 Cap to sphinx 2.0.0 on Python 2.7
1910f024 Replace git.openstack.org URLs with opendev.org URLs
29d4340e Remove v1 API and associated code
24e77d60 Performance improvement for non-udp health checks
1a87298a Bandit test exclusions syntax change
3fc6b93d Ignore .vscode directory
0000412c Make sure amphora logging works the same on py2 and py3
28f4f9e4 Fix missing INCLUDEPKGS var in haproxy element
57d653cc Make amphora cert validity time configurable
b9e8f7e2 Update some octavia documentation
b1f3d949 Removing an erroneous comment
5f16d221 Update operator maintenance doc
930a3236 Fix listener API handling of None/null updates
f0776e0c Remove python3.5 jobs for Train
01269183 OpenDev Migration Patch
4c9097c6 Adding changes to support ppc64le amphora builds with CentOS
a509710a Fix spare amphora failover
c987140f Update documentation about rotating amphorae
7d1bdc31 Fix missing REDIRECT_PREFIX in the api-ref
b274355e Constraint networkx to <2.3 for Python 2
41ff4313 Fix the amphora base port coming up
951afb9a Fix IPv6 in Active/Standby topology on CentOS
0b468090 Fix spare amphora check and creation
5fb79c94 Fix invalid query selector with list_ports
e0c45ce4 Fix setting of VIP QoS policy
95a872fc Fix VIP plugging on CentOS-based amphorae
31741aa4 Add support to the Python Visual Studio Debugger
23a41141 Fix ifup failures on member interfaces with IPv6
962f5f26 Adds server_certs_key_passphrase to octavia.conf
b0bc17a2 Replace openstack.org git:// URLs with https://
811ec10f Make sure the expected codes list is sorted
7736eead Update master for stable/stein
dc5a708d Fix initialization of Barbican client
6c0af86e Add error-handling for permission of /etc/octavia
d1518c5c Fix diskimage-create tox, add ``build`` and ``test`` targets
5fb46835 Install DIB binary dependencies from bindep.txt
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
.gitreview | 3 +-
.pylintrc | 4 +-
README.rst | 2 +-
api-ref/source/conf.py | 15 -
api-ref/source/examples/versions-get-resp.json | 8 -
api-ref/source/index.rst | 5 -
api-ref/source/parameters.yaml | 56 +-
api-ref/source/v1/octaviaapi.rst | 2280 ----------------
.../v2/examples/healthmonitors-list-response.json | 2 +-
api-ref/source/v2/examples/listener-create-curl | 2 +-
.../v2/examples/listener-create-request.json | 6 +-
.../v2/examples/listener-create-response.json | 6 +-
.../source/v2/examples/listener-show-response.json | 6 +-
api-ref/source/v2/examples/listener-update-curl | 2 +-
.../v2/examples/listener-update-request.json | 6 +-
.../v2/examples/listener-update-response.json | 6 +-
.../v2/examples/listeners-list-response.json | 6 +-
api-ref/source/v2/listener.inc | 6 +
api-ref/source/v2/member.inc | 8 +
api-ref/source/v2/pool.inc | 7 +-
bin/create_certificates.sh | 84 -
bin/create_dual_intermediate_CA.sh | 161 ++
bin/create_single_CA_intermediate_CA.sh | 116 +
bin/openssl.cnf | 144 ++
bindep.txt | 27 +
devstack/README.md | 2 +-
devstack/contrib/new-octavia-devstack.sh | 6 +-
.../etc/rsyslog/10-octavia-log-offloading.conf | 11 +
devstack/files/debs/octavia | 1 +
devstack/files/rpms-suse/octavia | 1 +
devstack/files/rpms/octavia | 1 +
devstack/plugin.sh | 122 +-
devstack/pregenerated/certs/client.key | 28 -
.../certs/{ca_01.pem => client_ca.cert.pem} | 0
devstack/pregenerated/certs/private/cakey.pem | 30 -
.../client.cert-and-key.pem} | 0
.../pregenerated/certs/private/server_ca.key.pem | 30 +
.../pregenerated/certs/server_ca-chain.cert.pem | 22 +
devstack/pregenerated/certs/server_ca.cert.pem | 22 +
devstack/samples/multinode/Vagrantfile | 4 +-
devstack/samples/multinode/local-2.conf | 4 +-
devstack/samples/multinode/local.conf | 8 +-
devstack/samples/singlenode/Vagrantfile | 2 +-
devstack/samples/singlenode/local.conf | 8 +-
devstack/settings | 11 +-
devstack/upgrade/settings | 4 +-
diskimage-create/README.rst | 73 +-
diskimage-create/diskimage-create.sh | 87 +-
diskimage-create/tox.ini | 21 +-
.../feature-matrix-healthmonitor.ini | 168 ++
.../feature-matrix-l7policy.ini | 127 +
.../feature-matrix-l7rule.ini | 167 ++
.../feature-classification/feature-matrix-lb.ini | 114 +
.../feature-matrix-listener.ini | 279 ++
.../feature-matrix-member.ini | 111 +
.../feature-classification/feature-matrix-pool.ini | 203 ++
elements/amphora-agent/element-deps | 1 +
elements/amphora-agent/package-installs.yaml | 2 +
elements/amphora-agent/pkg-map | 19 +-
.../post-install.d/10-enable-network-scripts | 12 +
.../post-install.d/90-remove-build-deps | 27 +
.../amphora-agent/source-repository-amphora-agent | 4 +-
.../static/etc/rsyslog.d/55-octavia-socket.conf | 4 +
elements/certs-ramfs/element-deps | 1 +
.../init-scripts/systemd/certs-ramfs.service | 2 +-
elements/certs-ramfs/init-scripts/sysv/certs-ramfs | 9 +-
.../init-scripts/upstart/certs-ramfs.conf | 9 +-
.../certs-ramfs/static/usr/local/bin/certfs-ramfs | 19 +
elements/haproxy-octavia/pkg-map | 8 +-
.../haproxy-octavia/pre-install.d/01-backports | 24 +-
.../finalise.d/99-disable-resolv-conf | 4 +-
etc/octavia.conf | 159 +-
lower-constraints.txt | 10 +-
octavia/amphorae/backends/agent/agent_jinja_cfg.py | 6 +-
.../amphorae/backends/agent/api_server/__init__.py | 2 +-
.../backends/agent/api_server/amphora_info.py | 14 +-
.../agent/api_server/haproxy_compatibility.py | 2 +-
.../backends/agent/api_server/keepalived.py | 10 +-
.../backends/agent/api_server/keepalivedlvs.py | 57 +-
.../api_server/{listener.py => loadbalancer.py} | 251 +-
.../amphorae/backends/agent/api_server/osutils.py | 22 +-
octavia/amphorae/backends/agent/api_server/plug.py | 26 +-
.../amphorae/backends/agent/api_server/server.py | 74 +-
.../api_server/templates/keepalived.systemd.j2 | 4 +-
.../api_server/templates/keepalived.sysvinit.j2 | 4 +-
.../api_server/templates/keepalived.upstart.j2 | 4 +-
.../templates/keepalived_check_script.conf.j2 | 2 +-
.../api_server/templates/rh_plug_vip_ethX.conf.j2 | 2 +
.../backends/agent/api_server/udp_listener_base.py | 17 -
octavia/amphorae/backends/agent/api_server/util.py | 127 +-
.../agent/templates/amphora_agent_conf.template | 5 +
.../backends/health_daemon/health_daemon.py | 101 +-
.../backends/health_daemon/health_sender.py | 2 +-
octavia/amphorae/backends/utils/haproxy_query.py | 6 +-
.../amphorae/backends/utils/keepalivedlvs_query.py | 56 +-
octavia/amphorae/drivers/driver_base.py | 95 +-
.../amphorae/drivers/haproxy/rest_api_driver.py | 587 +++--
.../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 2 +-
.../drivers/keepalived/vrrp_rest_driver.py | 15 +-
octavia/amphorae/drivers/noop_driver/driver.py | 82 +-
octavia/api/app.py | 3 +
octavia/api/common/pagination.py | 4 +-
octavia/api/common/types.py | 19 +-
.../amphora_driver/v1}/__init__.py | 0
.../api/drivers/amphora_driver/{ => v1}/driver.py | 43 +-
.../amphora_driver/v2}/__init__.py | 0
octavia/api/drivers/amphora_driver/v2/driver.py | 385 +++
octavia/api/drivers/driver_agent/driver_get.py | 82 +
.../api/drivers/driver_agent/driver_listener.py | 49 +-
octavia/api/drivers/noop_driver/agent.py | 26 +
octavia/api/drivers/utils.py | 95 +-
octavia/api/handlers/abstract_handler.py | 67 -
.../api/handlers/controller_simulator/handler.py | 478 ----
octavia/api/handlers/queue/producer.py | 241 --
octavia/api/root_controller.py | 90 +-
octavia/api/v1/controllers/__init__.py | 36 -
octavia/api/v1/controllers/base.py | 141 -
octavia/api/v1/controllers/health_monitor.py | 200 --
octavia/api/v1/controllers/l7policy.py | 187 --
octavia/api/v1/controllers/l7rule.py | 170 --
octavia/api/v1/controllers/listener.py | 282 --
octavia/api/v1/controllers/listener_statistics.py | 42 -
octavia/api/v1/controllers/load_balancer.py | 306 ---
.../api/v1/controllers/load_balancer_statistics.py | 40 -
octavia/api/v1/controllers/member.py | 196 --
octavia/api/v1/controllers/pool.py | 258 --
octavia/api/v1/controllers/quotas.py | 101 -
octavia/api/v1/types/health_monitor.py | 66 -
octavia/api/v1/types/l7policy.py | 87 -
octavia/api/v1/types/l7rule.py | 57 -
octavia/api/v1/types/listener.py | 112 -
octavia/api/v1/types/load_balancer.py | 78 -
octavia/api/v1/types/load_balancer_statistics.py | 50 -
octavia/api/v1/types/member.py | 60 -
octavia/api/v1/types/pool.py | 114 -
octavia/api/v1/types/quotas.py | 73 -
octavia/api/v2/controllers/base.py | 2 +
octavia/api/v2/controllers/flavor_profiles.py | 30 +-
octavia/api/v2/controllers/flavors.py | 4 +-
octavia/api/v2/controllers/health_monitor.py | 43 +-
octavia/api/v2/controllers/l7rule.py | 5 +
octavia/api/v2/controllers/listener.py | 110 +-
octavia/api/v2/controllers/load_balancer.py | 51 +-
octavia/api/v2/controllers/member.py | 64 +-
octavia/api/v2/controllers/pool.py | 16 +-
octavia/api/v2/types/health_monitor.py | 6 +-
octavia/api/v2/types/listener.py | 12 +-
octavia/api/v2/types/member.py | 6 +-
octavia/certificates/common/auth/barbican_acl.py | 5 +-
octavia/certificates/common/barbican.py | 3 +-
octavia/certificates/common/cert.py | 4 -
octavia/certificates/common/local.py | 12 +-
octavia/certificates/common/pkcs12.py | 6 +-
octavia/certificates/generator/anchor.py | 66 -
octavia/certificates/generator/cert_gen.py | 2 -
octavia/certificates/manager/barbican.py | 2 +
octavia/certificates/manager/local.py | 15 +-
octavia/cmd/agent.py | 16 +-
octavia/cmd/api.py | 6 +
octavia/cmd/driver_agent.py | 98 +-
octavia/cmd/health_manager.py | 4 +
octavia/cmd/octavia_worker.py | 11 +-
octavia/common/base_taskflow.py | 3 +
octavia/common/clients.py | 42 +
octavia/common/config.py | 221 +-
octavia/common/constants.py | 143 +-
octavia/common/data_models.py | 81 +-
octavia/common/exceptions.py | 18 +-
.../jinja/haproxy/combined_listeners/__init__.py | 0
.../jinja/haproxy/combined_listeners/jinja_cfg.py | 499 ++++
.../haproxy/combined_listeners/templates/base.j2 | 52 +
.../combined_listeners/templates/haproxy.cfg.j2 | 40 +
.../haproxy/combined_listeners/templates/macros.j2 | 370 +++
.../jinja/haproxy/split_listeners/__init__.py | 0
.../haproxy/{ => split_listeners}/jinja_cfg.py | 34 +-
.../{ => split_listeners}/templates/base.j2 | 4 +-
.../{ => split_listeners}/templates/haproxy.cfg.j2 | 0
.../{ => split_listeners}/templates/macros.j2 | 9 +-
octavia/common/jinja/logging/__init__.py | 0
octavia/common/jinja/logging/logging_jinja_cfg.py | 66 +
.../logging/templates/10-rsyslog.conf.template | 27 +
octavia/common/jinja/lvs/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/templates/macros.j2 | 10 +-
octavia/common/tls_utils/cert_parser.py | 46 +-
octavia/common/utils.py | 13 +
octavia/common/validate.py | 9 +
octavia/compute/compute_base.py | 9 -
octavia/compute/drivers/nova_driver.py | 53 +-
.../healthmanager/health_drivers/update_db.py | 297 ++-
octavia/controller/healthmanager/health_manager.py | 6 +-
.../controller/healthmanager/update_serializer.py | 47 -
octavia/controller/housekeeping/house_keeping.py | 2 +-
octavia/controller/queue/event_queue.py | 76 -
.../queue => controller/queue/v1}/__init__.py | 0
octavia/controller/queue/{ => v1}/consumer.py | 4 +-
.../queue/{endpoint.py => v1/endpoints.py} | 2 +-
.../{api/v1 => controller/queue/v2}/__init__.py | 0
octavia/controller/queue/v2/consumer.py | 65 +
octavia/controller/queue/v2/endpoints.py | 156 ++
.../v1/types => controller/worker/v1}/__init__.py | 0
.../worker/{ => v1}/controller_worker.py | 47 +-
.../controller/worker/{ => v1}/flows/__init__.py | 0
.../worker/{ => v1}/flows/amphora_flows.py | 21 +-
.../worker/{ => v1}/flows/health_monitor_flows.py | 14 +-
.../worker/{ => v1}/flows/l7policy_flows.py | 14 +-
.../worker/{ => v1}/flows/l7rule_flows.py | 14 +-
.../worker/{ => v1}/flows/listener_flows.py | 18 +-
.../worker/{ => v1}/flows/load_balancer_flows.py | 20 +-
.../worker/{ => v1}/flows/member_flows.py | 18 +-
.../controller/worker/{ => v1}/flows/pool_flows.py | 14 +-
.../controller/worker/{ => v1}/tasks/__init__.py | 0
.../worker/{ => v1}/tasks/amphora_driver_tasks.py | 67 +-
.../controller/worker/{ => v1}/tasks/cert_task.py | 3 +-
.../worker/{ => v1}/tasks/compute_tasks.py | 9 +-
.../worker/{ => v1}/tasks/database_tasks.py | 6 +-
.../worker/{ => v1}/tasks/lifecycle_tasks.py | 0
.../worker/{ => v1}/tasks/model_tasks.py | 0
.../worker/{ => v1}/tasks/network_tasks.py | 15 +-
.../api/v1 => controller/worker/v2}/__init__.py | 0
octavia/controller/worker/v2/controller_worker.py | 989 +++++++
.../worker/v2/flows}/__init__.py | 0
.../controller/worker/v2/flows/amphora_flows.py | 602 +++++
.../worker/v2/flows/health_monitor_flows.py | 105 +
.../controller/worker/v2/flows/l7policy_flows.py | 92 +
octavia/controller/worker/v2/flows/l7rule_flows.py | 98 +
.../controller/worker/v2/flows/listener_flows.py | 128 +
.../worker/v2/flows/load_balancer_flows.py | 341 +++
octavia/controller/worker/v2/flows/member_flows.py | 209 ++
octavia/controller/worker/v2/flows/pool_flows.py | 127 +
.../worker/v2/tasks}/__init__.py | 0
.../worker/v2/tasks/amphora_driver_tasks.py | 364 +++
octavia/controller/worker/v2/tasks/cert_task.py | 51 +
.../controller/worker/v2/tasks/compute_tasks.py | 258 ++
.../controller/worker/v2/tasks/database_tasks.py | 2707 +++++++++++++++++++
.../controller/worker/v2/tasks/lifecycle_tasks.py | 173 ++
octavia/controller/worker/v2/tasks/model_tasks.py | 41 +
.../controller/worker/v2/tasks/network_tasks.py | 659 +++++
octavia/db/base_models.py | 17 +-
octavia/db/migration/alembic_migrations/env.py | 1 +
.../392fb85b4419_add_primary_key_to_spares_pool.py | 47 +
.../46d914b2a5e5_seed_the_spares_pool_table.py | 47 +
.../versions/6ffc710674ef_spares_pool_table.py | 2 +-
.../a5762a99609a_add_protocol_in_listener_keys.py | 35 +
.../da371b422669_allowed_cidr_for_listeners.py | 40 +
...dcf88e59aae4_add_lb_algorithm_source_ip_port.py | 67 +
octavia/db/models.py | 25 +-
octavia/db/prepare.py | 2 +-
octavia/db/repositories.py | 60 +-
octavia/distributor/drivers/driver_base.py | 7 -
octavia/hacking/checks.py | 4 +-
octavia/network/base.py | 36 +-
octavia/network/data_models.py | 14 +
.../drivers/neutron/allowed_address_pairs.py | 97 +-
octavia/network/drivers/neutron/base.py | 23 +-
octavia/network/drivers/neutron/utils.py | 9 +
octavia/network/drivers/noop_driver/driver.py | 25 +
octavia/opts.py | 1 -
.../sample_configs => common}/sample_certs.py | 0
.../backend/agent/api_server/test_keepalivedlvs.py | 66 +-
.../backend/agent/api_server/test_server.py | 445 ++--
.../v1 => functional/api/drivers}/__init__.py | 0
.../api/drivers/driver_agent}/__init__.py | 0
.../api/drivers/driver_agent/test_driver_agent.py | 344 +++
.../functional/api/v1/test_listener_statistics.py | 51 -
.../api/v1/test_load_balancer_statistics.py | 57 -
.../functional/api/v2/test_flavor_profiles.py | 21 +-
.../tempest/v1/clients/health_monitors_client.py | 60 -
.../tempest/v1/clients/load_balancers_client.py | 101 -
.../tempest/v1/scenario/test_listener_basic.py | 46 -
.../v1/scenario/test_load_balancer_tree_minimal.py | 46 -
.../backends/agent/api_server/test_amphora_info.py | 46 +-
.../agent/api_server/test_haproxy_compatibility.py | 22 +-
.../agent/api_server/test_keepalivedlvs.py | 8 -
.../backends/agent/api_server/test_listener.py | 192 --
.../backends/agent/api_server/test_loadbalancer.py | 279 ++
.../backends/agent/api_server/test_plug.py | 84 +-
.../backends/agent/api_server/test_util.py | 106 +-
.../backends/agent/test_agent_jinja_cfg.py | 42 +-
.../backends/health_daemon/test_health_daemon.py | 68 +-
.../amphorae/backends/utils/test_haproxy_query.py | 49 +-
.../backends/utils/test_keepalivedlvs_query.py | 87 +-
...t_api_driver.py => test_rest_api_driver_0_5.py} | 651 ++---
.../drivers/haproxy/test_rest_api_driver_1_0.py | 1379 ++++++++++
.../drivers/keepalived/test_vrrp_rest_driver.py | 22 +-
.../test_noop_amphoraloadbalancer_driver.py | 35 +-
.../api/drivers/amphora_driver/v1}/__init__.py | 0
.../amphora_driver/{ => v1}/test_amphora_driver.py | 162 +-
.../api/drivers/amphora_driver}/v2/__init__.py | 0
.../amphora_driver/v2/test_amphora_driver.py | 634 +++++
.../api/drivers/driver_agent/test_driver_get.py | 121 +
.../drivers/driver_agent/test_driver_listener.py | 55 +-
.../unit/api/drivers/test_provider_noop_agent.py} | 26 +-
.../unit/api/v1/types/test_health_monitors.py | 139 -
.../certificates/common/auth/test_barbican_acl.py | 4 +-
.../unit/certificates/common/test_barbican.py | 2 +-
.../unit/certificates/generator/test_anchor.py | 47 -
.../unit/certificates/generator/test_local.py | 4 +-
.../unit/certificates/manager/test_barbican.py | 22 +-
.../certificates/manager/test_barbican_legacy.py | 2 +-
.../jinja/haproxy/combined_listeners/__init__.py | 0
.../haproxy/combined_listeners/test_jinja_cfg.py | 1207 +++++++++
.../jinja/haproxy/split_listeners/__init__.py | 0
.../{ => split_listeners}/test_jinja_cfg.py | 382 +--
.../common/jinja/logging/test_logging_jinja_cfg.py | 61 +
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py | 111 +-
.../sample_configs/sample_configs_combined.py | 1092 ++++++++
.../{sample_configs.py => sample_configs_split.py} | 102 +-
.../unit/common/tls_utils/test_cert_parser.py | 25 +-
.../healthmanager/health_drivers/test_update_db.py | 316 ++-
.../healthmanager/test_health_manager.py | 24 +-
.../healthmanager/test_update_serializer.py | 39 -
.../controller/housekeeping/test_house_keeping.py | 6 +-
.../controller/queue/v1}/__init__.py | 0
.../controller/queue/{ => v1}/test_consumer.py | 6 +-
.../{test_endpoint.py => v1/test_endpoints.py} | 14 +-
.../controller/queue/v2}/__init__.py | 0
.../unit/controller/queue/v2/test_consumer.py | 72 +
.../unit/controller/queue/v2/test_endpoints.py | 182 ++
.../handlers => controller/worker/v1}/__init__.py | 0
.../worker/v1/flows}/__init__.py | 0
.../worker/{ => v1}/flows/test_amphora_flows.py | 2 +-
.../{ => v1}/flows/test_health_monitor_flows.py | 2 +-
.../worker/{ => v1}/flows/test_l7policy_flows.py | 2 +-
.../worker/{ => v1}/flows/test_l7rule_flows.py | 2 +-
.../worker/{ => v1}/flows/test_listener_flows.py | 2 +-
.../{ => v1}/flows/test_load_balancer_flows.py | 5 +-
.../worker/{ => v1}/flows/test_member_flows.py | 2 +-
.../worker/{ => v1}/flows/test_pool_flows.py | 2 +-
.../v1 => controller/worker/v1/tasks}/__init__.py | 0
.../{ => v1}/tasks/test_amphora_driver_tasks.py | 119 +-
.../worker/{ => v1}/tasks/test_cert_task.py | 8 +-
.../worker/{ => v1}/tasks/test_compute_tasks.py | 29 +-
.../worker/{ => v1}/tasks/test_database_tasks.py | 4 +-
.../{ => v1}/tasks/test_database_tasks_quota.py | 2 +-
.../worker/{ => v1}/tasks/test_lifecycle_tasks.py | 2 +-
.../worker/{ => v1}/tasks/test_model_tasks.py | 2 +-
.../worker/{ => v1}/tasks/test_network_tasks.py | 2 +-
.../worker/{ => v1}/test_controller_worker.py | 132 +-
.../v1/types => controller/worker/v2}/__init__.py | 0
.../controller/worker/{ => v2}/flows/__init__.py | 0
.../worker/v2/flows/test_amphora_flows.py | 422 +++
.../worker/v2/flows/test_health_monitor_flows.py | 72 +
.../worker/v2/flows/test_l7policy_flows.py | 67 +
.../worker/v2/flows/test_l7rule_flows.py | 67 +
.../worker/v2/flows/test_listener_flows.py | 90 +
.../worker/v2/flows/test_load_balancer_flows.py | 228 ++
.../worker/v2/flows/test_member_flows.py | 88 +
.../controller/worker/v2/flows/test_pool_flows.py | 77 +
.../controller/worker/{ => v2}/tasks/__init__.py | 0
.../worker/v2/tasks/test_amphora_driver_tasks.py | 637 +++++
.../controller/worker/v2/tasks/test_cert_task.py | 47 +
.../worker/v2/tasks/test_compute_tasks.py | 481 ++++
.../worker/v2/tasks/test_database_tasks.py | 2727 ++++++++++++++++++++
.../worker/v2/tasks/test_database_tasks_quota.py | 322 +++
.../worker/v2/tasks/test_lifecycle_tasks.py | 401 +++
.../controller/worker/v2/tasks/test_model_tasks.py | 44 +
.../worker/v2/tasks/test_network_tasks.py | 801 ++++++
.../controller/worker/v2/test_controller_worker.py | 1511 +++++++++++
.../drivers/neutron/test_allowed_address_pairs.py | 76 +-
.../unit/network/drivers/neutron/test_base.py | 21 +-
.../unit/network/drivers/neutron/test_utils.py | 18 +-
.../unit/volume/drivers/test_cinder_driver.py | 99 +
.../unit/volume/drivers/test_volume_noop_driver.py | 46 +
octavia/volume/__init__.py | 0
octavia/volume/drivers/__init__.py | 0
octavia/volume/drivers/cinder_driver.py | 123 +
octavia/volume/drivers/noop_driver/__init__.py | 0
octavia/volume/drivers/noop_driver/driver.py | 60 +
octavia/volume/volume_base.py | 46 +
playbooks/image-build/run.yaml | 5 +-
playbooks/legacy/grenade-devstack-octavia/run.yaml | 10 +-
.../legacy/octavia-v1-dsvm-py3x-scenario/post.yaml | 19 -
.../legacy/octavia-v1-dsvm-py3x-scenario/run.yaml | 68 -
.../legacy/octavia-v1-dsvm-scenario/post.yaml | 19 -
playbooks/legacy/octavia-v1-dsvm-scenario/run.yaml | 67 -
...-driver-agent-get-methods-b624a1342c3e6d0f.yaml | 4 +
.../notes/Add-log-offloading-233cd8612c0dd2b5.yaml | 12 +
...dd-provider-agent-support-a735806c4da4c470.yaml | 6 +
.../Fix-API-update-null-None-1b400962017a3d56.yaml | 6 +
...DB-Rollback-no-connection-2664c4f7823ecaec.yaml | 5 +
...te_and_associate-deadlock-3ff1464421c1d464.yaml | 4 +
...Fix-ifup-on-member-create-5b405d98eb036718.yaml | 4 +
...evert-abandoned-vrrp-port-efff14edce62ad75.yaml | 5 +
...irtual-kernel-for-Amphora-a1e8af8bc7893011.yaml | 7 +
...-algorithm-source-ip-port-ff86433143e43136.yaml | 16 +
.../notes/add-ptvsd-debugger-33bb632bccf494bb.yaml | 5 +
.../notes/add-rhel-amphora-ab4a7bada2fa3eb7.yaml | 4 +
.../notes/add-vip-acl-4a7e20d167fe4a49.yaml | 5 +
...client-auth-vulnerability-6803f4bac2508e4c.yaml | 5 +
...-active-standby-in-centos-4e47140e0e139de8.yaml | 4 +
.../notes/fix-driver-errors-81d33948288bf8cf.yaml | 4 +
.../notes/fix-eth1-ip-flush-7fadda4bdca387b5.yaml | 11 +
...d-attribute-for-filtering-d2ddb95a1acbded2.yaml | 4 +
.../None-fde2ffab82e783a4.yaml | 7 +
...x-loadbalancer-db-cleanup-61ee81a4fd597067.yaml | 5 +
...lvconf-rhel-dhclient-hook-36a1c3b1a3b03a3d.yaml | 5 +
...fix-provider-driver-utils-b75485785dcd6462.yaml | 6 +
...mphora-check-and-creation-3adf939b45610155.yaml | 4 +
...s-and-port-in-udp-members-ff83395544f228cf.yaml | 6 +
.../fix-udp-members-status-ef3202849bfda29b.yaml | 6 +
...fix-udp-server-status-bug-db4d3e38bcdf0554.yaml | 12 +
...p-network-ip-availability-2e924f32abf01052.yaml | 7 +
.../fix-vip-plug-centos-74c2fe7099964b08.yaml | 3 +
...-policy-extension-enabled-3e16e1c23a7d7ae5.yaml | 7 +
...ed-spare-amphora-rotation-007ba406411a313d.yaml | 4 +
...mmunication-to-use-tls1.2-1c4adf72d2ce5a82.yaml | 6 +
.../haproxy-single-process-b17a3af3a97accea.yaml | 11 +
...rver_certs_key_passphrase-6a9dfc190c9deba8.yaml | 6 +
...ert-validity-configurable-7defc508b1174f89.yaml | 9 +
...atch-member-call-additive-4785163e625fed1a.yaml | 6 +
...e-deprecated-v1-resources-6360da3de27b74d3.yaml | 10 +
.../same-port-listeners-41198368d470e821.yaml | 5 +
...leware-http_proxy_to_wsgi-928c6fc5ec3d421c.yaml | 8 +
...-taskflow-engine-parallel-8bf743eca15a0253.yaml | 10 +
...ame-ip-protocol-in-udp-lb-2813b545131097ec.yaml | 7 +
.../volume-based-amphora-9a1899634f5244b0.yaml | 14 +
releasenotes/source/conf.py | 22 -
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 13 +-
setup.cfg | 24 +-
specs/version0.5/controller.rst | 2 +-
specs/version0.5/tls-data-security.rst | 4 +-
specs/version0.8/active_passive_loadbalancer.rst | 2 +-
specs/version0.9/stats_api.rst | 2 +-
specs/version1.0/flavors.rst | 2 +-
specs/version1.1/enable-provider-driver.rst | 12 +-
test-requirements.txt | 9 +-
tools/create_flow_docs.py | 33 +-
tools/flow-list.txt | 54 +-
tox.ini | 74 +-
zuul.d/jobs.yaml | 71 +-
zuul.d/projects.yaml | 45 +-
526 files changed, 32755 insertions(+), 21386 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index fb25bd33..239b8f99 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -24 +24 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.messaging>=6.3.0 # Apache-2.0
@@ -36,0 +37 @@ python-novaclient>=9.1.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -44 +45 @@ castellan>=0.16.0 # Apache-2.0
-tenacity>=4.9.0 # Apache-2.0
+tenacity>=5.0.4 # Apache-2.0
@@ -48 +49,4 @@ debtcollector>=1.19.0 # Apache-2.0
-octavia-lib>=1.1.1 # Apache-2.0
+octavia-lib>=1.3.1 # Apache-2.0
+netaddr>=0.7.19 # BSD
+simplejson>=3.13.2 # MIT
+setproctitle>=1.1.10 # BSD
@@ -56 +60,2 @@ pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
-gunicorn>=19.0.0 # MIT
+gunicorn>=19.9.0 # MIT
+Werkzeug>=0.14.1 # BSD License
diff --git a/test-requirements.txt b/test-requirements.txt
index bc3205fa..8e8b4466 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0 # Apache-2.0
@@ -6,0 +7 @@ coverage!=4.4,>=4.0 # Apache-2.0
+fixtures>=3.0.0 # Apache-2.0/BSD
@@ -11 +12,2 @@ oslotest>=3.2.0 # Apache-2.0
-pylint==1.9.2 # GPLv2
+pylint==1.9.2;python_version<'3.0' # GPLv2
+pylint>=1.9.2;python_version>='3.0' # GPLv2
@@ -20 +22,2 @@ tempest>=17.1.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
1
0
We are gleeful to announce the release of:
python-watcher 3.0.0: OpenStack Watcher provides a flexible and
scalable resource optimization service for multi-tenant OpenStack-
based clouds.
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/python-watcher
Download the package from:
https://tarballs.openstack.org/watcher/
For more details, please see below.
Changes in python-watcher 2.0.0..3.0.0
--------------------------------------
c02ddd58 Imported Translations from Zanata
7abb57dc Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
963d026d Update .gitreview for stable/train
2b63a35e Fix damodel list return None error When has a compute node
48694492 Fix misspelling
42c1babf skip deleted instance when creating datamodel
519ca2c9 Fix unit test failed
a88e0766 Watcher planner slector releasenote
0559cd7a Set strategy planner
0c191a2d Get planner from solution
ffd8e27b Build pdf docs
31460ac4 update test about cinderclient v1
86af6ab8 correct watcher project for oslo_config
605d7f22 Add node resource consolidation planner
aa2a084d Watcher Planner Selector
03a6216d Add releasenote about bp show-datamodel-api
f1fe4b6c node resource consolidation
944fda33 Fix misspell word
020a99f0 Remove redundant word 'strategy'
10d8a5fb Add node_resource_consolidation doc
3c0ee0ca Add watcher-specs link to readme.rst
7eb10eee Add get node used and free resources
d0a20fb0 Implement watcher datamodel list in watcher-api
49fba60e Implement watcher datamodel list in watcher-decision-engine
5aa4637f Add api-ref doc for data model api
b4a02a6d add audit parameter to do_execute
8ca5d655 improve strategies tempest
6ac6ab24 add placement min_microversion
d6fbc797 set compute min_microversion
26cce968 [train][goal] Define new 'watcher-tempest-functional-ipv6-only' job
99cd0098 Remove unused disk_capacity field
c522e881 Don't revert Migrate action
5a26ceb1 update workload_balance strategy
33d7de12 update node resource capacity for basic_consolidation
3bcd2572 update host_maintenance strategy
60ef8776 update noisy_neighbor strategy
93b40e92 update outlet_temp_control strategy
4b2238f9 add releasenote for bp improve-compute-data-model
74209152 update vm_workload_consolidation strategy
4e4cfc95 Remove resource used fields from ComputeNode
cbc2b9eb Fix var src_extra_specs error
251ad35c Remove stale comment in method execute()
0b25c884 Add resource capacity property
86d9cf17 Getting data from placement when updating datamodel
86ea9c8e replace disk_capacity by disk
6cc9ea7c set disk field to disk capacity
0986168f Check resource class before using
4b83bf33 remove id field from CDM
54344208 Update api-ref location
3d741d05 Improve Compute Data Model
cadc000f Add call_retry for ModelBuilder for error recovery
361f2263 Remove useless gconfig process in watcher/api/scheduling.py
458ad086 Optimize method list_opts() in watcher/conf/opts.py
d5126174 Fix watcher/conf/applier.py default worker value
904720b0 Remove useless _opts.py
933bc59b Baseclass for ModelBuilder with audit scope
433eabb8 Move datasources folder into decision_engine
0727c0e3 Add reource_name for save_energy in action input parameter field
3009716d Add get_compute_node_by_uuid
80e8d000 Resolve aggregate error in workload_stabilization
6dd35a00 Remove redundant human_id fields when creating and updating datamodel
8cb71587 Replace human_id with name in grafana doc
502ed741 Add marker option for get_instance_list()
256104a3 remove baremetal nodes when building CDM
612fc12a Add reource_name for zone_migration in action input parameter field
0541d8c2 Grafana proxy datasource to retrieve metrics
dc2c361d Add reource_name in action input parameter field
a3c49cf8 Add get_node_by_name
1e8b17ac Reduce the query time of the instances when call get_instance_list()
ac53dbf0 remove baremetal nodes from hypversior list
8bddafbd Remove notifier_driver option in Watcher devstack
052fae4b Improve logging in building of nova data model
a45f5abe Releasenote for grafana datasource
cebee2c4 improve OptGroup consistency across configuration
dd1800fb Blacklist sphinx 2.1.0 (autodoc bug)
148ae368 Add Python 3 Train unit tests
8fc4a9cb Fix invalid assert states
0a435f0b Add name field for test data
c1a5e443 Add uWSGI support
b62965c2 Add name for instance in Watcher datamodel
fa1642e3 Documentation configuring grafana datasource
9c9f336f Configure nova notification_format for grenade
5f521471 Fix placement_client group help docs generation
d08d7c39 Improve the configuration parameters for grafana
966a4dfa Configure nova notification format in non-grenade CI jobs
dd321e9f improve the process of instance_created.end
9b8d1445 remove tail_log
90291923 Update strategy doc
06f8aa71 Implement the configuration for Grafana datasource
37b11fa4 Fix missing print format
e4fc5a08 typo ceilometer url
15754a14 Replace removed exceptions and prevent regression
a4d978b8 Define a new InstanceNotMapped exception
584eeefd Move datasource query_retry into baseclass.
28df60e2 Fix base enable_plugin branch for grenade run
7281f618 Remove dead code
79a57f67 Map instance to its node
731d4bfd update contraints url
dd119ca1 Backwards compatibility for node parameter
00f20ab1 Fix property access in test_global_preference* tests
b57feba5 Add Placement helper
251264b1 Cleanup ConfFixture
2d4bc095 Fix string formatting
f9e267fa check instance state for instance.update
c3e0e41f add strategy tempest job
7f37f7b9 Remove apidoc
374fd279 Optimize NovaHelper.get_compute_node_by_hostname
3f76f9cf Optimize hypervisor API calls
9c1b83e6 Add missing ws separator between words
a00daf9f Group instance methods together in nova_helper
2afd0dfc Audit API supports new force option
fdea38fb Optimize NovaClusterDataModelCollector.add_instance_node
5c492ea8 Fix test_metric_file_override metric from backend
62d181d9 Add force field to Audit
a09cb3fa Remove 2.56 version compatibility check
7489126d Require nova_client.api_version >= 2.56
e76c20d1 Improve exceptions and logging in ds manager
5a35b307 Improve DevStack documentation to support metrics
84cb589a formal datasource interface implementation
dea32c5e Improve Gnocchi and Monasca datasource tests
b6200817 Allow using file to override metric map
f1318256 support-keystoneclient-option
f92f77f6 Fix typo in ceilometer datasource
8a206a6a Handle no nova CDM in notification code
76367afd Remove unused utilities file
6d965121 Update migration notification
86a537fe Remove bandit from lower-constraints
15c842fb Update Sphinx requirement
3edafc9b Fix Stein version in watcher-status docs
efb4aaa0 Add doc/requirements.txt to venv tox target
4cd8a2f4 Remove dead code from NovaClusterDataModelCollector
aa7442d7 Enhance the collector_plugins option help text
0df6c0d9 Use base_strategy's add_action_migrate method
d9eb9253 Fix_inappropriate_name
a40892c3 update api version history
241df0d5 allow building docs without ceilometer client
dce23d7e pass default_config_dirs variable for config initialization.
14d4cb54 docs: fix link to install guide from user guide
5c2939f2 Remove watcher.openstack.common=WARN from _DEFAULT_LOG_LEVELS
76f0ce1d Add force field to api-ref
606f20b6 Fix API version header
567e0798 Remove unused exceptions
838768c7 Fix bandit runs with 1.6.0
bd8636f3 Allow for global datasources preference from config
173bf11a Use the common logging setup function in devstack runs
af0f02d1 Fix reraising of exceptions
e2285777 Using node replace resource_id in method add_action_disable_node()
4d480d5c Put the method add_migration() in base.py
8fa89344 update wsme types
c99e051a Add tempest voting
d84f8c50 Resolve problems with audit scope and add tests
d2e1d69d Replace git.openstack.org with opendev.org
4db39c52 Add hardware.cpu_util in workload_stabilization
647b5e94 Drop use of git.openstack.org
62da2984 OpenDev Migration Patch
0def7b4d separate launching audit scheduler
f36c25b5 Replace HOST_IP to SERVICE_HOST
f52716fc remove py35
8cb4c8e4 Uncap jsonschema
2df5ab92 Fix docs gate failed
6dfeeb73 Adapt Watcher to Python3.7
ac3aa945 Move eventlet monkey patch code
68a90b2c Fix lower-constraint deps handling
7f495e8e Fix openstack-tox-lower-constraint TIMED_OUT Error
3b80b352 Update meeting schedule to new bi-weekly format
c8e4efcd Make datasource methods match names of metrics
b023c907 Replace openstack.org git:// URLs with https://
ab03bf9b Imported Translations from Zanata
871a01f5 Update master for stable/stein
a4865b64 Migrate legacy jobs to Ubuntu Bionic
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 3 +-
.zuul.yaml | 56 +-
README.rst | 3 +-
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 119 +++-
api-ref/source/samples/audit-cancel-response.json | 1 +
.../samples/audit-create-request-continuous.json | 1 +
.../samples/audit-create-request-oneshot.json | 3 +-
api-ref/source/samples/audit-create-response.json | 1 +
.../samples/audit-list-detailed-response.json | 1 +
api-ref/source/samples/audit-show-response.json | 1 +
api-ref/source/samples/audit-update-response.json | 1 +
.../source/samples/datamodel-list-response.json | 38 ++
api-ref/source/watcher-api-v1-audits.inc | 6 +
api-ref/source/watcher-api-v1-datamodel.inc | 55 ++
devstack/lib/watcher | 88 +--
devstack/local.conf.compute | 11 +-
devstack/local.conf.controller | 13 +-
devstack/override-defaults | 9 +
devstack/upgrade/settings | 11 +-
devstack/upgrade/upgrade.sh | 13 +
.../strategies/basic-server-consolidation.rst | 14 +-
.../strategies/node_resource_consolidation.rst | 95 +++
.../strategies/vm_workload_consolidation.rst | 9 +-
etc/apache2/watcher | 2 +-
lower-constraints.txt | 16 +-
playbooks/legacy/grenade-devstack-watcher/run.yaml | 10 +-
.../add-force-field-to-audit-4bcaeedfe27233ad.yaml | 7 +
.../notes/api-call-retry-fef741ac684c58dd.yaml | 9 +
.../datasource-query-retry-00cba5f7e68aec39.yaml | 17 +
.../file-based-metric-map-c2af62b5067895df.yaml | 11 +
...-interface-implementation-222769d55a127d33.yaml | 17 +
...bal-datasource-preference-3ab47b4be09ff3a5.yaml | 11 +
.../notes/grafana-datasource-b672367c23ffa0c6.yaml | 10 +
...mprove-compute-data-model-b427c85e4ed2b6fb.yaml | 23 +
.../min-required-nova-train-71f124192d88ae52.yaml | 8 +
...de-resource-consolidation-73bc0c0abfeb0b03.yaml | 7 +
.../notes/show-datamodel-api-6945b744fd5d25d5.yaml | 12 +
...ort-keystoneclient-option-b30d1ff45f86a2e7.yaml | 5 +
.../support-placement-api-58ce6bef1bbbe98a.yaml | 8 +
.../notes/uwsgi-support-8dcea6961e56dad0.yaml | 12 +
.../watcher-planner-selector-84d77549d46f362a.yaml | 5 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 651 ---------------------
releasenotes/source/stein.rst | 6 +
requirements.txt | 20 +-
setup.cfg | 8 +-
test-requirements.txt | 2 +-
tox.ini | 34 +-
watcher/api/app.wsgi | 23 +-
.../api/controllers/rest_api_version_history.rst | 5 +
watcher/api/controllers/v1/__init__.py | 12 +
watcher/api/controllers/v1/action.py | 8 +-
watcher/api/controllers/v1/action_plan.py | 17 +-
watcher/api/controllers/v1/audit.py | 51 +-
watcher/api/controllers/v1/audit_template.py | 14 +-
watcher/api/controllers/v1/data_model.py | 68 +++
watcher/api/controllers/v1/goal.py | 3 +-
watcher/api/controllers/v1/scoring_engine.py | 3 +-
watcher/api/controllers/v1/service.py | 11 +-
watcher/api/controllers/v1/strategy.py | 11 +-
watcher/api/controllers/v1/utils.py | 9 +
watcher/api/controllers/v1/versions.py | 4 +-
watcher/api/scheduling.py | 3 +-
watcher/api/wsgi.py | 41 ++
watcher/applier/actions/base.py | 7 +-
.../applier/actions/change_nova_service_state.py | 7 +-
watcher/applier/actions/migration.py | 6 +-
watcher/applier/actions/volume_migration.py | 11 +-
watcher/applier/messaging/trigger.py | 4 +-
watcher/applier/workflow_engine/default.py | 4 +-
watcher/cmd/__init__.py | 20 +
watcher/cmd/status.py | 21 +-
watcher/common/clients.py | 69 ++-
watcher/common/config.py | 7 +-
watcher/common/exception.py | 53 +-
watcher/common/nova_helper.py | 133 +++--
watcher/common/placement_helper.py | 179 ++++++
watcher/common/policies/__init__.py | 2 +
watcher/common/policies/data_model.py | 37 ++
watcher/common/scheduling.py | 27 +
watcher/common/service.py | 9 +-
watcher/common/utils.py | 5 +-
watcher/conf/__init__.py | 10 +
watcher/conf/_opts.py | 58 --
watcher/conf/api.py | 2 +-
watcher/conf/applier.py | 4 +-
watcher/conf/ceilometer_client.py | 2 +-
watcher/conf/cinder_client.py | 2 +-
watcher/conf/clients_auth.py | 2 +-
watcher/conf/collector.py | 22 +-
watcher/conf/datasources.py | 59 ++
watcher/conf/db.py | 2 +-
watcher/conf/decision_engine.py | 25 +-
watcher/conf/glance_client.py | 2 +-
watcher/conf/gnocchi_client.py | 13 +-
watcher/conf/grafana_client.py | 146 +++++
watcher/conf/grafana_translators.py | 44 ++
watcher/conf/ironic_client.py | 2 +-
watcher/conf/keystone_client.py | 38 ++
watcher/conf/monasca_client.py | 2 +-
watcher/conf/neutron_client.py | 2 +-
watcher/conf/nova_client.py | 15 +-
watcher/conf/opts.py | 31 +-
watcher/conf/placement_client.py | 41 ++
watcher/conf/planner.py | 2 +-
watcher/datasource/base.py | 100 ----
watcher/datasource/ceilometer.py | 289 ---------
watcher/datasource/gnocchi.py | 197 -------
watcher/datasource/manager.py | 77 ---
watcher/datasource/monasca.py | 221 -------
.../versions/609bec748f2a_add_force_field.py | 22 +
watcher/db/sqlalchemy/models.py | 1 +
watcher/decision_engine/audit/base.py | 36 +-
watcher/decision_engine/audit/continuous.py | 33 +-
.../datasources}/__init__.py | 0
watcher/decision_engine/datasources/base.py | 227 +++++++
watcher/decision_engine/datasources/ceilometer.py | 273 +++++++++
watcher/decision_engine/datasources/gnocchi.py | 200 +++++++
watcher/decision_engine/datasources/grafana.py | 251 ++++++++
.../datasources/grafana_translator}/__init__.py | 0
.../datasources/grafana_translator/base.py | 125 ++++
.../datasources/grafana_translator/influxdb.py | 88 +++
watcher/decision_engine/datasources/manager.py | 156 +++++
watcher/decision_engine/datasources/monasca.py | 171 ++++++
.../decision_engine/goal/efficacy/indicators.py | 2 +-
watcher/decision_engine/manager.py | 7 +-
.../decision_engine/messaging/audit_endpoint.py | 4 +-
.../messaging/data_model_endpoint.py | 60 ++
watcher/decision_engine/model/collector/base.py | 52 +-
watcher/decision_engine/model/collector/cinder.py | 30 +-
watcher/decision_engine/model/collector/ironic.py | 22 +-
watcher/decision_engine/model/collector/nova.py | 342 ++++-------
.../model/element/compute_resource.py | 1 -
watcher/decision_engine/model/element/instance.py | 5 +-
watcher/decision_engine/model/element/node.py | 22 +-
watcher/decision_engine/model/element/volume.py | 2 +-
watcher/decision_engine/model/model_root.py | 58 +-
watcher/decision_engine/model/notification/nova.py | 172 ++++--
watcher/decision_engine/planner/manager.py | 10 +-
.../planner/node_resource_consolidation.py | 163 ++++++
watcher/decision_engine/rpcapi.py | 5 +
watcher/decision_engine/scope/compute.py | 21 +-
watcher/decision_engine/solution/base.py | 6 +-
.../decision_engine/strategy/context/default.py | 10 +-
.../strategy/strategies/__init__.py | 6 +-
.../strategy/strategies/actuation.py | 8 +-
.../decision_engine/strategy/strategies/base.py | 92 ++-
.../strategy/strategies/basic_consolidation.py | 115 ++--
.../strategy/strategies/dummy_strategy.py | 2 +-
.../strategy/strategies/dummy_with_resize.py | 2 +-
.../strategy/strategies/dummy_with_scorer.py | 2 +-
.../strategy/strategies/host_maintenance.py | 21 +-
.../strategies/node_resource_consolidation.py | 291 +++++++++
.../strategy/strategies/noisy_neighbor.py | 33 +-
.../strategy/strategies/outlet_temp_control.py | 51 +-
.../strategy/strategies/saving_energy.py | 37 +-
.../strategies/storage_capacity_balance.py | 3 +-
.../strategy/strategies/uniform_airflow.py | 81 +--
.../strategies/vm_workload_consolidation.py | 93 +--
.../strategy/strategies/workload_balance.py | 68 +--
.../strategy/strategies/workload_stabilization.py | 133 +++--
.../strategy/strategies/zone_migration.py | 47 +-
watcher/hacking/checks.py | 1 +
watcher/locale/de/LC_MESSAGES/watcher.po | 51 +-
watcher/locale/en_GB/LC_MESSAGES/watcher.po | 45 +-
watcher/objects/audit.py | 9 +-
watcher/objects/utils.py | 151 -----
.../actions/test_change_nova_service_state.py | 2 +-
.../test_taskflow_action_container.py | 12 +-
.../decision_engine/audit/test_audit_handlers.py | 11 +-
.../decision_engine/cluster/test_cinder_cdmc.py | 2 +
.../decision_engine/cluster/test_nova_cdmc.py | 339 ++++++++++-
.../datasources/grafana_translators/__init__.py | 0
.../datasources/grafana_translators/test_base.py | 106 ++++
.../grafana_translators/test_influxdb.py | 176 ++++++
.../datasources/test_ceilometer_helper.py | 171 ++++++
.../datasources/test_gnocchi_helper.py | 178 ++++++
.../datasources/test_grafana_helper.py | 305 ++++++++++
.../decision_engine/datasources/test_manager.py | 158 +++++
.../datasources/test_monasca_helper.py | 116 ++++
.../messaging/test_data_model_endpoint.py | 54 ++
.../decision_engine/model/ceilometer_metrics.py | 211 ++++---
.../decision_engine/model/data/scenario_1.xml | 80 +--
.../decision_engine/model/data/scenario_10.xml | 27 +
.../data/scenario_1_with_1_node_unavailable.xml | 84 +--
.../data/scenario_1_with_all_instances_exclude.xml | 80 +--
.../data/scenario_1_with_all_nodes_disable.xml | 8 +-
.../model/data/scenario_1_with_metrics.xml | 8 +-
.../model/data/scenario_2_with_metrics.xml | 20 +-
.../model/data/scenario_3_with_2_nodes.xml | 8 +-
.../model/data/scenario_3_with_metrics.xml | 12 +-
.../data/scenario_4_with_1_node_no_instance.xml | 2 +-
.../model/data/scenario_5_with_instance_disk_0.xml | 4 +-
.../model/data/scenario_6_with_2_nodes.xml | 12 +-
.../model/data/scenario_7_with_2_nodes.xml | 12 +-
.../model/data/scenario_8_with_4_nodes.xml | 20 +-
...nario_9_with_3_active_plus_1_disabled_nodes.xml | 20 +-
.../model/faker_cluster_and_metrics.py | 104 ++--
.../decision_engine/model/faker_cluster_state.py | 10 +
....json => instance-live_migration_post-end.json} | 2 +-
.../data/scenario3_service-update-disabled.json | 2 +-
.../data/scenario3_service-update-enabled.json | 2 +-
.../model/notification/data/service-create.json | 2 +-
.../model/notification/data/service-delete.json | 2 +-
.../model/notification/data/service-update.json | 26 +-
.../model/notification/test_nova_notifications.py | 193 ++++--
.../planner/test_node_resource_consolidation.py | 245 ++++++++
.../planner/test_planner_manager.py | 4 +-
.../solution/test_default_solution.py | 9 +-
.../strategy/strategies/test_base.py | 70 +++
.../strategies/test_basic_consolidation.py | 84 +--
.../strategy/strategies/test_host_maintenance.py | 31 +-
.../strategies/test_node_resource_consolidation.py | 345 +++++++++++
.../strategy/strategies/test_noisy_neighbor.py | 2 +-
.../strategies/test_outlet_temp_control.py | 14 +-
.../strategy/strategies/test_saving_energy.py | 78 +--
.../strategies/test_vm_workload_consolidation.py | 84 +--
.../strategy/strategies/test_workload_balance.py | 16 +-
.../strategies/test_workload_stabilization.py | 125 ++--
.../strategy/strategies/test_zone_migration.py | 158 +++--
266 files changed, 9304 insertions(+), 4679 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 39d429b2..cc65597b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +9 @@ keystoneauth1>=3.4.0 # Apache-2.0
-jsonschema<3.0.0,>=2.6.0 # MIT
+jsonschema>=2.6.0 # MIT
@@ -12,0 +13 @@ croniter>=0.3.20 # MIT License
+os-resource-classes>=0.4.0
@@ -16 +17 @@ oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.20.0 # Apache-2.0
+oslo.context>=2.21.0 # Apache-2.0
@@ -20 +21 @@ oslo.log>=3.37.0 # Apache-2.0
-oslo.messaging>=5.36.0 # Apache-2.0
+oslo.messaging>=8.1.2 # Apache-2.0
@@ -30 +31 @@ pbr>=3.1.1 # Apache-2.0
-pecan>=1.2.1 # BSD
+pecan>=1.3.2 # BSD
@@ -39 +40 @@ python-neutronclient>=6.7.0 # Apache-2.0
-python-novaclient>=10.1.0 # Apache-2.0
+python-novaclient>=14.1.0 # Apache-2.0
@@ -41 +42 @@ python-openstackclient>=3.14.0 # Apache-2.0
-python-ironicclient>=2.3.0 # Apache-2.0
+python-ironicclient>=2.5.0 # Apache-2.0
@@ -46 +47 @@ taskflow>=3.1.0 # Apache-2.0
-WebOb>=1.7.4 # MIT
+WebOb>=1.8.5 # MIT
@@ -48 +49,3 @@ WSME>=0.9.2 # MIT
-networkx>=1.11 # BSD
+# NOTE(fdegir): NetworkX 2.3 dropped support for Python 2
+networkx>=1.11,<2.3;python_version<'3.0' # BSD
+networkx>=1.11;python_version>='3.4' # BSD
@@ -49,0 +53 @@ microversion_parse>=0.2.1 # Apache-2.0
+futurist>=1.8.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index a6810b6a..1a5854f6 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -16 +16 @@ os-api-ref>=1.4.0 # Apache-2.0
-bandit>=1.1.0 # Apache-2.0
+bandit>=1.6.0 # Apache-2.0
1
0
We are pumped to announce the release of:
sahara-plugin-vanilla 2.0.0: Vanilla Plugin for Sahara Project
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/sahara-plugin-vanilla
Download the package from:
https://tarballs.openstack.org/sahara-plugin-vanilla/
Please report issues through:
https://storyboard.openstack.org/#!/project/1106
For more details, please see below.
Changes in sahara-plugin-vanilla 1.0.0..2.0.0
---------------------------------------------
9fcba44 Imported Translations from Zanata
bf9ce22 Imported Translations from Zanata
0d51795 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
8e76f13 Update .gitreview for stable/train
0790c5b Imported Translations from Zanata
568be30 Fix string
8589ddf Update the constraints url
ac67514 Doc updates: bump theme to 1.20.0, add PDF build
7d9be6f Imported Translations from Zanata
8a8520b Limit envlist to py37 for Python 3 Train goal
3c73896 Update sphinx from current requirements
d6b6947 Update Python 3 test runtimes for Train
cd9dec5 Replace git.openstack.org URLs with opendev.org URLs
686ae55 OpenDev Migration Patch
47a9338 Dropping the py35 testing
f27e464 Update master for stable/stein
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 3 +-
.zuul.yaml | 4 +-
README.rst | 2 +-
lower-constraints.txt | 2 +-
releasenotes/source/conf.py | 13 ---
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 ++
.../locale/de/LC_MESSAGES/sahara_plugin_vanilla.po | 103 +++++++++++++++++++++
.../locale/id/LC_MESSAGES/sahara_plugin_vanilla.po | 101 ++++++++++++++++++++
.../locale/ne/LC_MESSAGES/sahara_plugin_vanilla.po | 95 +++++++++++++++++++
.../plugins/vanilla/hadoop2/validation.py | 4 +-
setup.cfg | 2 +-
tox.ini | 31 +++++--
16 files changed, 342 insertions(+), 62 deletions(-)
1
0
We are happy to announce the release of:
designate 9.0.0: DNS as a Service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/designate
Download the package from:
https://tarballs.openstack.org/designate/
Please report issues through:
https://bugs.launchpad.net/designate/+bugs
For more details, please see below.
Changes in designate 8.0.0..9.0.0
---------------------------------
528f4e05 fix call obj_reset_changes with recursive=True raise error
58147938 Set enable_host_header in documentation
660eacbc Removed deprecated powerdns 3 driver
52ad1c4c Removed deprecated pool-manager implementation
a09064a5 Refactored service layer
0ba52bfb fix get the name servers for a zone not validate zone_id
88a8ba5d Add missing RabbitMQ configuration to install guides
ceaba7d0 Build man pages for the commands that are documented
4428275d Make IPv6 jobs voting
437cbf05 Add pdf-docs env to tox.ini
833f9c87 Adjusted default heartbeat interval and renamed file
bcaf9fd1 Only log zone not found when notifing
b591ad75 Only log unexpected rndc errors
57f42080 Fix bug in recordset status
005ecc87 Standardizing install guides
7cf35ad9 Updated install guide
dd720584 Blacklist eventlet 0.21.0,0.23.0,0.25.0
3429014c Fixed error in install guide
c2ff6b9b Fixed broken kolla install link
a3afcde0 Skip grenade jobs on Release note changes
b04e4a45 Updated Release notes for Train
2ad08a6a Fix ipv6 bugs with devstack and pdns4 driver
e1ea4044 Docs: Fix broken links and make more robust
c640baf7 Add non voting ipv6 only jobs
d160f364 Fix missing _static folder breaking gate
556a27e4 Ensure coordination IDs are encoded
e23f47d0 Drop creating extra endpoints in devstack
c53b1684 Fixing 404 link
ed34f9a3 Use zone.tenant_id when context.project_id is None for pdns3
7ea92555 Blacklist sphinx 2.1.0 (autodoc bug)
1ac2c8db Use zone.tenant_id as tenant if context.project_id is None
ad32f7a1 Update api-ref location
5e0e4c19 Cleaned up mdns handler and added better test coverage
e70af61d Improve log message for better understanding
2c9e9f5f Bump to hacking 1.1.0
d491cd78 Fix postgres job and make it non-voting for now
851d974a Fixed akamai default wsdl path
1f97fab5 Add some additional logging for failing task test
ee04eaf2 Remove unused code in utils and improved utils testing
c5bc8947 Change configuration to be consistent with underlines
08684a2c Rewrote bind9 backend unit tests
a15a2da6 Add Python 3 Train unit tests
5383ad9d Moved test_context to designate.tests.unit
bcd59f2b Removing manage command for akamai backend
3734f2a1 Update vagrant config
81acdc7a Improved CAA record test coverage
511c08fb Improved worker test coverage
d787ee45 Only register dynamic pool options when running designate-manage
a31982b5 Fixed oslo deprecated warning when running devstack
097ffec5 Finalized centralization of configuration
eb244360 Improving test coverage of designate backend
fcb3290b Fixed renaming topic breaking service
c95f0445 Fixed issue with documentation breaking CI
03b390de Updated context to use project_id
0d8154de Added config opts unit tests
47899bb7 Added sink unit tests
7acd220c Simplified metrics implementation
d60bd536 Modernized agent tests
926e4ed0 Modernized dnsutils tests
bed43e1d Modernized mdns tests
778bb8cd Renamed unit.test_api to unit.api
a53c3daf Moved most configuration into designate.conf
4eed31a9 Remove KS v2 support and add region support
201d8be1 Removing unused code and updated unit tests readme
2d091bfd Fix api-ref building
54c62ee7 Adding basic socket tests and fixed a typo
82ec7a8a Modernized backend tests
a7510ad4 Modernized pool manager tests
94c38c02 Modernized scheduler tests
4820cd48 Modernized object tests
2c7b8476 Lazy-load PowerDNS 4 logs + cleaned up tests
6158c837 Modernized producer tests
635fae01 Modernized workers tests
e18436a4 Added PowerDNS 4 unit tests
3f8c88f0 Fixed typo in PowerDNS tests
2db20ef8 Added basic synchronized_zone tests
b5b593ac Don't bind to tcp/udp when running unit-tests
dec36390 Clean fix for bandit exclusions change
af51a844 Cap to sphinx 2.0.0 on Python 2.7
6f13191a Clean up zone locking
c16478eb Blacklist Bandit 1.6.0 due to directory exclusion bug
27d2c22e Update Python 3 test runtimes for Train
9214a42a Designate service_statuses is not working
692eb798 Remove unused debug code
9512ef19 Ensure pdns4 driver is consistent with other drivers
5d0408c7 Replace git.openstack.org URLs with opendev.org URLs
fffdf29a OpenDev Migration Patch
2a63b4d0 Dropping the py35 testing
9b809a11 Replace RCPDispatcher with decorator
3fbd9dea Update Driver statuses
9fffac22 Added missing service_statuses metadata
3f5b7fc7 Switch to using project_id for network_api
3c231e39 Modernize tox
f828654a Fix DBDeadLock error resulting into 500
ce009757 Update Zuul Jobs
02ef0350 Check TXT/SPF records for RFC1035 sec. 5.1
55f31d48 Replace openstack.org git:// URLs with https://
7a1ba8ee Allow pdns4 backend to select tsigkey
178737c4 Fixing stevedore warning when running devstack
b7d735ae Update master for stable/stein
fa3bc779 Update json module to jsonutils
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 177 ++--
README.rst | 4 +-
contrib/vagrant/Vagrantfile | 24 +-
contrib/vagrant/local.conf | 5 +-
designate/__init__.py | 48 +-
designate/agent/__init__.py | 76 --
designate/agent/service.py | 36 +-
designate/api/__init__.py | 114 ---
designate/api/middleware.py | 24 +-
designate/api/service.py | 29 +-
designate/api/v2/controllers/quotas.py | 2 +-
designate/api/v2/controllers/rest.py | 5 -
designate/api/v2/controllers/zones/nameservers.py | 2 +
.../api/v2/controllers/zones/tasks/exports.py | 2 +-
designate/backend/agent.py | 6 +-
designate/backend/agent_backend/impl_bind9.py | 44 +-
.../backend/agent_backend/impl_denominator.py | 27 +-
designate/backend/agent_backend/impl_djbdns.py | 56 +-
designate/backend/agent_backend/impl_gdnsd.py | 37 +-
designate/backend/agent_backend/impl_knot2.py | 35 +-
designate/backend/agent_backend/impl_msdns.py | 17 -
designate/backend/base.py | 11 +-
designate/backend/impl_akamai.py | 24 +-
designate/backend/impl_bind9.py | 3 +-
designate/backend/impl_designate.py | 41 +-
designate/backend/impl_dynect.py | 27 +-
designate/backend/impl_infoblox/__init__.py | 5 +-
designate/backend/impl_infoblox/connector.py | 9 +-
designate/backend/impl_pdns4.py | 65 +-
designate/backend/impl_powerdns/__init__.py | 172 ----
.../backend/impl_powerdns/migrate_repo/README | 4 -
.../backend/impl_powerdns/migrate_repo/migrate.cfg | 25 -
.../versions/001_add_initial_schema.py | 103 ---
.../versions/002_add_moniker_id_cols.py | 55 --
.../versions/003_correct_master_column_length.py | 32 -
.../versions/004_correct_content_column_length.py | 32 -
.../versions/005_rename_moniker_id_columns.py | 42 -
.../versions/006_add_inherit_ttl_col.py | 61 --
.../versions/007_add_recordset_id_col.py | 38 -
.../008_record_add_designate_recordset_id_index.py | 37 -
.../versions/009_cascade_domain_deletes.py | 63 --
.../versions/010_records_add_disabled_column.py | 36 -
.../migrate_repo/versions/012_placeholder.py | 30 -
.../migrate_repo/versions/013_placeholder.py | 30 -
.../migrate_repo/versions/014_placeholder.py | 30 -
.../migrate_repo/versions/015_placeholder.py | 30 -
.../migrate_repo/versions/016_placeholder.py | 30 -
.../versions/017_records_drop_duped_index.py | 38 -
designate/backend/impl_powerdns/tables.py | 39 -
designate/central/__init__.py | 56 --
designate/central/rpcapi.py | 5 +-
designate/central/service.py | 266 +++---
designate/cmd/agent.py | 9 +-
designate/cmd/api.py | 10 +-
designate/cmd/central.py | 12 +-
designate/cmd/manage.py | 4 +-
designate/cmd/mdns.py | 9 +-
designate/cmd/pool_manager.py | 63 --
designate/cmd/producer.py | 17 +-
designate/cmd/sink.py | 9 +-
designate/cmd/status.py | 4 +-
designate/cmd/worker.py | 17 +-
designate/cmd/zone_manager.py | 62 --
designate/common/keystone.py | 16 -
designate/common/memorycache.py | 97 ---
designate/conf/__init__.py | 66 ++
designate/conf/agent.py | 59 ++
designate/conf/akamai.py | 46 +
designate/conf/api.py | 109 +++
designate/conf/base.py | 103 +++
designate/conf/bind9.py | 44 +
designate/conf/central.py | 64 ++
designate/conf/coordination.py | 53 ++
designate/conf/denominator.py | 39 +
designate/conf/djbdns.py | 57 ++
designate/conf/dynect.py | 41 +
designate/conf/gdnsd.py | 42 +
designate/conf/heartbeat_emitter.py | 38 +
.../impl_infoblox/config.py => conf/infoblox.py} | 42 +-
designate/conf/keystone.py | 32 +
designate/conf/knot2.py | 40 +
designate/conf/mdns.py | 60 ++
designate/conf/metrics.py | 36 +
.../migrate_repo/manage.py => conf/msdns.py} | 26 +-
designate/conf/network_api.py | 58 ++
designate/conf/opts.py | 80 ++
designate/conf/producer.py | 140 +++
designate/conf/proxy.py | 43 +
designate/conf/sink.py | 104 +++
.../test_backends/__init__.py => conf/storage.py} | 25 +-
designate/conf/worker.py | 66 ++
designate/context.py | 23 +-
designate/coordination.py | 162 +---
designate/debug.py | 39 -
designate/dnsutils.py | 16 +-
designate/exceptions.py | 58 +-
designate/hacking/checks.py | 8 +-
designate/manage/akamai.py | 107 ---
designate/manage/database.py | 18 +-
designate/manage/pool.py | 32 +-
designate/manage/pool_manager_cache.py | 66 --
designate/manage/powerdns.py | 73 --
designate/mdns/__init__.py | 67 --
designate/mdns/base.py | 5 -
designate/mdns/handler.py | 292 ++++---
designate/mdns/notify.py | 75 +-
designate/mdns/rpcapi.py | 8 +-
designate/mdns/service.py | 44 +-
designate/mdns/xfr.py | 31 +-
designate/metrics.py | 117 +--
designate/metrics_client/noop.py | 10 +-
designate/network_api/fake.py | 20 +-
designate/network_api/neutron.py | 43 +-
.../fake.py} | 31 +-
designate/notification_handler/neutron.py | 22 -
designate/notification_handler/nova.py | 22 -
designate/notifications.py | 12 +-
designate/objects/__init__.py | 1 -
designate/objects/base.py | 26 +-
designate/objects/fields.py | 6 +-
designate/objects/pool.py | 66 --
designate/objects/pool_manager_status.py | 43 -
designate/objects/recordset.py | 22 +-
designate/objects/rrdata_spf.py | 18 +
designate/objects/rrdata_txt.py | 18 +
designate/opts.py | 61 --
designate/plugin.py | 45 -
designate/pool_manager/__init__.py | 136 ---
designate/pool_manager/cache/__init__.py | 27 -
designate/pool_manager/cache/base.py | 63 --
.../pool_manager/cache/impl_memcache/__init__.py | 130 ---
designate/pool_manager/cache/impl_noop/__init__.py | 36 -
.../pool_manager/cache/impl_sqlalchemy/__init__.py | 78 --
.../cache/impl_sqlalchemy/migrate_repo/README | 4 -
.../cache/impl_sqlalchemy/migrate_repo/manage.py | 23 -
.../cache/impl_sqlalchemy/migrate_repo/migrate.cfg | 25 -
.../versions/001_add_pool_manager_status.py | 76 --
.../versions/002_rename_server_to_nameserver.py | 33 -
.../migrate_repo/versions/003_placeholder.py | 30 -
.../migrate_repo/versions/004_placeholder.py | 30 -
.../migrate_repo/versions/005_placeholder.py | 30 -
.../migrate_repo/versions/006_placeholder.py | 30 -
.../migrate_repo/versions/007_placeholder.py | 30 -
.../versions/008_domain_to_zone_rename.py | 34 -
.../pool_manager/cache/impl_sqlalchemy/tables.py | 50 --
designate/pool_manager/rpcapi.py | 115 ---
designate/pool_manager/service.py | 962 ---------------------
designate/producer/__init__.py | 121 ---
designate/producer/service.py | 47 +-
designate/producer/tasks.py | 118 +--
designate/quota/__init__.py | 17 -
designate/rpc.py | 74 +-
designate/scheduler/__init__.py | 16 -
designate/schema/_validators.py | 8 +-
designate/service.py | 343 +++-----
designate/service_status.py | 26 +-
designate/sink/__init__.py | 42 -
designate/sink/service.py | 13 +-
designate/sqlalchemy/base.py | 6 +-
designate/storage/impl_sqlalchemy/__init__.py | 13 +-
designate/storage/impl_sqlalchemy/tables.py | 2 +
.../test_agent/test_backends/test_denominator.py | 129 ---
.../test_api/test_admin/extensions/test_quotas.py | 42 +-
.../test_api/test_admin/extensions/test_reports.py | 4 +-
.../test_pool_manager/cache/test_sqlalchemy.py | 39 -
.../test_resources/test_templates/test_bind9.py | 29 -
.../agent/backends}/__init__.py | 19 +-
.../agent/backends}/test_fake.py | 38 +-
.../test_backends => agent/backends}/test_gdnsd.py | 62 +-
.../{test_agent => unit/agent}/test_handler.py | 129 ++-
.../unit/{test_api => api}/test_middleware.py | 15 +-
.../unit/backend}/__init__.py | 0
.../{test_backend => unit/backend}/test_dynect.py | 120 ++-
.../{test_backend => unit/backend}/test_nsd4.py | 57 +-
.../{test_objects => unit/metrics}/__init__.py | 0
.../unit/{test_metrics => metrics}/test_metrics.py | 106 ++-
.../notification_handler}/__init__.py | 0
.../test_templates => unit/objects}/__init__.py | 0
.../{test_objects => objects}/test_adapters.py | 13 +-
.../unit/{test_objects => objects}/test_base.py | 34 +-
.../objects}/test_mx_object.py | 26 +-
.../objects}/test_naptr_object.py | 14 +-
.../{test_objects => objects}/test_recordset.py | 197 +++--
.../{test_objects => objects}/test_rrdata_a.py | 12 +-
.../objects}/test_sshfp_object.py | 46 +-
.../test_yaml_adapters.py | 60 +-
.../test_domain.py => objects/test_zone.py} | 70 +-
.../{test_workers => unit/producer}/__init__.py | 0
.../unit/{test_producer => producer}/test_tasks.py | 88 +-
.../unit/{test_agent => scheduler}/__init__.py | 0
.../{test_scheduler => scheduler}/test_basic.py | 74 +-
.../{test_scheduler => scheduler}/test_filters.py | 38 +-
.../{test_agent/test_backends => sink}/__init__.py | 0
.../unit/test_agent/test_backends/test_djbdns.py | 126 ---
.../unit/test_agent/test_backends/test_knot2.py | 200 -----
.../unit/test_agent/test_backends/test_msdns.py | 122 ---
.../workers}/test_base_task.py | 8 +-
.../workers}/test_processing.py | 28 +-
.../workers}/test_zone_tasks.py | 520 +++++++----
designate/utils.py | 148 +---
designate/worker/__init__.py | 68 --
designate/worker/rpcapi.py | 5 +-
designate/worker/service.py | 38 +-
designate/worker/tasks/zone.py | 2 +-
devstack/README.rst | 4 +-
devstack/designate_plugins/backend-agent | 8 +-
devstack/designate_plugins/backend-agent-knot2 | 8 +-
devstack/designate_plugins/backend-agent-msdns | 2 +-
devstack/designate_plugins/backend-bind9 | 26 +-
devstack/designate_plugins/backend-designate | 26 +-
devstack/designate_plugins/backend-infoblox | 2 +-
devstack/designate_plugins/backend-pdns4 | 17 +-
devstack/designate_plugins/backend-powerdns | 171 ----
devstack/gate/gate_hook.sh | 4 +-
devstack/networking_test.py | 5 +-
devstack/plugin.sh | 41 +-
devstack/settings | 3 +-
devstack/upgrade/settings | 4 +-
devstack/upgrade/shutdown.sh | 18 +-
.../__init__.py => doc/source/_static/.placeholder | 0
.../admin/backends/sample_yaml_snippets/pdns4.yaml | 2 +
.../backends/sample_yaml_snippets/powerdns.yaml | 16 -
etc/designate/designate-config-generator.conf | 17 +-
.../{designate-base => designate-bind9}/post.yaml | 0
playbooks/designate-pdns4/post.yaml | 4 +
.../legacy/designate-devstack-agent-base/run.yaml | 8 +-
playbooks/legacy/designate-devstack-base/run.yaml | 8 +-
.../grenade-devstack-designate-pdns4/run.yaml | 10 +-
...755788-txt-spf-validation-d18e43c12691132a.yaml | 11 +
...e_status-multiple-workers-cf99fe9e4eaf57ff.yaml | 9 +
...rdination-ids-are-encoded-b5f32b9e16339251.yaml | 18 +
...2799-allow-topic-override-7540c14a10b8e3ae.yaml | 15 +
.../fix-recordset-status-204e2747ef47d5ad.yaml | 13 +
.../notes/new-service-layer-8023c242de89075a.yaml | 18 +
.../notes/pdns4-tsig-1fda534c01d90138.yaml | 10 +
.../removed-pool-manager-a1a9466aceb44b9f.yaml | 11 +
...ctated-pdns-mysql-backend-1babc968f5778ae6.yaml | 6 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 4 +-
roles/pdns4-logs-conf/defaults/main.yaml | 1 +
roles/pdns4-logs-conf/tasks/main.yaml | 38 +
setup.cfg | 28 +-
test-requirements.txt | 2 +-
tox.ini | 80 +-
363 files changed, 9564 insertions(+), 12894 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 0afcc00f..35f59ac7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ Babel!=2.4.0,>=2.3.4 # BSD
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.18.2 # MIT
@@ -10 +10 @@ Jinja2>=2.10 # BSD License (3 clause)
-jsonschema<3.0.0,>=2.6.0 # MIT
+jsonschema>=2.6.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 237bfa3a..da11a6a6 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0,<1.2.0 # Apache-2.0
1
0