[release-announce] octavia 5.0.0 (train)
no-reply at openstack.org
no-reply at openstack.org
Wed Oct 16 12:55:01 UTC 2019
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
More information about the Release-announce
mailing list