We are jazzed to announce the release of: octavia 10.0.0: OpenStack Octavia Scalable Load Balancer as a Service This release is part of the yoga 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 9.0.0..10.0.0 -------------------------------- bcd5a600 Add Python3 yoga unit tests 145f4f80 Fix Amphora RSyslog configuration for TCP failover 0d9674bd Add the PROMETHEUS protocol to listeners 17a79b7e Fix unplugging member ports c523b19f Fix amphora-agent elements for RHEL9 4dc9a7ec Add missing release note for commit 0a9f3a8 d350f090 Fix detection of member operating status DRAIN 4c5e798c Fix wrong SQL statements in documentation 2323797a Fix ipv6 interface configuration 74a7cbe1 Use centos amphora image in the FIPS jobs 1383c8c9 Remove redundant override of project_id in RequestContext fbcb8423 Fix callback method interface to remove warning by tenacity 791fbfce Fix devstack on centos-9-stream 0a9f3a8e Add support for Centos 9 Stream 14f66646 Add fips jobs 4ce30395 Remove ureadahead package 4388ae7f Optimize DB object to provider dict conversions cbffae6e Restart rsyslog from cloud-init 36a642d9 Update scripts to use fips allowed algorithms 80acf3be Fix typo in config option name f13c3ca6 Add keepalive for redis-based taskflow boards 0e0ee81e Updating python testing classifier as per Yoga testing runtime 5135d70a Fix new pylint issues 4791cfe9 Fix nft command line with negative priority values f196ca44 Fix amphora image size display in diskimage-create.sh script 237d4436 Mock log_opt_values in API tests & fix auth_url in devstack 76617f88 Switch centos8 jobs to centos-8-stream 5e19e345 More logging during load balancer creation. 4b8b198f Fix LB set in ERROR too early in the revert flow 81134bdf Fix failover of az-specific loadbalancers 20437884 Workaround to fix amphora-agent on centos 1b15e1ef Preserve haproxy server states during reloads 8ac5aa7c Fix docs jobs and pep8 errors with pylint 2.6.2 421eecd1 Increase TCP buffer maximum and MTU discovery b41b275b Fix management network selection when calculating deltas d78d3209 Update master for stable/xena ba5b4a7f Fix some new pylint errors 06a1862a fix amphora-agent-install script, typo, heath -> health 98efe976 Add Python3 xena unit tests Diffstat (except docs and test files) ------------------------------------- .pylintrc | 1 + api-ref/source/parameters.yaml | 2 +- bin/create_dual_intermediate_CA.sh | 10 +- bin/create_single_CA_intermediate_CA.sh | 6 +- devstack/files/rpms/octavia | 2 +- devstack/plugin.sh | 7 +- diskimage-create/README.rst | 2 + diskimage-create/diskimage-create.sh | 14 +- .../feature-matrix-listener.ini | 8 + .../75-amphora-agent-install | 8 +- .../prometheus-proxy.conf | 19 + .../prometheus-proxy.init | 65 ++ .../prometheus-proxy.service | 14 + elements/amphora-agent/package-installs.yaml | 1 - elements/amphora-agent/pkg-map | 26 +- .../12-enable-prometheus-proxy-systemd | 12 + .../static/etc/NetworkManager/conf.d/dns-none.conf | 4 + .../static/usr/local/bin/lvs-masquerade.sh | 8 +- elements/amphora-fips/README.rst | 7 + elements/amphora-fips/element-deps | 4 + elements/amphora-fips/environment.d/95-enable-fips | 28 + elements/amphora-fips/package-installs.yaml | 2 + elements/amphora-fips/pkg-map | 10 + .../amphora-fips/post-install.d/10-enable-fips | 22 + .../post-install.d/20-haproxy-tune-kernel | 9 +- .../haproxy-octavia/pre-install.d/01-repositories | 2 +- .../finalise.d/99-disable-resolv-conf | 7 +- etc/octavia.conf | 5 +- lower-constraints.txt | 4 +- .../backends/agent/api_server/loadbalancer.py | 2 + .../agent/api_server/templates/systemd.conf.j2 | 1 + octavia/amphorae/backends/agent/api_server/util.py | 4 + octavia/amphorae/backends/utils/haproxy_query.py | 21 +- octavia/amphorae/backends/utils/interface.py | 22 + .../amphorae/backends/utils/ip_advertisement.py | 42 +- .../amphorae/backends/utils/network_namespace.py | 1 - octavia/amphorae/drivers/health/heartbeat_udp.py | 2 - octavia/api/app.py | 2 +- octavia/api/drivers/amphora_driver/v1/driver.py | 1 + octavia/api/drivers/amphora_driver/v2/driver.py | 1 + .../api/drivers/driver_agent/driver_listener.py | 1 + octavia/api/root_controller.py | 5 +- octavia/api/v2/controllers/amphora.py | 2 +- octavia/api/v2/controllers/l7policy.py | 6 + octavia/api/v2/controllers/listener.py | 74 +- octavia/api/v2/controllers/pool.py | 3 + octavia/cmd/prometheus_proxy.py | 825 +++++++++++++++++++ octavia/common/base_taskflow.py | 20 +- octavia/common/config.py | 5 +- octavia/common/constants.py | 6 +- octavia/common/context.py | 11 +- octavia/common/exceptions.py | 5 + .../jinja/haproxy/combined_listeners/jinja_cfg.py | 24 +- .../haproxy/combined_listeners/templates/base.j2 | 3 + .../combined_listeners/templates/haproxy.cfg.j2 | 21 + .../haproxy/combined_listeners/templates/macros.j2 | 11 +- .../logging/templates/10-rsyslog.conf.template | 36 +- .../templates/user_data_config_drive.template | 5 + octavia/common/validate.py | 2 +- octavia/compute/drivers/nova_driver.py | 9 +- octavia/controller/healthmanager/health_manager.py | 1 - octavia/controller/worker/amphora_rate_limit.py | 4 +- .../controller/worker/v1/flows/amphora_flows.py | 2 +- .../worker/v1/flows/load_balancer_flows.py | 2 +- .../worker/v1/tasks/amphora_driver_tasks.py | 8 - .../controller/worker/v1/tasks/compute_tasks.py | 4 +- .../controller/worker/v1/tasks/database_tasks.py | 66 +- .../controller/worker/v1/tasks/network_tasks.py | 40 +- octavia/controller/worker/v2/controller_worker.py | 96 +-- .../controller/worker/v2/flows/amphora_flows.py | 6 +- .../worker/v2/flows/load_balancer_flows.py | 2 +- .../worker/v2/tasks/amphora_driver_tasks.py | 10 - .../controller/worker/v2/tasks/compute_tasks.py | 10 +- .../controller/worker/v2/tasks/database_tasks.py | 101 +-- .../controller/worker/v2/tasks/network_tasks.py | 37 +- ...ac558d7fc21_add_prometheus_listener_protocol.py | 45 ++ .../drivers/neutron/allowed_address_pairs.py | 17 + .../agent/api_server/test_haproxy_compatibility.py | 4 +- .../amphorae/backends/utils/test_haproxy_query.py | 6 +- .../unit/amphorae/backends/utils/test_interface.py | 54 +- .../haproxy/combined_listeners/test_jinja_cfg.py | 109 ++- .../common/jinja/logging/test_logging_jinja_cfg.py | 53 +- .../unit/common/jinja/test_user_data_jinja_cfg.py | 18 +- .../sample_configs/sample_configs_combined.py | 14 +- .../worker/v1/tasks/test_amphora_driver_tasks.py | 39 +- .../worker/v1/tasks/test_database_tasks.py | 78 +- .../worker/v2/flows/test_amphora_flows.py | 3 +- .../worker/v2/tasks/test_amphora_driver_tasks.py | 39 +- .../worker/v2/tasks/test_compute_tasks.py | 41 +- .../worker/v2/tasks/test_database_tasks.py | 93 +-- .../worker/v2/tasks/test_network_tasks.py | 6 +- .../controller/worker/v2/test_controller_worker.py | 50 +- .../drivers/neutron/test_allowed_address_pairs.py | 72 +- playbooks/enable-fips.yaml | 3 + .../Add-PROMETHEUS-listeners-1b3924680b409a1a.yaml | 11 + ...mtu-black-hole-detection.-0640432a7202400f.yaml | 5 + ...-support-rsyslog-failover-f8bf00e0bf0fc27e.yaml | 5 + ...syslog-config-is-reloaded-b4a25a98b661d0f1.yaml | 6 + ...terval-config-option-name-6fce9ea68803540c.yaml | 12 + ...o-support-centos-stream-9-e4c8599ae152d396.yaml | 4 + ...amphora-to-support-rhel-9-b10091e81b48533a.yaml | 4 + ...ix-drain-status-detection-b9395fa4fe8c936f.yaml | 5 + ...6-interface-configuration-61b1bd7d2c962cea.yaml | 5 + ...asks-with-redis-keepalive-af18211334c14f54.yaml | 8 + ...perating-status-on-reload-fe3688603bae8726.yaml | 5 + ...isioning-status-on-errors-7f3736ef6e94d453.yaml | 9 + ...x-unplugging-member-ports-262b35426e570edd.yaml | 7 + releasenotes/source/index.rst | 1 + releasenotes/source/xena.rst | 6 + requirements.txt | 3 +- setup.cfg | 2 + tox.ini | 1 - zuul.d/jobs.yaml | 55 +- zuul.d/projects.yaml | 12 +- 131 files changed, 4117 insertions(+), 731 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 424ff257..e16be6f8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -29,0 +30 @@ oslo.utils>=4.7.0 # Apache-2.0 +psutil>=5.7.1 # BSD @@ -44 +45 @@ jsonschema>=3.2.0 # MIT -octavia-lib>=2.3.0 # Apache-2.0 +octavia-lib>=2.5.0 # Apache-2.0