[release-announce] octavia 3.0.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Thu Aug 30 14:33:34 UTC 2018


We jubilantly announce the release of:

octavia 3.0.0: OpenStack Octavia Scalable Load Balancer as a Service

This release is part of the rocky release series.

Download the package from:

    https://pypi.org/project/octavia

For more details, please see below.

3.0.0
^^^^^


Deprecation Notes
*****************

* Finally completely the remove user_group option, as it was
  deprecated in Pike.


Security Issues
***************

* Adds a configuration option, "reserved_ips" that allows the
  operator to block addresses from being used in load balancer
  members. The default setting blocks the nova metadata service
  address.

Changes in octavia 2.0.0.0rc1..3.0.0
------------------------------------

8d74497 Remove user_group option
d089851 Fix Octavia for host host routes
53fab8d Disable KVM at OVH
f746732 Fix neutron "tenat_id" compatibility
0957d25 Allow blocking IPs from member addresses
50ea748 "Resolve" bandit issue with sha1 hashes
f108038 Update UPPER_CONSTRAINTS_FILE for stable/rocky
de9ddb1 Update .gitreview for stable/rocky
5022588 Fix UDP release note for CentOS
a166c89 [UDP] Fix failed member always in DRAIN status
cc97397 Followup patch for UDP support
4c6846a UDP for [3][5][6]
a890f2b UDP for [2]
aaa7fbc Clarify that the driver support library is interim
008ccb6 UDP jinja template
a4b1783 Delete amphora regardless of status
97017bf Fix the bionic gate to actually run Ubuntu bionic
47bafec Updates the amphora driver for new commit model
c3813d9 Automatically set Barbican ACLs
aa5e5be Add listener_id to the pool provider object
bd0206a Correct naming for quota resources
4688739 Add baseline object in the drivers update callbacks
ee1ed74 Init provider drivers at app setup
88649d9 Fix DIB_REPOREF_amphora_agent not set on Git !=1.8.5
cfae79c Fixing Octavia generating json named file containing yaml
0139f12 Fix failover when multiple amphora have failed
9ca61f2 Temporarily disable flow diagraming
73ddf9d Correct the usage on listing neutron ports
b9e050c Update pypi url to new url
294e0fc Fixes unlimited listener connection limit
1924369 Use object instead of object id in the drivers delete callbacks
5785b97 Cleanup Octavia create VIP ports on LB delete
0871dfc Add lb_id comment to amp haproxy listener config
1c4004c Translate expected package names to installed ones
2a7f1e5 Fix package version querying on non-dpkg distros
7edad93 Add release note for HMAC python3 fix
1e4155f Add a config to surpress amphora logging
8ef1b13 Add the missing markup for the hyperlink title
5b747c5 Use openstack client command to replace nova client
fa73085 Allow setting load balancer topology in Devstack
4a9f83d Implement provider drivers - Driver Library
0e5c471 [doc] Add the missing markup for the hyperlink title
195aba3 Follow the new PTI for document build
87fca27 Fix version discovery for the Octavia API
32ceaec [doc]Use openstack client commands to replace nova client
d959dab Add the missing markup for the hyperlink title
0ca412e Improve resource quota response message
464d8f9 Introduce ipvsadm to the amphora image
81f2ebb Ignore a port not found when deleting an LB
1fa91ab [amphora-agent] add local net to routing table 1
fd20d06 Fix fields translation on filtering
5021e0f Enable oslo_config mutable configurations
14cb07f Move from platform.linux_distribution to distro.id
16cb360 Re-enable KVM
0322cbc fix tox python3 overrides
7128d73 Add exception handling for housekeeping service
86e5b93 Add upgrade guide
f591509 Clarify IPv6 support for the lb-mgmt-net
c64a457 Exclude amphora instances already DELETED when failover loadbalancer
7564834 Fix configured haproxy restarts
caf6535 Providers: propose changes to create pool API
bfba887 Change tox.ini coverage to always generate html
bd59e6f Make octavia-grenade job voting
6a8799c Add error logging for amphora agent exceptions
5cef93d Fix health manager to be spare amphora aware
d3f0a50 Adding support for the octavia listener X-Forwarded-Proto header insertion.
e1e1640 Add health monitor API validation
5cbf974 Exclude limestone from running with kvm
58b7d9a Stop logging API not found as ERROR
5af7133 Align logging on oslo_log
13eab15 Add grenade support
852191f Allow using spaces for primary common name in SSL certificates
1417f6f Improve the error logging for zombie amphora
254d4d4 When SG delete fails on vip deallocate, try harder
52eaaa7 Amend the spelling error of a word
596a600 Remove a duplicated key in unit test dict
96cce3e Fix amp failover where failover already failed
97a168c Providers: propose changes to API
6349976 Implement provider drivers - Cleanup
0fd2d35 Implement provider drivers - L7 Rules
1bcd5ef Fix listener update race with default pool removal
9ba10b0 Implement provider drivers - L7 Policy
ef7a56d Implement provider drivers - Health Monitor
48e8556 Allow DB retries on controller_worker creates
fdc96d9 Use HMAC.hexdigest to avoid non-ascii characters for package data
190f682 Fix requirements gate + add local tox profile
77b6e1b Octavia devstack plugin API mode
438084c Implement provider drivers - Members
5a78051 Add coverage.xml output for PTI compliance
0acb622 Implement provider drivers - Pool
7a24b08 Implement provider drivers - Listener
7b2621f Implement provider drivers - Load Balancer
00f2bc4 Add release notes link to README
4e3810c Fix amphora failover API to work with spares
9b98197 Mark LBs in failover PENDING_UPDATE
d28d311 Add config for disabling creation of PING type HMs
f8ec935 Fix releasenotes build in tox
505543f Fix typo
d786bf4 Add tenant_id back to objects for backwards compat
bdd9c6f Replace port 35357 with 5000 for "auth_url"
6e2668d Increase devstack neutron secgroups quota to 100
7153c4a Trivial: Update pypi url to new url
344967a Let healthmanager process shutdown cleanly (again)
9c6e9e3 Fix sphinx-docs job for sphinx >1.7
c6ff859 Create disabled members in haproxy
7a702fc Add raw format support to image creator script.
13d0afc Use openstack client commands to replace neutron client
931a531 Devstack plugin: Check for IPv6 support
267114f Healthmanager shouldn't update NO_MONITOR members
ea9aa51 Slightly reorder member flows
6ebb0d5 Fix periodic job
777a845 Updates the docs with new admin tips
84ef448 Allow fields filter on single object GETs
b0a8455 Update HAProxy version for Centos
fe92dab Correct field filtering for member/l7rule/amphora
8e2f751 Improve Health Manager error handling
3ab7723 Create noop provider driver and data model
8b94afd Creates provider driver base class and exceptions
b4632d7 Remove PluggedVIPNotFound references
aa1b32d Fix keepalived vrrp check script to be in PATH
7293dd9 Fix lower-constraints to actually match our reqs
791f523 Health Monitor url_path requires leading slash
555c057 Pool PUT should validate name/description length
86da7a8 Correct flavor to flavor_id in LB API
97c0eab Fix calls to "DELETED" items
c5c7770 Add sos element to Red Hat family images
240478a Adding Gophercloud to the SDKs list
655c31d Trivial: fix syntax error in command examples
7b8ad36 Add Octavia v2 tempest plugin jobs to Octavia
f935a51 Switch to ubuntu-minimal for default amphora image
be505cd Fix statistics update typo
f66f08f Install client from pip if not in LIBS_FROM_GIT
dda45f0 Add pool session persistence validation
cf296c2 Update auth_uri option to www_authenticate_uri
68e425e Improve some log messages in health_monitor.py
922c79f Add API alias for '/statuses'
ae1ab56 Move o-hm0 dhcp config under /etc/dhcp
b1b62d3 Update introduction documention page
093d60d Add debug timing logging to amphora health update
d4474e8 Make keepalived initialization more predictable
1ed8f30 Minor refactor of health_sender.py
798be31 Defend against neutron error response missing keys
bb0447e Expose timeout options
54f590b Fix revert method for batch member update
315bc24 Correctly validate member subnet_id in batches
e819e45 Allow members to be set as "backup"
aab5e66 Update API-REF for x-forwarded-port is string
538cfdd Fix a no-op network driver bug on plug_port
592d179 Set lower-constraint to run unit and functional
c8918b4 Add deadlock retry wrapper for inital quota create
02a60c7 Fix logging level for keystone auth bypass
24f7ebc Fixes the directory we copy the image to
f7f8050 Don't failover amphora with LB in PENDING_*
026b8e5 The MarkL7PolicyActiveInDB is not necessary when l7policy deleted
ca6ef76 add lower-constraints job
1a35d6d Fix health manager edge case with zombie amphora
e5491df Switch multinode tests to non-voting
2a94e10 Change used keystone token provider in devstack
02c7a1d Rename python-openstacksdk to openstacksdk
cf97a40 Updated from global requirements
b3b5a42 fix a typo in documentation
8ae92fd Updated from global requirements
949261f Add a devstack variable for legacy RBAC
e5f0a1c Periodic job to build + publish diskimage
c2dbd82 Updated from global requirements
24cd007 Log health manager exceptions
414eeb6 Log output of subprocess check_output() errors
388f6a8 Reduce runtime for l7rule too_many_rules test
75a15c7 Updated from global requirements
a1e443c Properly test access to tls_refs in the API layer
53dc41d Devstack plugin image build option quoting fix
9ec8c65 Fix functional jobs
dd5c693 Change import order
d871c2a Reduce stestr concurrency to 1 for tempest jobs
649b33d Add license for empty __init__.py
6eb4c1f Rename q- to neutron- services
c71298a Move scenario-lxd over to experimental
303b339 Split up extra init steps and start processes
ad196ef Updated from global requirements
1020a3b Fix kvm-centos.7 gate
7f3506b Migrate to stestr
7152fc2 Updated from global requirements
a35637c Imported Translations from Zanata
6ee20b2 Add image_id to amphora table
2e7d9c6 Add timestamps to amphora table
bf9dffc Update configuration samples (QoS)
d1e9c56 Fix network no-op driver get_network_configs
f9dafb9 Overhaul HealthManager update threading
06f1dcd Updated from global requirements
a6896f2 Fix filtering by admin_state_up
8cca5de Fix load balancers using IPv6 for the VIP subnet
2d20628 Updates API for deleting "DELETED" objects
4120ad7 Fix missing test-requirement and cleanup docs
0a8808b Update reno for stable/queens
5f9c2c3 Enable hacking-extensions H204, H205
579eaaf Do not install pip in amphora when using distribution packages


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

