We are thrilled to announce the release of: octavia 6.0.0: OpenStack Octavia Scalable Load Balancer as a Service This release is part of the ussuri 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. Changes in octavia 5.0.0.0rc1..6.0.0 ------------------------------------ 908abe6e Small fix of wording in Ubuntu install doc a33d42fa Validate resource access when creating loadbalancer or member f4057134 Healthmanager opts aren't CLI-related ccd6c387 Disable two tests due to sqlalchemy/sqlite bug 6e619918 Support HTTP and TCP checks in UDP healthmonitor fb70e3b3 Run taskflow jobboard conductor conditionally 1c639f01 Don't inherit enforcing bash errexit in devstack plugin 96a4482d Fix py3 amphora-agent cert-rotation type bug c9e15515 Imported Translations from Zanata 4b2a38d9 Correct delay between UDP healthchecks 4f480425 Add availability-zone to loadbalancer object docs 9c13499d Jobboard based controller d47f164a Add ability to specify TLS cipher list for pools 19d80f11 Don't register cli opts on import cd176e55 Add ability to set TLS cipher list for listeners cb7fdece Add F5 Networks provider driver by SAP SE 79464c0e Update hacking for Python3 399331b0 Ussuri contributor docs community goal 37b8bc9b Fix amphora image build jobs 81ed1334 Exclude acpid on Red Hat family DIB builds d27ee3f0 Fix padding logic for UDP health daemon 18020e6c Add oslo middleware healthcheck to Octavia API f6b957e8 Remove all usage of six library 82abe333 Remove the barbican "Grant access" from cookbook c8b044af Stop "dnf makecache" in the amphora images 6bca6bef [Amphorav2] Fix noop driver case 27350a7d Use sqlalchemy isnot(None) c6db3e4f Support hacking 2.0.0 0f7d03fe Pick stale amphora randomly 801b99ed Update the available provider drivers list. 2cfcd71a Fix load balancer update with provider filtered params 4a360bfd Allow AZ to override valid_vip_networks config 741397f1 Network Delta calculations should respect AZs 2c762090 Select the right lb_network_ip interface using AZ 3bbd32a2 Fix uncaught DB exception when trying to get a spare amphora 20fdbbec Fix TESTING.rst example 49036845 Remove the dependency on the "mock" package bb0efa2a Add docs warning for PING health monitors e1751220 Add UDP LBs to the basic cookbook 1f991503 Add a periodic image build job d9733225 Add diskimage-create arg for Octavia Git branch 005cd1e6 Update the lb_id on an amp earlier if we know it 7dc54eb9 Support haproxy development snapshot version parsing 106cfb7e Add listener allowed_cidrs to the feature matrix ea6b065c Transition l7rule flows to dicts 7d310c39 Transition l7policy flows to dicts 657068a2 Convert health_monitor flows to use provider models 08fb5a06 Fix jobs not running and add new ones to the gate c2ef7792 Use LUKS1 for certfs-ramfs for all distributions adbfaecc Convert Lb flows to use provider dicts dad38f61 Transition amphora flows to dicts 4af42f83 Complete dropping py27 support goal 038b2d5d Add logging filter for AmpConnectionRetry exception 93cd9fc0 Fix the interface filenames for Red Hat amphora images 47e0ef31 Add listener and pool protocol validation 7c6fbe7e Allow the Octavia wsgi to accept argv parameters dc2dd711 Stop supporting CentOS 7 controllers and images e36c67b3 Remove test calls to reset_mock() b96107e2 Make octavia reproducible 7f929bab Fix diskimage-create.sh for Debian 26cbb93a Add install guide for Ubuntu 3cce3471 Support creating an LB in a specified AZ 2a490119 Fix tests to correctly call reset_mock() df0ba06c Fix house keeping graceful shutdown 7b3395ab Update policy docs to reflect json format fc4c634d Update ListenersUpdate for lb/listener dicts cccd47e0 Fix multi-listener LB client auth/re-encryption 7d23a711 Fix multi-listener LB with missing certificate f5eeb513 Fix unit test when run on CentOS 7 7471129c Stop supporting xenial amphora images eab77345 Gate on octavia-v2-dsvm-tls-barbican 3740b678 Add support for CentOS 8 amphora images 8800e859 Accept oslopolicy-policy-generator path arguments d115644d Adjust for new octavia-lib LB signature d6dc2b9a Transition member flows to use dicts b9e74630 Convert pool flows to use dicts 7f0abf8b Convert listener flows to use provider models bc94789d Stop testing python 2 314b43af Use retry for AmphoraComputeConnectivityWait 5af97a24 Fix update API when barbican secret is missing 8b6bb936 Use 2048-bits keys for devstack certificates ce6b2e80 Make octavia-grenade job non-voting 8ae6bc36 Availability Zone admin API 7ad61bb4 Remove unnecessary interface configurations a736f98a Fix filtering with API tags 033c1e02 Stop allowing the deletion of an in-use flavor 8178bd37 Fix name of VRRP configuration option 28c936ec Fix filtering for provider capabilities list API c3890777 Update flavor guide to be cut/paste friendly 1900ee71 Fix a potential race condition with certs-ramfs 0682fb97 ipvsadm '--exact' arg to ensure outputs are ints 3c05ce12 Fix listeners with SNI certificates 215c4c22 Fix controller worker graceful shutdown 935567b8 Fix typo in doc agent.py->agent 28694f02 [Trivial]Add missing ws between words 01dfb8ff Fix batch member update error on empty change list ca4b3d37 Fix some plug.py unit tests that broke on OSX 2c6d8fc5 Allow IPv6 health network in devstack 7fcef817 Fix issues with unavailable secrets fce2cd4f Revert "Clean up requirements.txt from tox.ini" 076c3adc Add backend re-encryption to the LB cookbook 4b4638e6 Add client authentication to the LB cookbook 5934280e Switch to openstack-python3-ussuri-jobs 7b8e6de1 Clean up requirements.txt from tox.ini 65905cdb Use bandit block in tox.ini 98448dce Add bash script style checker to pep8 check d56b9d65 Fix log offload file permissions in CentOS devstack e9b2bcd0 Do not set log format when 'no log' is set e6cd43d6 Remove duplicate keys in sample config files 9be2e4d4 Add the Amphora image building guide to the docs b0c2cd7b Fix urgent amphora two-way auth security bug d429af5d Add Gentoo platform detection in diskimage-create/diskimage-create.sh c7f4b4a9 Fix certificate directory creation 61532a09 Update master for stable/train 66aefc22 Delete the periodic Fedora 28 amphora image job cad80a6c Fix healthmonitor message v2 for UDP listeners e7954063 Set neutron client logging to INFO 1aeb416a Bump diskimage-builder minimum to 2.24.0 9de37f39 Update the load balancing cookbook Diffstat (except docs and test files) ------------------------------------- CONTRIBUTING.rst | 23 +- HACKING.rst | 2 + TESTING.rst | 10 +- api-ref/source/parameters.yaml | 115 ++- api-ref/source/v2/availabilityzone.inc | 290 ++++++ api-ref/source/v2/availabilityzoneprofile.inc | 297 ++++++ .../v2/examples/availabilityzone-create-curl | 1 + .../examples/availabilityzone-create-request.json | 8 + .../examples/availabilityzone-create-response.json | 8 + .../v2/examples/availabilityzone-delete-curl | 1 + .../source/v2/examples/availabilityzone-list-curl | 1 + .../examples/availabilityzone-list-response.json | 10 + .../source/v2/examples/availabilityzone-show-curl | 1 + .../examples/availabilityzone-show-response.json | 8 + .../v2/examples/availabilityzone-update-curl | 1 + .../examples/availabilityzone-update-request.json | 6 + .../examples/availabilityzone-update-response.json | 8 + .../examples/availabilityzoneprofile-create-curl | 1 + .../availabilityzoneprofile-create-request.json | 8 + .../availabilityzoneprofile-create-response.json | 9 + .../examples/availabilityzoneprofile-delete-curl | 1 + .../v2/examples/availabilityzoneprofile-list-curl | 1 + .../availabilityzoneprofile-list-response.json | 10 + .../v2/examples/availabilityzoneprofile-show-curl | 1 + .../availabilityzoneprofile-show-response.json | 9 + .../examples/availabilityzoneprofile-update-curl | 1 + .../availabilityzoneprofile-update-request.json | 8 + .../availabilityzoneprofile-update-response.json | 9 + api-ref/source/v2/examples/listener-create-curl | 2 +- .../v2/examples/listener-create-request.json | 3 +- .../v2/examples/listener-create-response.json | 3 +- .../source/v2/examples/listener-show-response.json | 3 +- api-ref/source/v2/examples/listener-update-curl | 2 +- .../v2/examples/listener-update-request.json | 3 +- .../v2/examples/listener-update-response.json | 3 +- .../v2/examples/listeners-list-response.json | 3 +- .../source/v2/examples/loadbalancer-create-curl | 2 +- .../v2/examples/loadbalancer-create-request.json | 1 + .../v2/examples/loadbalancer-create-response.json | 1 + .../examples/loadbalancer-full-create-request.json | 1 + .../loadbalancer-full-create-response.json | 1 + .../v2/examples/loadbalancer-show-response.json | 1 + .../v2/examples/loadbalancers-list-response.json | 1 + api-ref/source/v2/examples/pool-create-curl | 2 +- .../source/v2/examples/pool-create-request.json | 3 +- .../source/v2/examples/pool-create-response.json | 3 +- api-ref/source/v2/examples/pool-show-response.json | 3 +- api-ref/source/v2/examples/pool-update-curl | 2 +- .../source/v2/examples/pool-update-request.json | 3 +- .../source/v2/examples/pool-update-response.json | 3 +- .../source/v2/examples/pools-list-response.json | 3 +- ...provider-availability-zone-capability-show-curl | 1 + ...availability-zone-capability-show-response.json | 8 + api-ref/source/v2/flavor.inc | 2 +- api-ref/source/v2/flavorprofile.inc | 2 +- api-ref/source/v2/general.inc | 93 ++ api-ref/source/v2/index.rst | 10 + api-ref/source/v2/listener.inc | 6 + api-ref/source/v2/loadbalancer.inc | 4 + api-ref/source/v2/pool.inc | 6 + api-ref/source/v2/provider.inc | 54 + bin/create_dual_intermediate_CA.sh | 24 +- bin/create_single_CA_intermediate_CA.sh | 16 +- .../etc/rsyslog/10-octavia-log-offloading.conf | 5 + devstack/plugin.sh | 259 +++-- devstack/samples/providers.rb | 4 +- devstack/samples/singlenode/local.sh | 10 +- devstack/settings | 5 + devstack/upgrade/resources.sh | 3 +- devstack/upgrade/vm_user_data.sh | 4 +- diskimage-create/README.rst | 136 ++- diskimage-create/diskimage-create.sh | 81 +- diskimage-create/requirements.txt | 2 +- .../admin/{providers.rst => providers/index.rst} | 23 +- .../feature-matrix-listener.ini | 18 +- .../amphora-agent.conf | 2 +- .../amphora-agent.init | 2 +- .../amphora-agent.service | 3 +- elements/amphora-agent/package-installs.yaml | 5 + elements/amphora-agent/pkg-map | 11 + .../post-install.d/10-enable-network-scripts | 2 +- .../init-scripts/systemd/certs-ramfs.service | 1 + .../certs-ramfs/static/usr/local/bin/certfs-ramfs | 17 +- elements/disable-makecache/README.rst | 6 + .../post-install.d/80-disable-makecache | 18 + elements/disable-makecache/svc-map | 2 + elements/haproxy-octavia/pkg-map | 12 - .../post-install.d/20-disable-default-haproxy | 9 +- .../haproxy-octavia/pre-install.d/01-backports | 37 - elements/keepalived-octavia/pkg-map | 7 - .../post-install.d/11-ip6-tables | 11 - .../keepalived-octavia/pre-install.d/00-backports | 9 - elements/remove-default-ints/README.rst | 6 + .../post-install.d/91-remove-default-ints | 8 + etc/octavia.conf | 91 +- lower-constraints.txt | 16 +- octavia/__init__.py | 8 +- .../backends/agent/api_server/amphora_info.py | 3 +- .../agent/api_server/certificate_update.py | 2 +- .../agent/api_server/haproxy_compatibility.py | 2 +- .../backends/agent/api_server/loadbalancer.py | 6 +- .../amphorae/backends/agent/api_server/osutils.py | 77 +- octavia/amphorae/backends/agent/api_server/plug.py | 18 +- .../amphorae/backends/agent/api_server/server.py | 3 +- .../backends/agent/api_server/udp_listener_base.py | 5 +- octavia/amphorae/backends/agent/api_server/util.py | 2 +- .../backends/health_daemon/health_daemon.py | 18 +- octavia/amphorae/backends/utils/haproxy_query.py | 7 +- .../amphorae/backends/utils/keepalivedlvs_query.py | 14 +- octavia/amphorae/driver_exceptions/exceptions.py | 10 +- octavia/amphorae/drivers/driver_base.py | 28 +- .../amphorae/drivers/haproxy/rest_api_driver.py | 170 ++-- .../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 8 +- .../drivers/keepalived/vrrp_rest_driver.py | 16 +- octavia/amphorae/drivers/noop_driver/driver.py | 16 +- octavia/api/app.py | 13 +- octavia/api/common/pagination.py | 57 +- octavia/api/common/types.py | 27 +- .../amphora_driver/availability_zone_schema.py | 53 + octavia/api/drivers/amphora_driver/v1/driver.py | 88 +- octavia/api/drivers/amphora_driver/v2/driver.py | 244 +++-- .../api/drivers/driver_agent/driver_listener.py | 3 +- octavia/api/drivers/noop_driver/driver.py | 35 +- octavia/api/drivers/utils.py | 92 +- octavia/api/healthcheck/healthcheck_plugins.py | 47 + octavia/api/root_controller.py | 35 +- octavia/api/v2/controllers/__init__.py | 6 + octavia/api/v2/controllers/amphora.py | 34 +- .../v2/controllers/availability_zone_profiles.py | 237 +++++ octavia/api/v2/controllers/availability_zones.py | 176 ++++ octavia/api/v2/controllers/base.py | 38 +- octavia/api/v2/controllers/flavor_profiles.py | 23 +- octavia/api/v2/controllers/flavors.py | 35 +- octavia/api/v2/controllers/health_monitor.py | 54 +- octavia/api/v2/controllers/l7policy.py | 43 +- octavia/api/v2/controllers/l7rule.py | 12 +- octavia/api/v2/controllers/listener.py | 35 +- octavia/api/v2/controllers/load_balancer.py | 105 +- octavia/api/v2/controllers/member.py | 25 +- octavia/api/v2/controllers/pool.py | 38 +- octavia/api/v2/controllers/provider.py | 94 +- octavia/api/v2/controllers/quotas.py | 15 +- octavia/api/v2/types/availability_zone_profile.py | 71 ++ octavia/api/v2/types/availability_zones.py | 69 ++ octavia/api/v2/types/listener.py | 4 + octavia/api/v2/types/load_balancer.py | 2 + octavia/api/v2/types/pool.py | 4 + octavia/api/v2/types/provider.py | 4 + octavia/certificates/common/barbican.py | 4 +- octavia/certificates/common/cert.py | 5 +- octavia/certificates/generator/cert_gen.py | 5 +- octavia/certificates/generator/local.py | 2 - octavia/certificates/manager/cert_mgr.py | 5 +- octavia/certificates/manager/local.py | 9 +- octavia/cmd/agent.py | 2 +- octavia/cmd/house_keeping.py | 23 +- octavia/common/base_taskflow.py | 133 ++- octavia/common/clients.py | 28 + octavia/common/config.py | 84 +- octavia/common/constants.py | 73 +- octavia/common/data_models.py | 39 +- octavia/common/exceptions.py | 4 +- .../jinja/haproxy/combined_listeners/jinja_cfg.py | 142 ++- .../haproxy/combined_listeners/templates/macros.j2 | 31 +- .../jinja/haproxy/split_listeners/jinja_cfg.py | 105 +- .../haproxy/split_listeners/templates/macros.j2 | 17 +- octavia/common/jinja/lvs/jinja_cfg.py | 28 +- octavia/common/jinja/lvs/templates/macros.j2 | 48 +- octavia/common/keystone.py | 3 +- octavia/common/policy.py | 3 - octavia/common/service.py | 2 - octavia/common/tls_utils/cert_parser.py | 57 +- octavia/common/utils.py | 34 +- octavia/common/validate.py | 26 +- octavia/compute/compute_base.py | 24 +- octavia/compute/drivers/noop_driver/driver.py | 33 +- octavia/compute/drivers/nova_driver.py | 50 +- .../healthmanager/health_drivers/update_db.py | 14 +- octavia/controller/healthmanager/health_manager.py | 8 +- octavia/controller/housekeeping/house_keeping.py | 79 +- octavia/controller/queue/v1/consumer.py | 10 +- octavia/controller/queue/v1/endpoints.py | 5 +- octavia/controller/queue/v2/consumer.py | 19 +- octavia/controller/queue/v2/endpoints.py | 180 ++-- octavia/controller/worker/v1/controller_worker.py | 109 +- .../controller/worker/v1/flows/amphora_flows.py | 27 +- .../worker/v1/flows/load_balancer_flows.py | 3 +- octavia/controller/worker/v1/flows/member_flows.py | 4 +- .../worker/v1/tasks/amphora_driver_tasks.py | 9 +- octavia/controller/worker/v1/tasks/cert_task.py | 2 +- .../controller/worker/v1/tasks/compute_tasks.py | 35 +- .../controller/worker/v1/tasks/database_tasks.py | 65 +- .../controller/worker/v1/tasks/network_tasks.py | 29 +- octavia/controller/worker/v2/controller_worker.py | 1061 ++++++++++---------- .../controller/worker/v2/flows/amphora_flows.py | 130 ++- octavia/controller/worker/v2/flows/flow_utils.py | 158 +++ .../worker/v2/flows/health_monitor_flows.py | 26 +- .../controller/worker/v2/flows/l7policy_flows.py | 21 +- octavia/controller/worker/v2/flows/l7rule_flows.py | 24 +- .../controller/worker/v2/flows/listener_flows.py | 37 +- .../worker/v2/flows/load_balancer_flows.py | 53 +- octavia/controller/worker/v2/flows/member_flows.py | 70 +- octavia/controller/worker/v2/flows/pool_flows.py | 67 +- .../worker/v2/taskflow_jobboard_driver.py | 102 ++ .../worker/v2/tasks/amphora_driver_tasks.py | 215 +++- octavia/controller/worker/v2/tasks/cert_task.py | 6 +- .../controller/worker/v2/tasks/compute_tasks.py | 62 +- .../controller/worker/v2/tasks/database_tasks.py | 991 ++++++++++-------- .../controller/worker/v2/tasks/lifecycle_tasks.py | 109 +- octavia/controller/worker/v2/tasks/model_tasks.py | 41 - .../controller/worker/v2/tasks/network_tasks.py | 375 ++++--- octavia/db/base_models.py | 5 +- octavia/db/healthcheck.py | 37 + .../7c36b277bfb0_add_listener_ciphers_column.py | 35 + .../8ac4ed24df3a_add_availability_zone_to_lb.py | 41 + .../c761c8a71579_add_availability_zone_table.py | 71 ++ .../e37941b010db_add_lb_flavor_constraint.py | 78 ++ .../fbd705961c3a_add_pool_ciphers_column.py | 35 + octavia/db/migration/cli.py | 18 + octavia/db/models.py | 44 + octavia/db/prepare.py | 8 + octavia/db/repositories.py | 174 +++- octavia/distributor/drivers/driver_base.py | 5 +- octavia/hacking/checks.py | 81 +- octavia/network/base.py | 14 +- .../drivers/neutron/allowed_address_pairs.py | 8 +- octavia/network/drivers/neutron/base.py | 21 +- octavia/network/drivers/noop_driver/driver.py | 11 +- octavia/policies/__init__.py | 6 + octavia/policies/availability_zone.py | 62 ++ octavia/policies/availability_zone_profile.py | 70 ++ octavia/policies/flavor.py | 2 +- octavia/policies/flavor_profile.py | 10 +- octavia/policies/provider_availability_zone.py | 33 + octavia/policies/provider_flavor.py | 2 +- .../backend/agent/api_server/test_keepalivedlvs.py | 2 +- .../backend/agent/api_server/test_server.py | 20 +- .../api/v2/test_availability_zone_profiles.py | 589 +++++++++++ .../functional/api/v2/test_availability_zones.py | 579 +++++++++++ .../functional/api/v2/test_flavor_profiles.py | 96 +- .../backends/agent/api_server/test_amphora_info.py | 3 +- .../agent/api_server/test_haproxy_compatibility.py | 21 +- .../backends/agent/api_server/test_keepalived.py | 3 +- .../agent/api_server/test_keepalivedlvs.py | 3 +- .../backends/agent/api_server/test_loadbalancer.py | 3 +- .../backends/agent/api_server/test_osutils.py | 195 +++- .../backends/agent/api_server/test_plug.py | 19 +- .../backends/agent/api_server/test_util.py | 38 +- .../backends/health_daemon/test_health_daemon.py | 55 +- .../backends/health_daemon/test_health_sender.py | 3 +- .../amphorae/backends/utils/test_haproxy_query.py | 8 +- .../backends/utils/test_keepalivedlvs_query.py | 2 +- .../drivers/haproxy/test_rest_api_driver_0_5.py | 48 +- .../drivers/haproxy/test_rest_api_driver_1_0.py | 49 +- .../amphorae/drivers/health/test_heartbeat_udp.py | 3 +- .../drivers/keepalived/jinja/test_jinja_cfg.py | 3 +- .../drivers/keepalived/test_vrrp_rest_driver.py | 2 +- .../test_noop_amphoraloadbalancer_driver.py | 2 +- .../amphora_driver/v1/test_amphora_driver.py | 74 +- .../amphora_driver/v2/test_amphora_driver.py | 222 +++- .../api/drivers/driver_agent/test_driver_get.py | 2 +- .../drivers/driver_agent/test_driver_listener.py | 4 +- .../drivers/driver_agent/test_driver_updater.py | 3 +- .../unit/api/drivers/test_provider_noop_agent.py | 2 +- .../unit/api/drivers/test_provider_noop_driver.py | 19 +- .../v2/types/test_availability_zone_profiles.py | 70 ++ .../unit/api/v2/types/test_availability_zones.py | 87 ++ .../certificates/common/auth/test_barbican_acl.py | 2 +- .../unit/certificates/common/test_barbican.py | 25 +- .../unit/certificates/manager/test_barbican.py | 3 +- .../certificates/manager/test_barbican_legacy.py | 8 +- .../certificates/manager/test_castellan_mgr.py | 2 +- .../haproxy/combined_listeners/test_jinja_cfg.py | 272 +++-- .../haproxy/split_listeners/test_jinja_cfg.py | 192 ++-- .../unit/common/jinja/lvs/test_lvs_jinja_cfg.py | 144 ++- .../sample_configs/sample_configs_combined.py | 105 +- .../common/sample_configs/sample_configs_split.py | 95 +- .../unit/common/tls_utils/test_cert_parser.py | 25 +- .../compute/drivers/test_compute_noop_driver.py | 23 +- .../healthmanager/health_drivers/test_update_db.py | 125 +-- .../health_drivers/test_update_logging.py | 2 +- .../healthmanager/test_health_manager.py | 32 +- .../controller/housekeeping/test_house_keeping.py | 106 +- .../unit/controller/queue/v1/test_consumer.py | 13 +- .../unit/controller/queue/v1/test_endpoints.py | 12 +- .../unit/controller/queue/v2/test_consumer.py | 16 +- .../unit/controller/queue/v2/test_endpoints.py | 121 +-- .../controller/worker/test_amphora_rate_limit.py | 2 +- .../unit/controller/worker/test_task_utils.py | 2 +- .../worker/v1/flows/test_amphora_flows.py | 28 +- .../worker/v1/flows/test_listener_flows.py | 3 +- .../worker/v1/flows/test_load_balancer_flows.py | 6 +- .../worker/v1/flows/test_member_flows.py | 15 +- .../worker/v1/tasks/test_amphora_driver_tasks.py | 6 +- .../controller/worker/v1/tasks/test_cert_task.py | 9 +- .../worker/v1/tasks/test_compute_tasks.py | 113 ++- .../worker/v1/tasks/test_database_tasks.py | 100 +- .../worker/v1/tasks/test_database_tasks_quota.py | 2 +- .../worker/v1/tasks/test_lifecycle_tasks.py | 2 +- .../controller/worker/v1/tasks/test_model_tasks.py | 2 +- .../worker/v1/tasks/test_network_tasks.py | 33 +- .../controller/worker/v1/test_controller_worker.py | 120 ++- .../worker/v2/flows/test_amphora_flows.py | 125 ++- .../worker/v2/flows/test_health_monitor_flows.py | 14 +- .../worker/v2/flows/test_l7policy_flows.py | 7 +- .../worker/v2/flows/test_l7rule_flows.py | 19 +- .../worker/v2/flows/test_listener_flows.py | 16 +- .../worker/v2/flows/test_load_balancer_flows.py | 40 +- .../worker/v2/flows/test_member_flows.py | 34 +- .../controller/worker/v2/flows/test_pool_flows.py | 17 +- .../worker/v2/tasks/test_amphora_driver_tasks.py | 250 +++-- .../controller/worker/v2/tasks/test_cert_task.py | 11 +- .../worker/v2/tasks/test_compute_tasks.py | 224 +++-- .../worker/v2/tasks/test_database_tasks.py | 624 +++++++----- .../worker/v2/tasks/test_database_tasks_quota.py | 72 +- .../worker/v2/tasks/test_lifecycle_tasks.py | 81 +- .../controller/worker/v2/tasks/test_model_tasks.py | 44 - .../worker/v2/tasks/test_network_tasks.py | 512 ++++++---- .../controller/worker/v2/test_controller_worker.py | 983 +++++++++--------- .../drivers/neutron/test_allowed_address_pairs.py | 3 +- .../unit/network/drivers/neutron/test_base.py | 69 +- .../network/drivers/test_network_noop_driver.py | 2 +- .../unit/volume/drivers/test_cinder_driver.py | 2 +- octavia/volume/volume_base.py | 5 +- playbooks/image-build/run.yaml | 2 +- .../add-default-ciphers-2eb70b34290711be.yaml | 7 + ...dd-healthcheck-middleware-6c09150bddd3113f.yaml | 6 + ...obboard-based-controller-599279c7cc172e955.yaml | 7 + .../add-protocol-validation-0f9129a045e372ce.yaml | 5 + .../add-support-for-centos-8-e0730de5d20a48be.yaml | 4 + ...nal-udp-healthcheck-types-2414a5edee9f5110.yaml | 5 + .../allow-invisible-subnets-e30b0b5fbd216294.yaml | 16 + ...nt-py3-cert-upload-binary-74e0ab35c5a85c68.yaml | 11 + .../availability-zone-api-a28ff5e00bdcc69a.yaml | 6 + ...erride-valid-vip-networks-5566aa4769c158dc.yaml | 5 + ...client-auth-vulnerability-6803f4bac2508e4c.yaml | 5 + ...skimage-create-git-branch-9c44e7e3fa70a985.yaml | 5 + .../notes/drop-python-2-7-a6b3f456bf6a3da7.yaml | 5 + .../fix-SNI-single-process-879ffce5eaa6c1c3.yaml | 6 + .../fix-certs-ramfs-race-561f355d13fc6d14.yaml | 14 + ...lient-auth-single-process-749af7791454ff03.yaml | 6 + ...ix-house-keeping-shutdown-17b04417a2c4849f.yaml | 6 + ...ix-lb-update-with-no-data-abefe7860b8fb4c7.yaml | 5 + ...er-capabilities-filtering-8bd12b2cf7b37a84.yaml | 4 + ...ra-images-interface-files-5ba1be40c65940d9.yaml | 8 + ...-worker-graceful-shutdown-c44b6797637aa1b3.yaml | 9 + ...a-to-loadbalancer-earlier-ab3dddec48b8da96.yaml | 9 + .../notes/pool-ciphers-73a347942e31788b.yaml | 7 + .../support-az-on-lb-create-562dcf639bb272ea.yaml | 15 + ...-based-on-correct-setting-6a60856de2927ccd.yaml | 5 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 405 +++++++- releasenotes/source/train.rst | 6 + requirements.txt | 16 +- setup.cfg | 10 +- test-requirements.txt | 12 +- tools/misc-sanity-checks.sh | 4 +- tools/pkcs7_to_pem.py | 21 +- tox.ini | 70 +- zuul.d/jobs.yaml | 42 +- zuul.d/projects.yaml | 86 +- 424 files changed, 16668 insertions(+), 5557 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 239b8f99..050e01d5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6 +6 @@ cotyledon>=1.3.0 # Apache-2.0 -pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD +pecan>=1.3.2 # BSD @@ -8,0 +9 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT +SQLAlchemy-Utils>=0.30.11 @@ -16,2 +17 @@ python-neutronclient>=6.7.0 # Apache-2.0 -WebOb>=1.7.1 # MIT -six>=1.10.0 # MIT +WebOb>=1.8.2 # MIT @@ -25 +25 @@ oslo.messaging>=6.3.0 # Apache-2.0 -oslo.middleware>=3.31.0 # Apache-2.0 +oslo.middleware>=4.0.1 # Apache-2.0 @@ -41,3 +41,2 @@ Jinja2>=2.10 # BSD License (3 clause) -taskflow>=2.16.0 # Apache-2.0 -diskimage-builder!=1.6.0,!=1.7.0,!=1.7.1,>=1.1.2 # Apache-2.0 -futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD +taskflow>=4.1.0 # Apache-2.0 +diskimage-builder>=2.24.0 # Apache-2.0 @@ -49 +48 @@ debtcollector>=1.19.0 # Apache-2.0 -octavia-lib>=1.3.1 # Apache-2.0 +octavia-lib>=2.0.0 # Apache-2.0 @@ -57 +55,0 @@ netifaces>=0.10.4 # MIT -ipaddress>=1.0.17;python_version<'3.3' # PSF diff --git a/test-requirements.txt b/test-requirements.txt index 8e8b4466..7d827764 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4 +4 @@ -hacking>=1.1.0 # Apache-2.0 +hacking>=3.0 # Apache-2.0 @@ -9 +8,0 @@ flake8-import-order==0.12 # LGPLv3 -mock>=2.0.0 # BSD @@ -12,2 +11 @@ oslotest>=3.2.0 # Apache-2.0 -pylint==1.9.2;python_version<'3.0' # GPLv2 -pylint>=1.9.2;python_version>='3.0' # GPLv2 +pylint>=2.2.0 # GPLv2 @@ -19 +17 @@ doc8>=0.6.0 # Apache-2.0 -bandit>=1.1.0 # Apache-2.0 +bandit!=1.6.0,>=1.1.0 # Apache-2.0 @@ -22,2 +20,2 @@ tempest>=17.1.0 # Apache-2.0 -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 +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD +bashate>=0.5.1 # Apache-2.0
participants (1)
-
no-reply@openstack.org