.gitreview                                         |    1 +
.pylintrc                                          |    8 +-
.testr.conf                                        |    5 -
README.rst                                         |    5 +-
api-ref/source/examples/versions-get-resp.json     |   37 +-
api-ref/source/index.rst                           |   16 +-
api-ref/source/parameters.yaml                     |  120 +-
api-ref/source/v1/octaviaapi.rst                   |    4 +-
api-ref/source/v2/amphora.inc                      |   12 +-
api-ref/source/v2/examples/amphora-failover-curl   |    2 +-
api-ref/source/v2/examples/amphora-list-curl       |    2 +-
.../source/v2/examples/amphora-list-response.json  |   10 +-
api-ref/source/v2/examples/amphora-show-curl       |    2 +-
.../source/v2/examples/amphora-show-response.json  |    5 +-
.../source/v2/examples/healthmonitor-create-curl   |    2 +-
.../source/v2/examples/healthmonitor-delete-curl   |    2 +-
api-ref/source/v2/examples/healthmonitor-list-curl |    2 +-
api-ref/source/v2/examples/healthmonitor-show-curl |    2 +-
.../source/v2/examples/healthmonitor-update-curl   |    2 +-
api-ref/source/v2/examples/l7policies-list-curl    |    2 +-
api-ref/source/v2/examples/l7policy-create-curl    |    2 +-
api-ref/source/v2/examples/l7policy-delete-curl    |    2 +-
api-ref/source/v2/examples/l7policy-show-curl      |    2 +-
api-ref/source/v2/examples/l7policy-update-curl    |    2 +-
api-ref/source/v2/examples/l7rule-create-curl      |    2 +-
api-ref/source/v2/examples/l7rule-delete-curl      |    2 +-
api-ref/source/v2/examples/l7rule-show-curl        |    2 +-
api-ref/source/v2/examples/l7rule-update-curl      |    2 +-
api-ref/source/v2/examples/l7rules-list-curl       |    2 +-
api-ref/source/v2/examples/listener-create-curl    |    2 +-
.../v2/examples/listener-create-request.json       |    6 +-
.../v2/examples/listener-create-response.json      |    6 +-
api-ref/source/v2/examples/listener-delete-curl    |    2 +-
api-ref/source/v2/examples/listener-show-curl      |    2 +-
.../source/v2/examples/listener-show-response.json |    6 +-
api-ref/source/v2/examples/listener-stats-curl     |    2 +-
api-ref/source/v2/examples/listener-update-curl    |    2 +-
.../v2/examples/listener-update-request.json       |    6 +-
.../v2/examples/listener-update-response.json      |    6 +-
api-ref/source/v2/examples/listeners-list-curl     |    2 +-
.../v2/examples/listeners-list-response.json       |    6 +-
.../source/v2/examples/loadbalancer-create-curl    |    2 +-
.../v2/examples/loadbalancer-create-response.json  |    2 +-
.../source/v2/examples/loadbalancer-delete-curl    |    2 +-
.../source/v2/examples/loadbalancer-failover-curl  |    2 +-
.../examples/loadbalancer-full-create-request.json |    2 +-
.../loadbalancer-full-create-response.json         |    2 +-
api-ref/source/v2/examples/loadbalancer-show-curl  |    2 +-
.../v2/examples/loadbalancer-show-response.json    |    2 +-
api-ref/source/v2/examples/loadbalancer-stats-curl |    2 +-
.../source/v2/examples/loadbalancer-status-curl    |    2 +-
.../source/v2/examples/loadbalancer-update-curl    |    2 +-
.../v2/examples/loadbalancer-update-response.json  |    2 +-
api-ref/source/v2/examples/loadbalancers-list-curl |    2 +-
.../v2/examples/loadbalancers-list-response.json   |    2 +-
.../source/v2/examples/member-batch-update-curl    |    2 +-
api-ref/source/v2/examples/member-create-curl      |    2 +-
.../source/v2/examples/member-create-request.json  |    3 +-
.../source/v2/examples/member-create-response.json |    1 +
api-ref/source/v2/examples/member-delete-curl      |    2 +-
api-ref/source/v2/examples/member-show-curl        |    2 +-
.../source/v2/examples/member-show-response.json   |    1 +
api-ref/source/v2/examples/member-update-curl      |    2 +-
.../source/v2/examples/member-update-request.json  |    3 +-
.../source/v2/examples/member-update-response.json |    1 +
api-ref/source/v2/examples/members-list-curl       |    2 +-
.../source/v2/examples/members-list-response.json  |    1 +
api-ref/source/v2/examples/pool-create-curl        |    2 +-
api-ref/source/v2/examples/pool-delete-curl        |    2 +-
api-ref/source/v2/examples/pool-show-curl          |    2 +-
api-ref/source/v2/examples/pool-update-curl        |    2 +-
api-ref/source/v2/examples/pools-list-curl         |    2 +-
api-ref/source/v2/examples/provider-list-curl      |    1 +
.../source/v2/examples/provider-list-response.json |   12 +
api-ref/source/v2/examples/quota-reset-curl        |    2 +-
api-ref/source/v2/examples/quota-show-curl         |    2 +-
api-ref/source/v2/examples/quota-update-curl       |    2 +-
.../source/v2/examples/quota-update-request.json   |    4 +-
.../source/v2/examples/quota-update-response.json  |    4 +-
api-ref/source/v2/examples/quotas-defaults-curl    |    2 +-
.../v2/examples/quotas-defaults-response.json      |    4 +-
api-ref/source/v2/examples/quotas-list-curl        |    2 +-
.../source/v2/examples/quotas-list-response.json   |    4 +-
.../source/v2/examples/quotas-show-response.json   |    4 +-
api-ref/source/v2/general.inc                      |   64 +-
api-ref/source/v2/healthmonitor.inc                |   14 +-
api-ref/source/v2/index.rst                        |   11 +-
api-ref/source/v2/l7policy.inc                     |   14 +-
api-ref/source/v2/l7rule.inc                       |   12 +-
api-ref/source/v2/listener.inc                     |   70 +-
api-ref/source/v2/loadbalancer.inc                 |   42 +-
api-ref/source/v2/member.inc                       |   23 +-
api-ref/source/v2/pool.inc                         |   16 +-
api-ref/source/v2/provider.inc                     |   51 +
api-ref/source/v2/quota.inc                        |   30 +-
devstack/contrib/new-octavia-devstack.sh           |    6 +-
devstack/files/debs/octavia                        |    1 +
devstack/files/rpms/octavia                        |    1 +
devstack/plugin.sh                                 |  217 +--
devstack/samples/multinode/local-2.conf            |    8 +-
devstack/samples/multinode/local.conf              |   16 +-
devstack/samples/singlenode/local.conf             |   18 +-
devstack/settings                                  |   10 +-
devstack/upgrade/resources.sh                      |  128 ++
devstack/upgrade/settings                          |   11 +
devstack/upgrade/shutdown.sh                       |   24 +
devstack/upgrade/upgrade.sh                        |   70 +
devstack/upgrade/vm_user_data.sh                   |    4 +
diskimage-create/diskimage-create.sh               |   35 +-
elements/amphora-agent/element-deps                |    1 -
.../75-amphora-agent-install                       |   15 +-
elements/amphora-agent/package-installs.yaml       |   42 +
elements/amphora-agent/pkg-map                     |    3 +-
elements/haproxy-octavia/package-installs.json     |    3 +-
elements/haproxy-octavia/pkg-map                   |    6 +
.../post-install.d/20-haproxy-tune-kernel          |    7 +-
.../haproxy-octavia/pre-install.d/01-backports     |    8 +
elements/ipvsadmin/README.rst                      |    3 +
elements/ipvsadmin/element-deps                    |    2 +
elements/ipvsadmin/package-installs.json           |    3 +
elements/ipvsadmin/svc-map                         |    2 +
.../finalise.d/98-rebind-sshd-after-dhcp           |    1 +
elements/sos/README.rst                            |   11 +
elements/sos/element-deps                          |    2 +
elements/sos/package-installs.yaml                 |    1 +
elements/sos/pkg-map                               |   10 +
etc/octavia.conf                                   |   46 +-
etc/policy/octavia-policy-generator.conf           |    3 +-
lower-constraints.txt                              |  171 ++
octavia/__init__.py                                |    3 +-
octavia/amphorae/__init__.py                       |   11 +
octavia/amphorae/backends/__init__.py              |   11 +
octavia/amphorae/backends/agent/__init__.py        |   11 +
octavia/amphorae/backends/agent/agent_jinja_cfg.py |    6 +-
.../backends/agent/api_server/amphora_info.py      |  121 +-
.../agent/api_server/haproxy_compatibility.py      |    3 +-
.../backends/agent/api_server/keepalived.py        |   25 +-
.../backends/agent/api_server/keepalivedlvs.py     |  357 ++++
.../amphorae/backends/agent/api_server/listener.py |   79 +-
.../amphorae/backends/agent/api_server/osutils.py  |  111 +-
octavia/amphorae/backends/agent/api_server/plug.py |   22 +-
.../amphorae/backends/agent/api_server/server.py   |   39 +-
.../api_server/templates/amphora-netns.systemd.j2  |    6 +
.../api_server/templates/keepalived.systemd.j2     |    7 +-
.../api_server/templates/keepalived.sysvinit.j2    |    4 +
.../api_server/templates/keepalived.upstart.j2     |    4 +
.../templates/keepalived_lvs_check_script.sh.j2    |   21 +
.../api_server/templates/plug_port_ethX.conf.j2    |    8 +
.../api_server/templates/plug_vip_ethX.conf.j2     |   22 +-
.../rh_plug_port_eth_ifdown_local.conf.j2          |   19 +
.../templates/rh_plug_port_eth_ifup_local.conf.j2  |   19 +
.../api_server/templates/rh_route_ethX.conf.j2     |    1 +
.../agent/api_server/templates/systemd.conf.j2     |   26 +-
.../backends/agent/api_server/udp_listener_base.py |  123 ++
octavia/amphorae/backends/agent/api_server/util.py |  134 +-
.../agent/templates/amphora_agent_conf.template    |    2 +-
.../amphorae/backends/health_daemon/__init__.py    |   11 +
.../backends/health_daemon/health_daemon.py        |   35 +-
.../backends/health_daemon/health_sender.py        |   23 +-
.../backends/health_daemon/status_message.py       |   45 +-
octavia/amphorae/backends/utils/__init__.py        |   11 +
.../amphorae/backends/utils/keepalivedlvs_query.py |  421 +++++
octavia/amphorae/backends/utils/udp_check.sh       |    4 +
octavia/amphorae/driver_exceptions/__init__.py     |   11 +
octavia/amphorae/drivers/__init__.py               |   11 +
octavia/amphorae/drivers/driver_base.py            |   21 +-
octavia/amphorae/drivers/haproxy/__init__.py       |   11 +
octavia/amphorae/drivers/haproxy/data_models.py    |    2 +-
octavia/amphorae/drivers/haproxy/exceptions.py     |   11 +
.../amphorae/drivers/haproxy/rest_api_driver.py    |  177 +-
octavia/amphorae/drivers/health/__init__.py        |   11 +
octavia/amphorae/drivers/health/heartbeat_udp.py   |   53 +-
octavia/amphorae/drivers/keepalived/__init__.py    |   11 +
.../amphorae/drivers/keepalived/jinja/__init__.py  |   11 +
.../drivers/keepalived/vrrp_rest_driver.py         |    5 +-
octavia/amphorae/drivers/noop_driver/__init__.py   |   11 +
octavia/amphorae/drivers/noop_driver/driver.py     |   13 +
octavia/api/__init__.py                            |   11 +
octavia/api/app.py                                 |   10 +
octavia/api/common/__init__.py                     |   11 +
octavia/api/common/pagination.py                   |    4 +-
octavia/api/common/types.py                        |   31 +
octavia/api/config.py                              |    5 +-
octavia/api/drivers/__init__.py                    |   11 +
octavia/api/drivers/amphora_driver/__init__.py     |   11 +
octavia/api/drivers/amphora_driver/driver.py       |  254 +++
octavia/api/drivers/data_models.py                 |  261 +++
octavia/api/drivers/driver_factory.py              |   50 +
octavia/api/drivers/driver_lib.py                  |  155 ++
octavia/api/drivers/exceptions.py                  |  148 ++
octavia/api/drivers/noop_driver/__init__.py        |   11 +
octavia/api/drivers/noop_driver/driver.py          |  335 ++++
octavia/api/drivers/provider_base.py               |  481 ++++++
octavia/api/drivers/utils.py                       |  405 +++++
octavia/api/handlers/__init__.py                   |   11 +
.../api/handlers/controller_simulator/__init__.py  |   11 +
.../api/handlers/controller_simulator/handler.py   |    4 +-
octavia/api/handlers/queue/__init__.py             |   11 +
octavia/api/root_controller.py                     |   53 +-
octavia/api/v1/__init__.py                         |   11 +
octavia/api/v1/controllers/base.py                 |    3 +-
octavia/api/v1/controllers/health_monitor.py       |   11 +-
octavia/api/v1/controllers/l7policy.py             |    9 +-
octavia/api/v1/controllers/l7rule.py               |    6 +-
octavia/api/v1/controllers/listener.py             |   18 +-
octavia/api/v1/controllers/load_balancer.py        |    6 +-
octavia/api/v1/controllers/member.py               |   10 +-
octavia/api/v1/controllers/pool.py                 |   20 +-
octavia/api/v1/controllers/quotas.py               |    3 +-
octavia/api/v1/types/__init__.py                   |   11 +
octavia/api/v2/__init__.py                         |   11 +
octavia/api/v2/controllers/__init__.py             |    6 +-
octavia/api/v2/controllers/amphora.py              |   55 +-
octavia/api/v2/controllers/base.py                 |   84 +-
octavia/api/v2/controllers/health_monitor.py       |  309 ++--
octavia/api/v2/controllers/l7policy.py             |  205 ++-
octavia/api/v2/controllers/l7rule.py               |  180 +-
octavia/api/v2/controllers/listener.py             |  290 +++-
octavia/api/v2/controllers/load_balancer.py        |  219 ++-
octavia/api/v2/controllers/member.py               |  243 +--
octavia/api/v2/controllers/pool.py                 |  260 ++-
octavia/api/v2/controllers/provider.py             |   50 +
octavia/api/v2/controllers/quotas.py               |    3 +-
octavia/api/v2/types/__init__.py                   |   11 +
octavia/api/v2/types/amphora.py                    |    3 +
octavia/api/v2/types/health_monitor.py             |   19 +-
octavia/api/v2/types/listener.py                   |   48 +
octavia/api/v2/types/load_balancer.py              |   15 +-
octavia/api/v2/types/member.py                     |    4 +
octavia/api/v2/types/pool.py                       |   24 +-
octavia/api/v2/types/provider.py                   |   26 +
octavia/api/v2/types/quotas.py                     |   25 +-
octavia/certificates/__init__.py                   |   11 +
octavia/certificates/common/__init__.py            |   11 +
octavia/certificates/common/auth/__init__.py       |   11 +
octavia/certificates/common/auth/barbican_acl.py   |   50 +-
octavia/certificates/common/barbican.py            |   20 +
octavia/certificates/common/pkcs12.py              |    1 +
octavia/certificates/generator/__init__.py         |   11 +
octavia/certificates/manager/__init__.py           |   11 +
octavia/certificates/manager/barbican.py           |    8 +
octavia/certificates/manager/barbican_legacy.py    |   56 +-
octavia/certificates/manager/castellan_mgr.py      |   10 +
octavia/certificates/manager/cert_mgr.py           |   19 +-
octavia/certificates/manager/local.py              |    8 +
octavia/cmd/__init__.py                            |   11 +
octavia/cmd/haproxy_vrrp_check.py                  |    2 +-
octavia/cmd/health_manager.py                      |   33 +-
octavia/cmd/house_keeping.py                       |   28 +-
octavia/cmd/octavia_worker.py                      |    2 +-
octavia/common/__init__.py                         |   11 +
octavia/common/config.py                           |   54 +-
octavia/common/constants.py                        |   77 +-
octavia/common/data_models.py                      |   42 +-
octavia/common/exceptions.py                       |   40 +-
octavia/common/jinja/__init__.py                   |   11 +
octavia/common/jinja/haproxy/__init__.py           |   11 +
octavia/common/jinja/haproxy/jinja_cfg.py          |   47 +-
octavia/common/jinja/haproxy/templates/base.j2     |   10 +-
.../common/jinja/haproxy/templates/haproxy.cfg.j2  |    3 +-
octavia/common/jinja/haproxy/templates/macros.j2   |   33 +-
octavia/common/jinja/lvs/__init__.py               |    0
octavia/common/jinja/lvs/jinja_cfg.py              |  200 +++
octavia/common/jinja/lvs/templates/base.j2         |   21 +
.../jinja/lvs/templates/keepalivedlvs.cfg.j2       |   28 +
octavia/common/jinja/lvs/templates/macros.j2       |  110 ++
octavia/common/keystone.py                         |   19 +-
octavia/common/policy.py                           |    3 +-
octavia/common/stats.py                            |    2 +-
octavia/common/tls_utils/__init__.py               |   11 +
octavia/common/tls_utils/cert_parser.py            |   15 +-
octavia/common/utils.py                            |   18 +-
octavia/common/validate.py                         |   47 +-
octavia/compute/__init__.py                        |   11 +
octavia/compute/drivers/__init__.py                |   11 +
octavia/compute/drivers/noop_driver/__init__.py    |   11 +
octavia/compute/drivers/nova_driver.py             |    3 +-
octavia/controller/__init__.py                     |   11 +
octavia/controller/healthmanager/__init__.py       |   11 +
.../healthmanager/health_drivers/__init__.py       |    0
.../healthmanager/health_drivers/update_base.py    |   27 +
.../healthmanager/health_drivers/update_db.py      |  452 +++++
.../healthmanager/health_drivers/update_logging.py |   29 +
octavia/controller/healthmanager/health_manager.py |   38 +-
octavia/controller/healthmanager/update_db.py      |  377 ----
octavia/controller/housekeeping/__init__.py        |   11 +
octavia/controller/housekeeping/house_keeping.py   |   20 +-
octavia/controller/queue/__init__.py               |   11 +
octavia/controller/worker/__init__.py              |   11 +
octavia/controller/worker/controller_worker.py     |  237 ++-
octavia/controller/worker/flows/__init__.py        |   11 +
octavia/controller/worker/flows/amphora_flows.py   |   86 +-
.../worker/flows/health_monitor_flows.py           |    4 -
octavia/controller/worker/flows/l7policy_flows.py  |    6 -
octavia/controller/worker/flows/l7rule_flows.py    |    4 -
octavia/controller/worker/flows/listener_flows.py  |    6 -
.../controller/worker/flows/load_balancer_flows.py |    6 -
octavia/controller/worker/flows/member_flows.py    |   24 +-
octavia/controller/worker/flows/pool_flows.py      |    4 -
octavia/controller/worker/task_utils.py            |    2 +-
octavia/controller/worker/tasks/__init__.py        |   11 +
.../worker/tasks/amphora_driver_tasks.py           |   66 +-
octavia/controller/worker/tasks/compute_tasks.py   |   14 +-
.../controller/worker/tasks/controller_tasks.py    |   50 -
octavia/controller/worker/tasks/database_tasks.py  |   26 +-
octavia/controller/worker/tasks/lifecycle_tasks.py |    1 -
octavia/controller/worker/tasks/network_tasks.py   |   56 +-
octavia/db/__init__.py                             |   11 +
octavia/db/base_models.py                          |   15 +-
octavia/db/migration/__init__.py                   |   11 +
octavia/db/migration/alembic_migrations/env.py     |    5 -
.../versions/034756a182a2_amphora_add_image_id.py  |   35 +
.../versions/0f242cf02c74_add_provider_column.py   |   37 +
.../0fd2c131923f_add_timeout_fields_to_listener.py |   50 +
.../10d38216ad34_add_timestamps_to_amphora.py      |   39 +
.../76aacf2e176c_extend_support_udp_protocol.py    |   62 +
.../ba35e0fb88e1_add_backup_field_to_member.py     |   34 +
...72b4e5e_add_octavia_owned_vip_column_to_vip_.py |   34 +
octavia/db/migration/cli.py                        |    4 +
octavia/db/models.py                               |   12 +-
octavia/db/prepare.py                              |   32 +-
octavia/db/repositories.py                         |  191 ++-
octavia/distributor/__init__.py                    |   11 +
octavia/distributor/drivers/__init__.py            |   11 +
.../distributor/drivers/noop_driver/__init__.py    |   11 +
octavia/hacking/__init__.py                        |   11 +
octavia/hacking/checks.py                          |   19 +-
octavia/network/__init__.py                        |   11 +
octavia/network/base.py                            |    8 +-
octavia/network/data_models.py                     |    1 +
octavia/network/drivers/__init__.py                |   11 +
octavia/network/drivers/neutron/__init__.py        |   11 +
.../drivers/neutron/allowed_address_pairs.py       |   93 +-
octavia/network/drivers/neutron/base.py            |   10 +
octavia/network/drivers/noop_driver/__init__.py    |   11 +
octavia/network/drivers/noop_driver/driver.py      |   30 +-
octavia/policies/__init__.py                       |    2 +
octavia/policies/amphora.py                        |    9 +-
octavia/policies/healthmonitor.py                  |   15 +-
octavia/policies/l7policy.py                       |   15 +-
octavia/policies/l7rule.py                         |   13 +-
octavia/policies/listener.py                       |   17 +-
octavia/policies/loadbalancer.py                   |   21 +-
octavia/policies/member.py                         |   13 +-
octavia/policies/pool.py                           |   15 +-
octavia/policies/provider.py                       |   30 +
octavia/policies/quota.py                          |   15 +-
.../functional/amphorae/backend/agent/__init__.py  |   11 +
.../amphorae/backend/agent/api_server/__init__.py  |   11 +
.../backend/agent/api_server/test_keepalivedlvs.py |  466 +++++
.../backend/agent/api_server/test_server.py        |  250 ++-
.../amphorae/backends/agent/api_server/__init__.py |   11 +
.../backends/agent/api_server/test_amphora_info.py |  218 +++
.../agent/api_server/test_haproxy_compatibility.py |   35 +-
.../agent/api_server/test_keepalivedlvs.py         |   66 +
.../backends/agent/api_server/test_listener.py     |   10 +-
.../backends/agent/api_server/test_osutils.py      |   49 +-
.../backends/agent/api_server/test_plug.py         |   46 +-
.../backends/agent/api_server/test_util.py         |  196 +++
.../backends/agent/test_agent_jinja_cfg.py         |   49 +-
.../amphorae/backends/health_daemon/__init__.py    |   11 +
.../backends/health_daemon/test_envelope.py        |   17 +
.../backends/health_daemon/test_health_daemon.py   |   60 +
.../backends/health_daemon/test_health_sender.py   |    8 +-
.../backends/utils/test_keepalivedlvs_query.py     |  393 +++++
.../unit/amphorae/drivers/haproxy/__init__.py      |   11 +
.../drivers/haproxy/test_rest_api_driver.py        |  235 ++-
.../amphorae/drivers/health/test_heartbeat_udp.py  |   84 +-
.../unit/amphorae/drivers/keepalived/__init__.py   |   11 +
.../amphorae/drivers/keepalived/jinja/__init__.py  |   11 +
.../test_noop_amphoraloadbalancer_driver.py        |   15 +
.../unit/api/drivers/amphora_driver/__init__.py    |   11 +
.../drivers/amphora_driver/test_amphora_driver.py  |  422 +++++
.../unit/api/drivers/test_provider_noop_driver.py  |  307 ++++
.../unit/api/v2/types/test_health_monitors.py      |   19 +-
.../unit/certificates/common/auth/__init__.py      |   11 +
.../certificates/common/auth/test_barbican_acl.py  |   43 +-
.../unit/certificates/manager/test_barbican.py     |   11 +
.../certificates/manager/test_barbican_legacy.py   |   64 +-
.../unit/common/jinja/haproxy/test_jinja_cfg.py    |  392 ++++-
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py    |  258 +++
.../unit/common/sample_configs/sample_certs.py     |    1 +
.../unit/common/sample_configs/sample_configs.py   |  273 ++-
.../unit/common/tls_utils/test_cert_parser.py      |   21 +-
.../unit/controller/healthmanager/__init__.py      |   11 +
.../healthmanager/health_drivers/__init__.py       |    0
.../health_drivers/test_update_base.py             |   38 +
.../healthmanager/health_drivers/test_update_db.py | 1244 ++++++++++++++
.../health_drivers/test_update_logging.py          |   44 +
.../controller/healthmanager/test_update_db.py     | 1057 ------------
.../controller/housekeeping/test_house_keeping.py  |   77 +-
.../controller/worker/flows/test_amphora_flows.py  |   25 +-
.../worker/tasks/test_amphora_driver_tasks.py      |   65 +-
.../controller/worker/tasks/test_compute_tasks.py  |    6 +-
.../worker/tasks/test_controller_tasks.py          |   80 -
.../controller/worker/tasks/test_database_tasks.py |   84 +
.../worker/tasks/test_lifecycle_tasks.py           |    4 +-
.../controller/worker/tasks/test_network_tasks.py  |   64 +
.../controller/worker/test_controller_worker.py    |  168 +-
.../drivers/neutron/test_allowed_address_pairs.py  |  148 +-
.../unit/network/drivers/neutron/test_base.py      |   17 +-
.../network/drivers/test_network_noop_driver.py    |   29 +-
playbooks/image-build/post.yaml                    |   10 +
playbooks/image-build/run.yaml                     |   47 +
.../legacy/grenade-devstack-octavia/post.yaml      |   15 +
playbooks/legacy/grenade-devstack-octavia/run.yaml |   60 +
.../octavia-v1-dsvm-scenario-kvm-centos.7/run.yaml |    2 +-
.../Add-UDP-protocol-support-9c011a23525092a1.yaml |   19 +
...f-listener-timeout-values-9a7600c4e21364e3.yaml |   11 +
...mbers-to-be-set-as-backup-e68e46bc52f2fc1f.yaml |    7 +
...aming-for-quota-resources-8e4309a839208cd1.yaml |    7 +
...ity-setting-barbican-acls-85f36747d4284035.yaml |    8 +
.../notes/add-sos-element-5d6677471341e7f2.yaml    |    3 +
.../add-x-forwarded-proto-19a1d971cf43b795.yaml    |    4 +
...d_provider_driver_support-7523f130dd5025af.yaml |   44 +
...disable-ping-healthchecks-42fd8c3b88edaf35.yaml |    5 +
...m_eventstreamer_queue_url-7a98bd6a7e92e9de.yaml |    2 +-
.../notes/deleted-404-2cdd751e7afbe036.yaml        |    7 +
.../notes/disable_logging-3b50f388ee2b8127.yaml    |   18 +
...ble-mutable-configuration-1d7f62a133148767.yaml |    6 +
...x-multi-amp-down-failover-952618fb8d3d8ae6.yaml |    5 +
.../notes/fix-route-table-b2ec0aa7b92d2abc.yaml    |    5 +
...nlimited-connection-limit-48079688de033c1a.yaml |    7 +
.../notes/new-amphora-fields-fa3ffc5801b5e551.yaml |    5 +
.../notes/octavia_v2_RBAC-0eb2b51aa6278435.yaml    |    2 +-
.../notes/py3-hmac-digest-81696f6b176e7ae4.yaml    |   11 +
.../remove_user_group_option-56ba749d0064a394.yaml |    5 +
...-make-statuses-consistent-69189f71da2e02e8.yaml |   12 +
.../notes/reserved-ips-7ef3a63ab0b6b28a.yaml       |    6 +
.../notes/statuses_alias-27559e3d74b9eaf0.yaml     |    5 +
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |   21 +-
releasenotes/source/queens.rst                     |    6 +
requirements.txt                                   |   20 +-
setup.cfg                                          |   31 +-
specs/version0.5/network-driver-interface.rst      |    3 +-
specs/version1.0/flavors.rst                       |    6 +-
specs/version1.1/enable-provider-driver.rst        |  401 +++--
test-requirements.txt                              |    7 +-
tools/coding-checks.sh                             |    2 +-
tools/create_flow_docs.py                          |    5 +-
tools/ostestr_compat_shim.sh                       |    8 -
tox.ini                                            |   79 +-
zuul.d/jobs.yaml                                   |   46 +
zuul.d/projects.yaml                               |   69 +-
553 files changed, 23418 insertions(+), 4617 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 63295b8..a067bd0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@ rfc3986>=0.3.1 # Apache-2.0
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -15 +15 @@ keystonemiddleware>=4.17.0 # Apache-2.0
-python-neutronclient>=6.3.0 # Apache-2.0
+python-neutronclient>=6.7.0 # Apache-2.0
@@ -19 +19 @@ stevedore>=1.20.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -32 +32 @@ PyMySQL>=0.7.6 # MIT License
-python-barbicanclient!=4.5.0,!=4.5.1,>=4.0.0 # Apache-2.0
+python-barbicanclient>=4.5.2 # Apache-2.0
@@ -35 +35 @@ python-novaclient>=9.1.0 # Apache-2.0
-pyOpenSSL>=16.2.0 # Apache-2.0
+pyOpenSSL>=17.1.0 # Apache-2.0
@@ -37 +37 @@ WSME>=0.8.0 # MIT
-Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+Jinja2>=2.10 # BSD License (3 clause)
@@ -41,0 +42,2 @@ castellan>=0.16.0 # Apache-2.0
+tenacity>=4.9.0  # Apache-2.0
+distro>=1.2.0 # Apache-2.0
@@ -44 +46 @@ castellan>=0.16.0 # Apache-2.0
-Flask!=0.11,<1.0,>=0.10 # BSD
+Flask!=0.11,>=0.10 # BSD
@@ -46,2 +48,2 @@ netifaces>=0.10.4 # MIT
-ipaddress>=1.0.16;python_version<'3.3' # PSF
-cryptography!=2.0,>=1.9 # BSD/Apache-2.0
+ipaddress>=1.0.17;python_version<'3.3' # PSF
+cryptography>=2.1 # BSD/Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index b0ac223..e28d2d9 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-requests-mock>=1.1.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
@@ -11 +11,2 @@ oslotest>=3.2.0 # Apache-2.0
-pylint==1.4.5 # GPLv2
+oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+pylint==1.9.2 # GPLv2
@@ -20 +21 @@ tempest>=17.1.0 # Apache-2.0
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD






More information about the Release-announce mailing list