Release-announce
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- 1 participants
- 17252 discussions
We jubilantly announce the release of:
neutron-vpnaas 15.0.0: OpenStack Networking VPN as a Service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/neutron-vpnaas
Download the package from:
https://tarballs.openstack.org/neutron-vpnaas/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron-vpnaas 14.0.0..15.0.0
----------------------------------------
66dfa3f57 Update api-ref location
5f23fa809 Add Python 3 Train unit tests
c305ff2a7 Fix comment error in sync method
4f55b013e Switch neutron-vpnaas-tempest to Python 3
6b8d0a438 Switch functional tests jobs to python3
c2214f24d Make netns_wrapper to be compatible with python3
183934eae Fix missing "is_sort_key" for basic vpnaas attributes
7d874a5ec Make CentOS gate voting again
e69c50877 Replace git.openstack.org URLs with opendev.org URLs
292bc9aff Add iptables command filter for functional test
be10a61ab OpenDev Migration Patch
2bea568b4 Fix vpn agent delete router error
5b5b06351 Dropping the py35 testing
1ebd920ec Skip reporting status for HA backup routers
7e9922858 Execute neutron-vpn-netns-wrapper with rootwrap_config argument
78f99d90f Replace openstack.org git:// URLs with https://
72a79a8e0 Update master for stable/stein
0585b5353 Replace neutron CLI with openstack CLI
3075f3c29 Call helper to convert bytes to str for Python3 in netns-wrapper
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 19 ++--
CONTRIBUTING.rst | 2 +-
HACKING.rst | 2 +-
README.rst | 6 +-
TESTING.rst | 2 +-
devstack/lib/l3_agent | 2 +-
devstack/local.conf.sample | 2 +-
devstack/local_AIO.conf.sample | 2 +-
neutron_vpnaas/extensions/vpnaas.py | 42 ++++---
neutron_vpnaas/services/vpn/agent.py | 2 +-
.../services/vpn/common/netns_wrapper.py | 5 +-
.../services/vpn/device_drivers/ipsec.py | 17 ++-
.../services/vpn/device_drivers/libreswan_ipsec.py | 3 +
.../vpn/device_drivers/strongswan_ipsec.py | 3 +
.../unit/services/vpn/device_drivers/test_ipsec.py | 21 ++++
.../neutron-vpnaas-dsvm-functional-sswan/run.yaml | 6 +-
.../legacy/neutron-vpnaas-dsvm-rally/run.yaml | 10 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
setup.cfg | 3 +-
test-requirements.txt | 3 +-
tools/test_script.sh | 54 +++++----
tox.ini | 8 +-
32 files changed, 288 insertions(+), 189 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index ae0037557..e93f552e9 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12,2 @@ requests-mock>=1.2.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
1
0
We are stoked to announce the release of:
sahara-plugin-ambari 2.0.0: Ambari Plugin for Sahara Project
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/sahara-plugin-ambari
Download the package from:
https://tarballs.openstack.org/sahara-plugin-ambari/
Please report issues through:
https://storyboard.openstack.org/#!/project/1101
For more details, please see below.
Changes in sahara-plugin-ambari 1.0.0..2.0.0
--------------------------------------------
2fd443e Imported Translations from Zanata
3b93403 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
4b8dbdd Update .gitreview for stable/train
ed48a8a Imported Translations from Zanata
b3a12b4 Imported Translations from Zanata
18dd976 Update the constraints url
43c9473 Doc updates: bump theme to 1.20.0, add PDF build
0641cb1 Imported Translations from Zanata
b88d3c6 Limit envlist to py37 for Python 3 Train goal
1bc7902 Update sphinx from current requirements
161b8ea Update Python 3 test runtimes for Train
5e5d274 Imported Translations from Zanata
8189cee Replace git.openstack.org URLs with opendev.org URLs
2b310f6 OpenDev Migration Patch
c2cba88 Dropping the py35 testing
1782f15 Update master for stable/stein
230c10e Add the buildimages job to the check queue
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 3 +-
.zuul.yaml | 8 +-
README.rst | 2 +-
lower-constraints.txt | 2 +-
releasenotes/source/conf.py | 13 --
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
.../locale/de/LC_MESSAGES/sahara_plugin_ambari.po | 215 +++++++++++++++++++++
.../locale/id/LC_MESSAGES/sahara_plugin_ambari.po | 169 ++++++++++++++++
setup.cfg | 2 +-
tox.ini | 31 ++-
14 files changed, 429 insertions(+), 60 deletions(-)
1
0
We are pleased to announce the release of:
neutron 15.0.0: OpenStack Networking
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/neutron
Download the package from:
https://tarballs.openstack.org/neutron/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
15.0.0
^^^^^^
Bug Fixes
* When updating the fixed-ips of a port residing on a routed
provider network the port update would always fail if *host* was not
set. See bug: 1844124
(https://bugs.launchpad.net/tripleo/+bug/1844124)
Changes in neutron 14.0.0..15.0.0
---------------------------------
a59bc98edd fixed_configured=True when Add/Remove port IPs
eb1d0313d0 Configure keepalived interfaces according to config file
4b5c92c016 Imported Translations from Zanata
eafc1d6b86 Imported Translations from Zanata
ea75e22810 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
6948c04837 Update .gitreview for stable/train
ae3de39544 train release notes: Do not use prelude
b3eda71638 Release note for API extension: extraroute-atomic
4a8e737441 Revert "Temporary switch broken CI jobs to non-voting"
f51e5ce924 Remove get_external_network_id for router
2a7030a6b7 Change ip_lib decorators order
d1d0a04c37 Remove Neutron LBaaS
a9c1ac21ef Avoid calling util.kill_process to kill "sleep"
0550c0e1f6 Avoid unnecessary operation of ovsdb and flows
c6ff9c922e Use openstacksdk for ironic notifiers
3330bc01cb Fix race condition when getting cmdline
1df7e4bc46 doc: Remove stale references to external_network_bridge
6c99bf1952 Add l3 conntrack helper to devstack plugin
50af02536a Fix unit tests for ironic notifier
2c095811af L3 Conntrack Helper - Release Note
1947fd65d2 Implement Floating IP association logic only once
ab4320edb4 Only notify nova of port status changes if configured
4844469842 Windows: Fix local adapter ipv6 check
a438745fbd Filter only IPv4 addresses when looking for gateway
4d60457d51 Add correct UPPER_CONSTRAINTS_FILE to neutron-functional job
63715ea361 Re execute a test case if fixtures.TimeoutException is thrown
b0d36a876d Add note about apparmor issue with fullstack tests
ccc7f4e248 Document the incompatibility of trunk ports with iptables_hybrid fw
ab07b91b1a Implement extension: extraroute-atomic
a0387fc78b Update fwaas v2 scenario doc
2cb24490c0 bump neutron-lib to 1.29.1
791dc24960 Log when FIP is associated/disassociated
085e9d8b3d Implement "list_ns_pids" inside Neutron
b0a93df476 Update DHCP port information during setup
380825fcf8 Check mech driver connectivity during port binding
88c7be55c2 Fix bulk port functioning with requested security groups
f5bcca87d1 Temporary switch broken CI jobs to non-voting
49a66dba31 Fix py3 compatibility
fea2d9091f Create _mech_context before delete to avoid race
614b95c837 Remove unused global_refresh_firewall
8e73de8bc4 Change ovs-agent iteration log level to INFO
1409515469 Add "Port" to "RouterPort" foreign_keys
bacc7abf83 Make Neutron gate great again
6367141155 Add info log about ready DHCP config for ports
cb75ecb729 Remove references to FWaaS v1
b137322be3 Update doc about L2 firewalling
f1e1716d06 Fix OVS build issue on Fedora
25d0ad6197 Change PDF file name
73d4f0cc46 Fix some double spaces
f01f3ae5dd Fix creation of vlan network with segmentation_id set to 0
b8576b7be2 Agent - Conntrack Helper
16679e9700 Conntrack Helper - Plugin
d1f8888843 Increase number of retries in _process_trunk_subport_bindings
3f022a193f Delay HA router transition from "backup" to "master"
560c56e603 Handle already created objects in "test_update_timpestamp"
aa58542e82 Add VLAN type conntrack direct flow
fb859966f7 OVS flows for custom ethertypes must be on EGRESS
66274cdae3 PDF documentation build
dd96f37759 Optimize DVR related port DB query
d3359a2bc6 Force deletion of interfaces to create in "FdbInterfaceTestCase"
0250b86dff Avoid "utcnow" call clash in "test_update_timpestamp"
1c27dc05d7 bump neutron-lib to 1.29.0
8033ad13c5 Remove eventlet import from docs conf.py
e8653f28de doc: remove deprecated [neutron]/url from compute install guide
2a53d0f283 Fixing URLS
a6451b69ab Adopt timers for new tenacity release
be7bb4d0f5 Kill all processes running in a namespace before deletion
8f057fb49a DVR: Ignore DHCP port during DVR host query
4b6c2246c0 Force "network_id" in "subnet" DB registers
78629e0d37 Remove L3 IP QoS cache when router is down
d41bd58f31 Initialize phys bridges before setup_rpc
27b07ab013 [Trivial]Remove unused helper _remove_fip_rate_limit_cache
3b1083b1e4 [Trivial]Remove unused helper get_port_external_ids/mac
2c83e07509 Fix objname error in QosPolicy
4f7b25c833 Remove dead link
cf3410b6c0 Move factory assignment in _ipam_allocate_ips()
1f09cff08e Removing invalid double asterics entry from the doc file doc/source/admin/fwaas.rst
255fe22c43 New extension: extraroute-atomic
f59b6a4706 Fix sort issue in test_dhcp_agent_scheduler.test_filter_bindings
45612ca52f fix update neutron resource with incorrect body key server return 500
296f92f5c4 remove try_again from _commit_port_binding
330b6d6ba0 test_l3: Be a bit more selective where to inject a failiure
7627735252 Clear skb mark on encapsulating packets
dd080c70b4 fix update port bug
6da30d3ae2 Remove default getattr values in RouterFipRateLimitMaps
30a60d04f0 Add 3 retry attempts to initialize ovs agent
42c4b1e087 use payloads for ROUTER_GATEWAY events
8a28340628 Fix tools/configure_for_func_testing.sh
3781825edf fix test nit
86feb7916b Fix log directory permissions for functional job
c5e8d1123a [DOC] Add info about new CI job to jobs list
61d149c012 Fix default RPC worker count
8b7d2c8a93 Refactor the L3 agent batch notifier
7b81c1bc67 [DVR] Add lock during creation of FIP agent gateway port
32bfc3edec DVR: Cleanup ml2 dvr portbindings on migration
e124f5b647 use callback payloads for PROVISIONING_COMPLETE
32182010c2 Relax subnet pool network affinity constraints
0e80d2251e Pass get_networks() callback to interface driver
e394c06de1 Fix init of RequestConstructor in test_rpc.py
2db02023ee Initialize modifiable list of resources in CacheBackedPluginApi.
9b2e472ae9 Remove 'gateway_external_network_id' config option
faf7923a8e Update api-ref location
cbe1adaee3 fix indentation of WarningsFixture use
b63809715a Don't crash ovs agent during reconfigure of phys bridges
f4bdcb0031 Run 'tempest-ipv6-only' job in gate
b8cc31d534 [FUP] Add functional test for IPDevice link attributes
b51ba4b283 Add interface kind property
a962b20ba9 shim standard_attr db for neutron-lib
c62c67f413 Add RPC method to get networks for L3 and DHCP agents
b79842f289 Start enforcing E125 flake8 directive
7a20b1293a Switch test cases to sudo dependent
e8caea2451 Trace receipt of update_device_* rpc messages in neutron-server
02c7a3633e Add process name to log in external_process disable method
b28d7281e0 Rename tripleo-ci-centos-7-scenario007-standalone job
42bf117a44 Fix missing arg in test__cast_message()
9c5f394b73 Do not use privsep context when listing the namespaces in fullstack
7875400f95 Check project_id when creating and updating NetworkSegmentRange
c238fcd06c Fix assertEqual argument ordering in test_securitygroup.py
a75385f2c5 Functional testing script password update
951c46c3b7 Switch neutron tempest jobs to run only networking related tests
8996940b58 Remove tempest-full jobs from Neutron CI
dac9a062ac Normalize protocol number 1 to 58 for IPv6
9c4bd4bd9a Add a common timecost wrapper
7bb1bbba36 Fix race in test_keepalived_state_change_notification
442a4e0078 Add TripleO container based job to Neutron's check queue
5acd1bc682 Remove deprecated "split_branches" config option
9f541521bb Retry creating iptables managers and adding metering rules
ae1d36fa9d Improve "OVSFirewallDriver.process_trusted_ports"
d902572560 Add fullstack tests for update network's segmentation_id
11380ff5da Register SG opts when testing test_firewall
0299746c72 ovs-agent: Trace remote methods only
da539da378 Yield control to other greenthreads while processing trusted ports
76c0280635 Remove the l2pop agent_boot_time config
5754f00ea8 [DHCP] Implement an aging method for deleted_ports
12ab7c4cb1 segments: fix rp inventory update
4a06e08de6 Improve "QoSPlugin._validate_create_port_callback"
084bb0952a use callback payloads for ROUTER_CONTROLLER events
6f18693438 consume WarningsFixture from neutron-lib
45e59e3a18 Propagate profiler info into BatchNotifier threads
f3a61fb747 Replace "integrated-gate" template with new "integrated-gate-networking"
989c785d2f use SqlFixture and StaticSqlFixture from neutron-lib
5e0a5d41c7 Rally task definition for port binding scenario
a240c68022 Fix list security groups performance with RBAC
3367e2081b Fix update of network's segmentation id for network with ports
8b50a36341 Add base support for update_port_bulk
0a5b6d32de Add Python 3 Train unit tests
d0c172afa6 Fix bulk port binding
a70f07deb1 Add "connectivity" parameter in vif_details
fb7185bf35 Use Pyroute2 "add_tc_qdisc" function in l3_tc_lib
b6cbc95dcb Use Pyroute2 "list_tc_qdiscs" function in l3_tc_lib
8b00349a63 Refactor qos_plugin._extend_port_resource_request
e6e5c1316d Switch to the new canonical constraints URL on master
7d62308eaa Remove rootwrap filters for TC commands in Linux Bridge
c02ad07c33 Add ipam.utils.check_gateway_invalid_in_subnet unit tests
4b8790ed20 bump neutron-lib to 1.28.0
eaf89a49fd Do not use privsep context when listing the namespaces in functional
24acbf9414 Switch to new engine facade for TrunkPlugin and TrunkSkeleton
12e3b20736 TC filter functions should pass "prio" parameter
eaf3ff5786 Ignore first local port update notification
d9e61138ff change from fixup_uca to fixup_ubuntu
8d8ce04ed6 Mark fullstack test_ha_router_restart_agents_no_packet_lost as unstable
426a5b2833 Adjust some HA router log
ab57410ec8 Minimizing L3 agent QoS extensions lock granularity
00b6460df2 Enforce router admin state before distributed
7eb74d2c4a Implement subnetpool prefix operations
538e663f0d Switch to use configure_keystone_authtoken_middleware in devstack plugin
66fca96e52 Add qos_network_policy_id to Port OVO
429c77c574 Implement "ip route delete" command using Pyroute2
dfa37b2233 Don't match input interface in POSTROUTING table
5be70fae01 Blacklist sphinx 2.1.0 (autodoc bug)
9ea6a61665 Add custom ethertype processing
76ccdb35d4 Limit max ports per rpc for dhcp_ready_on_ports()
d279ec1180 Switch to new engine facade for ExtraRoute_dbonly_mixin
6fd1cf35a8 BGP Documentation Updates
0699713609 Implement "ip route" commands using Pyroute2
d5edb080b0 Treat networks shared by RBAC in same way as shared with all tenants
547d694fa1 Fix of_* config options help messages
39c7ac3ffe use AuthenticIPNetwork and AuthenticEUI from neutron-lib
0963ce94e0 Add default value to agent create_or_update_agent new param
2e8693e3a0 Import "Manage Networking service quotas" admin guide
d8078469a8 Disable "of_inactivity_probe" in fullstack tests
bddad0e1ae [Follow Up] Add Smart NIC representor port to integration bridge
f5b2c7eed8 Assert HA router has one active hosting agent
93d75d89a0 Switch to new engine facade for BaseResourceFilter
dc80fc9fe7 [OVS] Network segmentation ID change not allowed if multisegments
8ecad3ca4b Remove some synchronization decorators from ip_lib
8b1442c708 Release notes for dns_domain behavioural changes
2ffde257cf Add more debug information TestNeutronServer
051b58f566 Update DPDK docs with note about using veth pairs
7181cad179 use object event_types from neutron-lib
79f7a947d9 use subnet_service_types extension from neutron-lib
0d943added bump neutron-lib to 1.27.0
a20f4c08c4 Read IP monitor changes in a parallel thread
c195352e70 Remove mock of not existing method in L3 agent UT.
b76321f1d8 Add agent timestamp to "_log_heartbeat" method
d7c5ae8a03 Increase TestDhcpAgentHA.agent_down_time to 30 seconds
1770c107b4 [Doc] Drop some experimental warnings from admin guide
e4709e8624 Update some docs to use openstack client
7be9c10679 Allow VM booting rally scenarios to time out
cb775ee222 Add fwaas_v2 log optional configuration in l3_agent.ini
37ebe19b99 Switch to new engine facade for DriverController
618e24e241 Retry trunk status updates failing with StaleDataError
3027b66c38 Fix mis-use of _dvr_to_src_mac_table_id
352f5ac674 Fix update of network's segmentation id
79fae0783b Fix :param: in docstring
bb7fd80c23 use object standardattributes from neutron-lib
b71cd851dc Switch to new engine facade for Schedulers
16a0572134 Add missing ws separator between words
95023227b7 segments: Fix resource provider inventories update
52529bc949 DVR: on new port only send router update on port's host
054fd61223 Minimizing lock for port forwarding
d01a1deca9 Add log information in agent schedulers
62f55a12b0 Force segments to use placement 1.1
184530cf7b Add guidelines for removal of OVO version downgrades
4fd104b9dd Log message when legacy IPv6 ICMP protocol name used in SG rule
26b3e6b1c4 rbac: Catch correct exception for duplicated entry
ffde2e57ad Updating bgp driver to match what neutron-dynamic-routing supports
af77355732 Turn CIDR in query filter into proper subnet
7c174e7bd0 fix NetworkSegmentRange OVO entry point
e603d19939 Reset MAC on unbinding direct-physical port
ccef17605d Run nova's VM boot rally scenario in the neutron gate
975143fd08 Add a generic coordination lock mechanism
43d5530405 Bump openstackdocstheme to 1.30.0
a477c31a23 Add ip_monitor command implemented using Pyroute2
6ea01444dd Add Timer context manager class
c148c6df46 SRIOV agent: wait VFs initialization on embedded switch create
03ec94ce5e use test tools from neutron-lib
d6f659e0b1 Switch to new engine facade for L3_HA_NAT_db_mixin
00eb6f26f6 improve dvr port update under large scale deployment
ae3aa28f5a [DVR] Block ARP to dvr router's port instead of subnet's gateway
e71adfde06 Exclude broken ironicclient versions 2.7.1
93015527f0 Add kill hooks for external processes
db119dfe6c Fix mock of execute module in fdb_population UT
8f5020120e Revert "Pass network's dns_domain to dnsmasq conf"
2c6151499e Removing existing dirs from .gitignore
a65ae9c81e Use list instead of six.viewkeys to avoid py2 to py3 problems
fec048c561 update sriov config docs for live migration support.
a9094838a9 Switch to new engine facade for Route objects
b3404d900e Add debug information to AutoScheduler and BaseScheduler
d55d3bb9f1 Add short info about tempest API/scenario tests to reviewers guide
52b537ca22 DVR: Modify DVR flows to allow ARP requests to hit ARP Responder table
5e969205ab Switch to new engine facade for StandardAttribute objects
e577f26380 Switch to new engine facade for Subnet object
b77c79e5e8 Stop OVS agent before starting it again
335ac4e2d9 Fix bug: AttributeError arises while sorting with standard attributes
c7bf1a4e8d Switch DB _utils to new engine facade
ed3f1087fa Fix resource schemas and releated `get_sorts` test cases
5f99c79a50 Add TC filtering for VXLAN traffic
51dd91df5b Switch to new engine facade for QoS
0b3f5f429d Support multiple external networks in L3 agent
afff649a39 Notify ironic on port status changes
47390226f5 OVS DPDK port representors support
42074a6725 Canonicalize IPv6 ICMP protocol name in security groups
5d35e7d360 Switch to new engine facade for L3RpcCallback
c66c7b688c Trivalfix: set a new segment ID for routed network
5738434cd9 Remove "_make_security_group_rule_filter_dict"
4445b380cf Add devstack plugin for placement service plugin
4aeec20001 Drop of_interface option
959af761cb [Functional tests] Test keepalived in namespaces
54329b8dcb Modify comments on some methods
b4243ad3f7 Add Smart NIC representor port to integration bridge
26388a9952 Set neutron-keepalived-state-change proctitle
67b1c4552e use logapi constants from neutron-lib
9f857631d8 Add "project_name" variable to configure_functional_tests role
62b2f2b1b1 Wait to ipv6 accept_ra be really changed by L3 agent
d10ba94d36 Log when the placement service plugin is used wrongly
494b65d951 Optimize the code that fixes the race condition of DHCP agent.
079de324ab Add documentation about OVO "obj_make_compatible"
bc073849b6 Mark fullstack test_ha_router_restart_agents_no_packet_lost as unstable
ea8b466970 [Docs] Add summary of Tempest and Grenade jobs running in CI
1916bc5c06 Allow first address in an IPv6 subnet as valid unicast
d8bd30dc0f Ignore config-samples and policy sample file in git
2bcc178be1 Change provider network segmentation ID in OVS agent
1920a37a94 Show all SG rules belong to SG in group's details
3ab7878384 Conntrack Helper - OVO and db script
a5b53ec6e3 Integrate rally with osprofiler
5f5918df8b Use openstack-python3-train-jobs template
6360084528 Correct fwaas_v2 scenario in neutron
1419c12e74 Fix pep8 E1111 warning in test_securitygroup.py
540d00f68e Make OVS controller inactivity_probe configurable
d4d2fbc30d Fullstack test for placement sync
4597dfc136 Add RHEL8 platform-python to the L3 rootwrap filters
59e1796bd2 Retrieve statistics from TC policy classes
38daf9eaae Define orm relationships after db classes
2c1098b3af Use six.viewkeys instead of dict.keys to avoid py2 to py3 problems
8eb6c8cc6f Define dhcp_agents_per_network with min=1
aacd11ab9f Remove rootwrap configuration from neutron-keepalived-state-change
4353d1b06c Revert "Bump Pyroute2 version to 0.5.5"
94bc403078 ML2 plugin: extract and postpone limit in port query
a36adfdb8b Fix use of port context in tests
8addd662b5 Update sphinx requirements
872dd7f484 Use created subnet in port generator in "test_port_ip_update_revises"
09ee934786 Use --bind-dynamic with dnsmasq instead of --bind-interfaces
8f6939b4f3 Change curl to osc for listing resource provider inventories
0f471a47c0 Async notify neutron-server for HA states
b8a18dc22a Add info about nf_conntrack_proto_gre when ovs fw is used
d83bb4f160 Add skip_if_timeout to additional MySQL migration test
dcdb6e1c8a Fixes agent gw port creation
5c433a027d [DHCP] Don't resync network if same port is alredy in cache
82782d3763 Make sure the port still in port map when prepare_port_filter
1510ab8615 Fix bandit warning
ce1623f6be Limit monotonic to python < 3.3
8db230ab08 FdbInterfaceTestCase interface names should be randomly generated
9bc45d70c6 Error in "tc_lib._handle_from_hex_to_string" formatting
d2d57371dc Bump Pyroute2 version to 0.5.5
bd3d85807c Blacklist bandit 1.6.0 due to directory exclusion bug
ce0764286d use payloads for RBAC_POLICY events
0396912208 Fix handling of network:shared field in policy module
3d99147e73 Ensure dvr ha router gateway port binding host
99e3999975 use publish for SEGMENT_HOST_MAPPING callback events
18dd598696 [Trivial fix]Remove unnecessary slash
d007f2757a Removing unused "configure_ml2" function leftover.
45957f12c8 Keep HA ports info for HA router during entire lifecycle
9318fb8bb9 Fix creating policy rules from subattributes.
252acc0694 Update guest IPv6 information in docs
c6db2a0e40 Remove deprecated SR-IOV devstack file
7dee6e4ec0 Use segment range exceptions from neutron-lib
579d70330e Switch neutron-tempest-dvr-ha-multinode-full job to Python 3
70e5d9c343 Switch neutron-tempest-with-uwsgi job to python 3
0dc730c7c0 Populate binding levels when concurrent ops fail
3a4db946fd "add_tc_policy_class" must always assign a default value to "min_kbps"
130dad25b6 bump neutron-lib to 1.26.0
5d099f17eb Add namespace support for "bridge" commands
8f2fc1ee5e List ha router count should not include dvr local router
07b1a9a4b4 Trivalfix: set the right function to fip qos test
2b9655a784 Install doc: append provider network creation link
4082e280c8 Not process port forwarding if no snat functionality
dbe8d33072 Only TC class "htb" is supported
ec875b42b6 Add router_factory to l3-agent and L3 extension API
cf8f3326be Get ports query: extract limit and use it only at the end.
5301ecf41b Don't add arp responder for non tunnel network port
9d60716cf1 Add update_id for ResourceUpdate
5e9f298c97 Do not initialize the iptables nat table in the dhcp-agent
b1b8a438fe Revert iptables TCP checksum-fill code
2e6f6bf759 Parametrize ipset locking with network namespace
733d12991a Fix some formatting issues in TESTING.rst
a97a8ee605 Move wsgi jobs from experimental to check queue
cfaf5cc1e1 Rehome provider_network_attribute_updates_supported to API definition
d20c73cd2c [Doc] Add note for port forwarding floating IP QoS
749b33e41b Check in "_update_segmentation_id" that the mech_driver has an agent
88cca4cabe use trunk constants from neutron-lib
018ed70d23 use publish for SUBNETPOOL_ADDRESS_SCOPE callback events
14c76d3181 Move subnet postcommit out of transaction for bulk create
161e6b80f0 Replace git.openstack.org URLs with opendev.org URLs
c240e5c3ac Reorder classless static route (RFC3442) records
5d607a13ba OpenDev Migration Patch
ba600a32a5 Don't count ports with inactive bindings as serviceable dvr ports
ccf76c36bb Add log file for neutron-keepalived-state-change
957eca96f4 delete common_db_mixin
e9e76ce4b7 use rpc agent topics from neutron-lib
ca0566c99b Dropping the py35 testing
30f35e08f9 Packets getting lost during SNAT with too many connections
de810e04fb Use '-p ip' instead of '-p 0' with conntrack
1c1f176882 Avoid fullstack QoS tests to handle other test ports
a8d0f557d5 Choose random value for HA routes' vr_id
c20b5e347d Mock check if ipv6 is enabled in L3 agent unit tests
b7458b6159 Handle DBConnectionError in skip_if_timeout decorator
6ded6d217a DVR: Correctly change MTU in fip namespace
ee72ded7ed Revert "Switch all grenade jobs to be non voting and non gating temporary"
ee77344ac1 use api def ALIAS in supported_extension_aliases
c760a83a5d Fix a KeyError
58ce96a7c2 Decouple local VLAN internal management and OVS enforcement
fd388c0d40 Open Train DB branch
c69a87405a Give some HA router case specific resources
8f35331c91 Check master/backup router status in DVR functional tests
84ba64a6a6 Fix error 500 during segment range creation
9bbe9911c4 remove neutron.common.constants
fb6094fe8d move neutron only common constants to private module
a39bc9758c Join on explcit relationship paths
afbbec83a2 Don't pass None arg to neutron-keepalived-state-change
dd95246fbe Ensure that bulk port dicts have unix-style MAC addresses
fa5e9c6fab Format generated MAC addresses using eui48.mac_unix_expanded
9f2b08c559 Make networking-ovn-tempest-dsvm-ovs-release job voting
9624ea7066 Add a midonet non-voting job
531fdc336b Mock OVSBrdge.clear_minimum_bandwidth_qos in fullstack tests
7cc073519a Mark neutron-tempest-iptables_hybrid-fedora voting
8cc480bd01 Set HA failover bridges veth pair devices UP
b978631644 Remove oslosphinx from lower-constraints
699bb45a6c Revert "Disable fullstack job from gate and make it non-voting"
20743350b9 Allow provider net attr in update if no change
13a2f70024 Switch all grenade jobs to be non voting and non gating temporary
8408af4f17 Do not call update_device_list in large sets
23ca23cc79 postgresql compatibility for get_l3_agent routines
6f26f4026b Change provider network segmentation ID
6ac420df7e Divide-and-conquer security group beasts
97923ae4a8 Convert int to bytes for py3
f92a726c4d use callback payloads for AGENT OVS_RESTARTED events
8e48ba3bd0 consume get_random_cidr from neutron-lib
0c6d76f210 Remove conntrack rule when FIP is deleted
dcc3d3c754 Add extra unit test for get_cmdline_from_pid function
765691d1e2 Do not use subnet broadcast address in unit test
434b29a2cb Check the namespace is ready in test_mtu_update tests
ebe28a7b8d Remove outdated instructions about horizon integration
97376032b4 use EXT_PARENT_RESOURCE_MAPPING from neutron-lib
ad2ba10746 Remove local port regenerate mac address apidef
f898ffd71f Divide-and-conquer local bridge flows beasts
04f23958e6 Avoid iterating over all of the segment data just for counting
cf13b2f0cc Check if process' cmdline is "space separarated"
0db0fb71de Specify physical network in QoS fullstack tests
ff70e20acc use neutron-lib trunk resource names
e88ed35701 Adds revision description for network_segment_range
94221c60ad consume sqlalchemytypes from neutron-lib
3e008fd51b FUP: Unit tests for https://review.openstack.org/636970
983d659d76 Replace openstack.org git:// URLs with https://
64ea642359 Change default local ovs connection timeout
15253efde5 Update master for stable/stein
157e09e6af Try to enable dnsmasq process several times
30e901242f Increase timeouts for OVSDB in functional tests
a77cbd9260 Add test case to duplicated service plugin
cd6bf8035d Random IP for concurrent create pf and update_port
73d291af70 Remove local segment-peer-subnet host-route apidef
c0132acb52 Explicitly set neutron service ports for fullstack
092c6d6851 Agent configuration bandwidth report change
18c578aa10 Fix KeyError in OVS firewall
8f20963c5b OVS agent: always send start flag during initial sync
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 5 +-
.gitreview | 3 +-
.zuul.yaml | 125 +-
TESTING.rst | 43 +-
devstack/lib/dns | 2 +-
devstack/lib/l3_conntrack_helper | 4 +
devstack/lib/ml2 | 15 -
devstack/lib/ml2_drivers/sriovnicswitch | 3 -
devstack/lib/ovs | 12 +-
devstack/lib/placement | 19 +
devstack/plugin.sh | 12 +-
devstack/settings | 3 +
.../contributor/internals/openvswitch_agent.rst | 2 +-
.../contributor/internals/openvswitch_firewall.rst | 2 +
.../contributor/internals/provisioning_blocks.rst | 2 +-
.../contributor/internals/quality_of_service.rst | 2 +-
.../contributor/internals/security_group_api.rst | 10 +-
.../contributor/internals/service_extensions.rst | 8 +-
.../contributor/internals/services_and_agents.rst | 4 +-
.../contributor/policies/gate-failure-triage.rst | 2 +-
.../contributor/policies/release-checklist.rst | 6 +-
.../contributor/testing/ci_scenario_jobs.rst | 126 +
.../testing/template_model_sync_test.rst | 6 +-
.../general_feature_support_matrix.ini | 18 +-
.../general_feature_support_matrix.rst | 2 +-
.../install/controller-install-option1-obs.rst | 6 +
.../install/controller-install-option1-rdo.rst | 6 +
.../install/controller-install-option1-ubuntu.rst | 6 +
.../install/controller-install-option2-obs.rst | 3 +-
.../install/controller-install-option2-rdo.rst | 3 +-
.../install/controller-install-option2-ubuntu.rst | 3 +-
etc/neutron/rootwrap.d/debug.filters | 6 +-
etc/neutron/rootwrap.d/dhcp.filters | 2 +
etc/neutron/rootwrap.d/dibbler.filters | 4 +
etc/neutron/rootwrap.d/l3.filters | 15 +-
etc/neutron/rootwrap.d/linuxbridge-plugin.filters | 8 -
etc/oslo-config-generator/neutron.conf | 1 +
etc/rootwrap.conf | 2 +-
lower-constraints.txt | 14 +-
neutron/agent/common/ovs_lib.py | 54 +-
neutron/agent/common/resource_processing_queue.py | 22 +
neutron/agent/common/utils.py | 9 +-
neutron/agent/dhcp/agent.py | 86 +-
neutron/agent/l3/agent.py | 206 +-
neutron/agent/l3/dvr_edge_ha_router.py | 2 +-
neutron/agent/l3/dvr_edge_router.py | 8 +-
neutron/agent/l3/dvr_fip_ns.py | 12 +-
neutron/agent/l3/dvr_local_router.py | 34 +-
neutron/agent/l3/dvr_router_base.py | 4 +-
neutron/agent/l3/extensions/conntrack_helper.py | 280 +
neutron/agent/l3/extensions/port_forwarding.py | 51 +-
neutron/agent/l3/extensions/qos/base.py | 76 +-
neutron/agent/l3/extensions/qos/fip.py | 115 +-
neutron/agent/l3/extensions/qos/gateway_ip.py | 10 +-
neutron/agent/l3/ha.py | 51 +-
neutron/agent/l3/ha_router.py | 73 +-
neutron/agent/l3/keepalived_state_change.py | 9 +-
neutron/agent/l3/l3_agent_extension_api.py | 9 +-
neutron/agent/l3/router_info.py | 179 +-
neutron/agent/linux/bridge_lib.py | 30 +-
neutron/agent/linux/daemon.py | 10 +-
neutron/agent/linux/dhcp.py | 125 +-
neutron/agent/linux/external_process.py | 22 +-
neutron/agent/linux/interface.py | 9 +-
neutron/agent/linux/ip_conntrack.py | 15 +-
neutron/agent/linux/ip_lib.py | 367 +-
neutron/agent/linux/ipset_manager.py | 48 +-
neutron/agent/linux/iptables_firewall.py | 18 +-
neutron/agent/linux/iptables_manager.py | 29 +-
neutron/agent/linux/keepalived.py | 5 +-
neutron/agent/linux/l3_tc_lib.py | 29 +-
.../agent/linux/openvswitch_firewall/constants.py | 5 +-
.../agent/linux/openvswitch_firewall/firewall.py | 146 +-
.../agent/linux/openvswitch_firewall/iptables.py | 2 +-
neutron/agent/linux/openvswitch_firewall/rules.py | 16 +-
neutron/agent/linux/pd.py | 3 +-
neutron/agent/linux/ra.py | 5 +-
neutron/agent/linux/tc_lib.py | 78 +-
neutron/agent/linux/utils.py | 24 +-
neutron/agent/linux/xenapi_root_helper.py | 2 +-
neutron/agent/metadata/agent.py | 3 +-
neutron/agent/metadata/driver.py | 16 +-
neutron/agent/ovsdb/native/connection.py | 2 +-
neutron/agent/resource_cache.py | 17 +-
neutron/agent/rpc.py | 98 +-
neutron/agent/securitygroups_rpc.py | 51 +-
neutron/agent/windows/ip_lib.py | 3 +-
neutron/api/api_common.py | 6 +-
.../rpc/agentnotifiers/metering_rpc_agent_api.py | 2 +-
neutron/api/rpc/callbacks/resources.py | 3 +
neutron/api/rpc/handlers/dhcp_rpc.py | 39 +-
neutron/api/rpc/handlers/dvr_rpc.py | 2 +-
neutron/api/rpc/handlers/l3_rpc.py | 38 +-
neutron/api/rpc/handlers/metadata_rpc.py | 3 +-
neutron/api/rpc/handlers/resources_rpc.py | 2 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 2 +-
neutron/api/v2/base.py | 19 +-
neutron/cmd/netns_cleanup.py | 2 -
neutron/cmd/sanity/checks.py | 15 +-
neutron/cmd/sanity_check.py | 12 +
neutron/cmd/upgrade_checks/checks.py | 34 +
neutron/common/_constants.py | 66 +
neutron/common/config.py | 9 +
neutron/common/constants.py | 277 -
neutron/common/coordination.py | 96 +
neutron/common/utils.py | 186 +-
neutron/conf/agent/cmd.py | 2 +-
neutron/conf/agent/common.py | 9 +
neutron/conf/agent/database/agentschedulers_db.py | 1 +
neutron/conf/agent/l3/config.py | 6 -
neutron/conf/agent/securitygroups_rpc.py | 8 +-
neutron/conf/common.py | 15 +-
neutron/conf/db/l3_dvr_db.py | 6 +
neutron/conf/db/l3_hamode_db.py | 2 +-
neutron/conf/db/migration_cli.py | 9 +-
neutron/conf/extensions/conntrack_helper.py | 51 +
neutron/conf/plugins/ml2/drivers/l2pop.py | 34 -
.../plugins/ml2/drivers/mech_sriov/agent_common.py | 2 +-
.../ml2/drivers/openvswitch/mech_ovs_conf.py | 2 +-
neutron/conf/plugins/ml2/drivers/ovs_conf.py | 32 +-
neutron/conf/policies/__init__.py | 2 +
neutron/conf/policies/agent.py | 25 -
neutron/conf/policies/l3_conntrack_helper.py | 77 +
neutron/conf/policies/port.py | 31 +-
neutron/conf/policies/subnetpool.py | 24 +
neutron/core_extensions/qos.py | 2 +-
neutron/db/_utils.py | 3 +-
neutron/db/agents_db.py | 22 +-
neutron/db/agentschedulers_db.py | 14 +-
neutron/db/allowedaddresspairs_db.py | 6 +-
neutron/db/common_db_mixin.py | 62 -
neutron/db/db_base_plugin_common.py | 42 +-
neutron/db/db_base_plugin_v2.py | 146 +-
neutron/db/dvr_mac_db.py | 46 +-
neutron/db/external_net_db.py | 29 +-
neutron/db/extraroute_db.py | 92 +-
neutron/db/flavors_db.py | 3 +-
neutron/db/ipam_backend_mixin.py | 71 +-
neutron/db/ipam_pluggable_backend.py | 9 +-
neutron/db/l3_agentschedulers_db.py | 27 +-
neutron/db/l3_db.py | 166 +-
neutron/db/l3_dvr_db.py | 243 +-
neutron/db/l3_dvrscheduler_db.py | 113 +-
neutron/db/l3_hamode_db.py | 78 +-
neutron/db/metering/metering_db.py | 6 +-
neutron/db/metering/metering_rpc.py | 2 +-
neutron/db/migration/__init__.py | 2 +
.../db/migration/alembic_migrations/external.py | 2 +
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../3b935b28e7a0_migrate_to_pluggable_ipam.py | 2 +-
.../a8b517cff8ab_add_routerport_bindings_for_ha.py | 7 +-
.../expand/61663558142c_add_ha_router_state.py | 2 +-
.../expand/0ff9e3881597_network_segment_range.py | 2 +-
.../9bfad3f1e780_support_shared_security_groups.py | 5 +
.../train/expand/63fd95af7dcd_conntrack_helper.py | 49 +
.../expand/c613d0b82681_subnet_force_network_id.py | 35 +
neutron/db/migration/cli.py | 3 +-
neutron/db/models/conntrack_helper.py | 45 +
neutron/db/models/flavor.py | 13 +-
neutron/db/models/l3ha.py | 2 +-
neutron/db/models_v2.py | 3 +-
neutron/db/portsecurity_db_common.py | 22 +-
neutron/db/provisioning_blocks.py | 10 +-
neutron/db/qos/models.py | 6 +
neutron/db/quota/api.py | 2 +-
neutron/db/quota/driver.py | 3 +-
neutron/db/rbac_db_mixin.py | 36 +-
neutron/db/securitygroups_db.py | 82 +-
neutron/db/segments_db.py | 15 +
neutron/db/servicetype_db.py | 7 +-
neutron/db/sqlalchemytypes.py | 83 -
neutron/db/standard_attr.py | 249 +-
...b.py => _admin_state_down_before_update_lib.py} | 20 +-
.../extensions/_availability_zone_filter_lib.py | 2 +-
neutron/extensions/_filter_validation_lib.py | 2 +-
.../extensions/_port_mac_address_regenerate_lib.py | 61 -
neutron/extensions/_standard_attr_segment_lib.py | 2 +-
.../admin_state_down_before_update.py} | 10 +-
.../expose_l3_conntrack_helper.py} | 17 +-
neutron/extensions/extraroute_atomic.py | 33 +
neutron/extensions/l3_conntrack_helper.py | 119 +
neutron/extensions/port_mac_address_regenerate.py | 7 +-
neutron/extensions/providernet.py | 16 -
neutron/extensions/securitygroup.py | 20 +-
neutron/extensions/segment.py | 7 +
.../extensions/segments_peer_subnet_host_routes.py | 4 +-
neutron/extensions/subnet_service_types.py | 82 +-
neutron/extensions/subnetpool_prefix_ops.py | 54 +
neutron/hacking/checks.py | 8 +-
neutron/ipam/drivers/neutrondb_ipam/db_api.py | 2 +-
neutron/ipam/utils.py | 25 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 547 +-
neutron/locale/es/LC_MESSAGES/neutron.po | 490 +-
neutron/locale/fr/LC_MESSAGES/neutron.po | 488 +-
neutron/locale/it/LC_MESSAGES/neutron.po | 482 +-
neutron/locale/ja/LC_MESSAGES/neutron.po | 488 +-
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 477 +-
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 479 +-
neutron/locale/ru/LC_MESSAGES/neutron.po | 470 +-
neutron/locale/tr_TR/LC_MESSAGES/neutron.po | 187 +-
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 417 +-
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 427 +-
neutron/manager.py | 17 -
neutron/notifiers/batch_notifier.py | 45 +-
neutron/notifiers/ironic.py | 149 +
neutron/objects/address_scope.py | 18 +
neutron/objects/agent.py | 4 +-
neutron/objects/base.py | 2 +-
neutron/objects/common_types.py | 25 +-
neutron/objects/conntrack_helper.py | 38 +
neutron/objects/extensions/standardattributes.py | 39 -
neutron/objects/l3_hamode.py | 2 +-
neutron/objects/logapi/event_types.py | 38 -
neutron/objects/logapi/logging_resource.py | 4 +-
neutron/objects/metering.py | 4 +-
neutron/objects/network_segment_range.py | 15 +
.../objects/port/extensions/allowedaddresspairs.py | 6 +-
neutron/objects/ports.py | 63 +-
neutron/objects/qos/policy.py | 2 +-
neutron/objects/rbac_db.py | 61 +-
neutron/objects/router.py | 12 +-
neutron/objects/securitygroup.py | 4 +-
neutron/objects/stdattrs.py | 4 +-
neutron/objects/subnet.py | 9 +-
neutron/objects/trunk.py | 46 +-
neutron/opts.py | 34 +-
neutron/pecan_wsgi/controllers/resource.py | 4 +
neutron/pecan_wsgi/controllers/root.py | 2 +-
neutron/pecan_wsgi/hooks/policy_enforcement.py | 6 +-
neutron/plugins/common/constants.py | 2 -
neutron/plugins/ml2/drivers/agent/_common_agent.py | 3 +-
neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 34 +-
.../ml2/drivers/linuxbridge/agent/arp_protect.py | 2 +-
.../agent/extension_drivers/qos_driver.py | 2 +-
.../linuxbridge/agent/linuxbridge_neutron_agent.py | 14 +-
.../linuxbridge/mech_driver/mech_linuxbridge.py | 5 +-
.../drivers/macvtap/mech_driver/mech_macvtap.py | 7 +-
neutron/plugins/ml2/drivers/mech_agent.py | 13 +-
.../drivers/mech_sriov/agent/eswitch_manager.py | 50 +-
.../drivers/mech_sriov/agent/sriov_nic_agent.py | 8 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 4 +-
.../drivers/openvswitch/agent/common/constants.py | 39 +-
.../plugins/ml2/drivers/openvswitch/agent/main.py | 18 +-
.../agent/openflow/native/br_dvr_process.py | 10 +-
.../openvswitch/agent/openflow/native/br_int.py | 68 +
.../openvswitch/agent/openflow/native/br_phys.py | 1 +
.../openvswitch/agent/openflow/native/br_tun.py | 1 +
.../openvswitch/agent/openflow/native/ofswitch.py | 21 +-
.../agent/openflow/native/ovs_bridge.py | 1 +
.../agent/openflow/ovs_ofctl/br_dvr_process.py | 93 -
.../openvswitch/agent/openflow/ovs_ofctl/br_int.py | 204 -
.../agent/openflow/ovs_ofctl/br_phys.py | 60 -
.../openvswitch/agent/openflow/ovs_ofctl/br_tun.py | 260 -
.../openvswitch/agent/openflow/ovs_ofctl/main.py | 36 -
.../agent/openflow/ovs_ofctl/ofswitch.py | 113 -
.../agent/openflow/ovs_ofctl/ovs_bridge.py | 33 -
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 48 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 446 +-
.../ml2/drivers/openvswitch/agent/vlanmanager.py | 6 +
.../openvswitch/mech_driver/mech_openvswitch.py | 21 +-
neutron/plugins/ml2/drivers/type_vlan.py | 10 +-
neutron/plugins/ml2/extensions/dns_integration.py | 2 +-
neutron/plugins/ml2/extensions/port_security.py | 4 +-
neutron/plugins/ml2/managers.py | 70 +-
neutron/plugins/ml2/plugin.py | 232 +-
neutron/plugins/ml2/rpc.py | 46 +-
neutron/policy.py | 72 +-
neutron/privileged/__init__.py | 3 +-
neutron/privileged/agent/linux/ip_lib.py | 248 +-
neutron/privileged/agent/linux/tc_lib.py | 8 +-
neutron/scheduler/base_resource_filter.py | 3 +-
neutron/scheduler/base_scheduler.py | 8 +
neutron/scheduler/dhcp_agent_scheduler.py | 36 +-
neutron/scheduler/l3_agent_scheduler.py | 6 +-
neutron/service.py | 2 +-
neutron/services/auto_allocate/db.py | 8 +-
neutron/services/auto_allocate/plugin.py | 4 +-
.../conntrack_helper}/__init__.py | 0
.../conntrack_helper/common}/__init__.py | 0
.../services/conntrack_helper/common/exceptions.py | 30 +
neutron/services/conntrack_helper/plugin.py | 191 +
neutron/services/flavors/flavors_plugin.py | 4 +-
neutron/services/l3_router/l3_router_plugin.py | 11 +-
.../service_providers/driver_controller.py | 33 +-
neutron/services/logapi/common/constants.py | 60 -
neutron/services/logapi/common/db_api.py | 2 +-
neutron/services/logapi/common/sg_callback.py | 3 +-
neutron/services/logapi/common/sg_validate.py | 2 +-
neutron/services/logapi/common/snat_validate.py | 2 +-
neutron/services/logapi/drivers/base.py | 2 +-
neutron/services/logapi/drivers/manager.py | 2 +-
.../services/logapi/drivers/openvswitch/driver.py | 2 +-
.../logapi/drivers/openvswitch/ovs_firewall_log.py | 2 +-
neutron/services/logapi/logging_plugin.py | 5 +-
neutron/services/logapi/rpc/agent.py | 3 +-
neutron/services/logapi/rpc/server.py | 2 +-
neutron/services/metering/agents/metering_agent.py | 8 +-
.../services/metering/drivers/abstract_driver.py | 4 +
.../metering/drivers/iptables/iptables_driver.py | 87 +-
.../services/metering/drivers/noop/noop_driver.py | 4 +
neutron/services/network_ip_availability/plugin.py | 3 +-
neutron/services/network_segment_range/plugin.py | 71 +-
neutron/services/placement_report/plugin.py | 14 +-
neutron/services/portforwarding/pf_plugin.py | 26 +-
neutron/services/qos/drivers/manager.py | 5 +-
neutron/services/qos/qos_plugin.py | 72 +-
neutron/services/revisions/revision_plugin.py | 3 +-
neutron/services/segments/db.py | 12 +-
neutron/services/segments/exceptions.py | 3 +-
neutron/services/segments/plugin.py | 45 +-
neutron/services/tag/tag_plugin.py | 5 +-
neutron/services/trunk/constants.py | 82 -
neutron/services/trunk/drivers/base.py | 4 +-
.../trunk/drivers/linuxbridge/agent/driver.py | 7 +-
.../services/trunk/drivers/linuxbridge/driver.py | 4 +-
.../trunk/drivers/openvswitch/agent/driver.py | 6 +-
.../drivers/openvswitch/agent/ovsdb_handler.py | 24 +-
.../services/trunk/drivers/openvswitch/driver.py | 4 +-
neutron/services/trunk/models.py | 5 +-
neutron/services/trunk/plugin.py | 56 +-
neutron/services/trunk/rpc/backend.py | 10 +-
neutron/services/trunk/rpc/server.py | 30 +-
neutron/services/trunk/rules.py | 12 +-
neutron/services/trunk/seg_types/validators.py | 4 +-
.../ovs_ofctl => fullstack/servers}/__init__.py | 0
.../extensions/test_conntrack_helper_extension.py | 136 +
.../functional/agent/l3/test_legacy_router.py | 4 +-
.../functional/agent/linux/test_bridge_lib.py | 109 +
.../functional/agent/linux/test_keepalived.py | 25 +-
.../agent/ovsdb/native/test_connection.py | 2 +-
.../test_3b935b28e7a0_migrate_to_pluggable_ipam.py | 3 +-
.../functional/pecan_wsgi/test_controllers.py | 39 +-
.../privileged/agent/linux/test_ip_lib.py | 248 +-
.../scheduler/test_dhcp_agent_scheduler.py | 11 +-
.../scheduler/test_l3_agent_scheduler.py | 3 +-
.../services/conntrack_helper/__init__.py | 0
.../conntrack_helper/test_conntrack_helper.py | 126 +
.../l3_router/test_l3_dvr_router_plugin.py | 46 +-
.../functional/services/logapi/test_logging.py | 11 +-
.../portforwarding/test_port_forwarding.py | 21 +-
.../functional/services/trunk/rpc/test_server.py | 3 +-
.../agent/l2/extensions/test_fdb_population.py | 25 +-
.../unit/agent/l3/extensions/qos/test_base.py | 2 +-
.../agent/l3/extensions/qos/test_gateway_ip.py | 19 +-
.../agent/l3/extensions/test_conntrack_helper.py | 317 +
.../agent/l3/extensions/test_port_forwarding.py | 27 +-
.../unit/agent/l3/test_l3_agent_extension_api.py | 34 +-
.../linux/openvswitch_firewall/test_firewall.py | 132 +-
.../agent/linux/openvswitch_firewall/test_rules.py | 30 +-
.../unit/agent/linux/test_external_process.py | 49 +-
.../unit/agent/linux/test_iptables_firewall.py | 22 +-
.../unit/agent/linux/test_iptables_manager.py | 22 +-
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 7 +-
.../api/rpc/callbacks/test_resource_manager.py | 7 +-
.../unit/extensions/test_availability_zone.py | 6 +-
.../unit/extensions/test_data_plane_status.py | 4 +-
.../test_expose_port_forwarding_in_fip.py | 7 +-
.../unit/extensions/test_network_segment_range.py | 6 +-
.../extensions/test_router_availability_zone.py | 12 +-
.../unit/extensions/test_subnet_service_types.py | 2 +-
.../unit/extensions/test_subnetpool_prefix_ops.py | 230 +
.../ipam/drivers/neutrondb_ipam/test_driver.py | 9 +-
.../objects/extensions/test_standardattributes.py | 51 -
.../extensions/test_uplink_status_propagation.py | 5 +-
.../unit/objects/test_network_segment_range.py | 30 +
.../ml2/drivers/agent/test__common_agent.py | 6 +-
.../l2pop/rpc_manager/test_l2population_rpc.py | 10 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py | 8 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py | 128 +-
.../agent/extension_drivers/test_qos_driver.py | 16 +-
.../agent/test_linuxbridge_neutron_agent.py | 23 +-
.../macvtap/agent/test_macvtap_neutron_agent.py | 16 +-
.../unit/plugins/ml2/drivers/mech_fake_agent.py | 14 +-
.../mech_sriov/agent/test_eswitch_manager.py | 63 +-
.../mech_sriov/agent/test_sriov_nic_agent.py | 10 +-
.../unit/plugins/ml2/drivers/mechanism_test.py | 51 +-
.../agent/extension_drivers/test_qos_driver.py | 12 +-
.../agent/openflow/native/ovs_bridge_test_base.py | 18 +-
.../agent/openflow/native/test_br_int.py | 35 +
.../agent/openflow/native/test_br_tun.py | 2 +-
.../openflow/ovs_ofctl/ovs_bridge_test_base.py | 175 -
.../agent/openflow/ovs_ofctl/test_br_int.py | 261 -
.../agent/openflow/ovs_ofctl/test_br_phys.py | 97 -
.../agent/openflow/ovs_ofctl/test_br_tun.py | 320 -
.../openvswitch/agent/openflow/test_br_cookie.py | 8 +-
.../ml2/drivers/openvswitch/agent/ovs_test_base.py | 41 +-
.../agent/test_ovs_agent_extension_api.py | 117 +-
.../openvswitch/agent/test_ovs_neutron_agent.py | 490 +-
.../drivers/openvswitch/agent/test_ovs_tunnel.py | 20 +-
.../drivers/openvswitch/agent/test_vlanmanager.py | 7 +
.../mech_driver/test_mech_openvswitch.py | 49 +-
.../unit/plugins/ml2/drivers/test_type_vlan.py | 21 +-
.../plugins/ml2/extensions/test_dns_integration.py | 2 +-
.../unit/scheduler/test_dhcp_agent_scheduler.py | 20 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 73 +-
.../unit/services/conntrack_helper/__init__.py | 0
.../unit/services/conntrack_helper/test_plugin.py | 262 +
.../service_providers/test_driver_controller.py | 51 +-
.../unit/services/logapi/agent/l3/test_base.py | 2 +-
.../services/logapi/agent/test_log_extension.py | 10 +-
.../unit/services/logapi/common/test_db_api.py | 9 +-
.../drivers/openvswitch/test_ovs_firewall_log.py | 9 +-
.../unit/services/logapi/drivers/test_manager.py | 2 +-
.../metering/agents/test_metering_agent.py | 4 +
.../services/metering/drivers/test_iptables.py | 34 +
.../unit/services/metering/test_metering_plugin.py | 27 +-
.../services/network_segment_range/test_plugin.py | 11 +
.../unit/services/placement_report/test_plugin.py | 4 +
.../unit/services/portforwarding/test_pf_plugin.py | 4 +-
.../unit/services/qos/drivers/test_manager.py | 9 +-
.../services/revisions/test_revision_plugin.py | 8 +-
.../unit/services/test_provider_configuration.py | 54 +-
.../trunk/drivers/linuxbridge/agent/test_driver.py | 6 +-
.../openvswitch/agent/test_ovsdb_handler.py | 22 +-
.../services/trunk/seg_types/test_validators.py | 8 +-
.../legacy/neutron-grenade-dvr-multinode/run.yaml | 8 +-
.../legacy/neutron-grenade-multinode/run.yaml | 8 +-
playbooks/legacy/neutron-grenade/run.yaml | 8 +-
.../legacy/neutron-tempest-postgres-full/run.yaml | 6 +-
.../neutron-tempest-with-os-ken-master/run.yaml | 6 +-
rally-jobs/task-neutron.yaml | 52 +
...nimizing-lock-granularity-8bc2f893d9389cf8.yaml | 6 +
.../Remove-neutron-lbaas-5cbedd7e8033610f.yaml | 6 +
.../add-custom-kill-scripts-af405ba49142d59c.yaml | 7 +
...r-keepalived-state-change-e6d0c4f663776233.yaml | 4 +
.../add-smartnic-support-53d25564bab0cbc5.yaml | 5 +
...-keys-check-for-get-sorts-b9e3e86ddcb3bc3a.yaml | 6 +
.../notes/bug-1811166-314d4b89de1cc0f1.yaml | 10 +
...change-of-default-timeout-b09d11683526e27d.yaml | 7 +
...hange-segmentation-id-ovs-a201e0ac1c4d4fb6.yaml | 8 +
.../config-host_dvr_for_dhcp-f949aca5bd666e24.yaml | 6 +
.../notes/coordination-df3c0bf55a0c4863.yaml | 10 +
.../notes/custom_ethertypes-eae3fcab3293e3a1.yaml | 9 +
.../notes/dns_domain-1799b939e7248247.yaml | 12 +
.../notes/dns_domain-6f0e628aeb3c650c.yaml | 13 -
.../notes/extraroute-atomic-5ae09e3f37c5fbda.yaml | 12 +
.../fix-net-delete-race-f2fa5bac3ab35a5b.yaml | 9 +
...-routed-provider-networks-c54a54844d9a3926.yaml | 7 +
...v6_first_ip_address_valid-cd94b47bdcc642cf.yaml | 6 +
...s-register-router-factory-46a86f845895f4f6.yaml | 10 +
.../l3-conntrack-helper-5d3148b575c4ad2f.yaml | 17 +
.../notes/notifier-ironic-66391e083d78fee2.yaml | 9 +
.../notes/ovs-dpdk-rep-port-40fe628974040786.yaml | 5 +
...tivity-probe-configurable-39d669014d961c5c.yaml | 7 +
...bnetpool-network-affinity-837c1fc28f835de5.yaml | 12 +
..._network_id-config-option-c7aabf2f63004b41.yaml | 6 +
...ove-l2pop-agent_boot_time-0cec3d5908d8c054.yaml | 5 +
...emove-of_interface-option-531ac8a1c767603a.yaml | 9 +
.../security-group-ipv6-icmp-221c59dcaf2caa3c.yaml | 14 +
...lan-type-conntrack-direct-d3d544f8471ed4ff.yaml | 8 +
releasenotes/source/index.rst | 1 +
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 -
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 301 -
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 -
releasenotes/source/stein.rst | 6 +
requirements.txt | 7 +-
roles/setup_logdir/tasks/main.yaml | 2 +-
setup.cfg | 11 +-
test-requirements.txt | 4 +-
tools/abandon_old_reviews.sh | 16 +-
tools/configure_for_func_testing.sh | 6 +-
tools/split.sh | 2 +-
tox.ini | 17 +-
693 files changed, 16141 insertions(+), 49092 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 5b425e3711..4ba3f71160 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,0 +10 @@ debtcollector>=1.2.0 # Apache-2.0
+decorator>=3.4.0 # BSD
@@ -18 +19 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=1.25.0 # Apache-2.0
+neutron-lib>=1.29.1 # Apache-2.0
@@ -45 +46 @@ oslo.versionedobjects>=1.35.1 # Apache-2.0
-osprofiler>=1.4.0 # Apache-2.0
+osprofiler>=2.3.0 # Apache-2.0
@@ -53,0 +55 @@ python-novaclient>=9.1.0 # Apache-2.0
+openstacksdk>=0.31.2 # Apache-2.0
@@ -55,0 +58 @@ os-xenapi>=0.3.1 # Apache-2.0
+os-vif>=1.15.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index c1f849f4c5..3aaac91e36 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@ hacking>=1.1.0 # Apache-2.0
-bandit>=1.1.0 # Apache-2.0
+bandit!=1.6.0,>=1.1.0 # Apache-2.0
@@ -11 +11 @@ pycodestyle>=2.0.0 # MIT
-mock>=2.0.0 # BSD
+mock>=3.0.0 # BSD
1
0
We exuberantly announce the release of:
sahara-image-elements 11.0.0: Image elements for Sahara
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/sahara-image-elements
Download the package from:
https://tarballs.openstack.org/sahara-image-elements/
Please report issues through:
https://bugs.launchpad.net/sahara/+bugs
For more details, please see below.
Changes in sahara-image-elements 10.0.0..11.0.0
-----------------------------------------------
24a0ea0 Allow qemu-utils to be used to build image
36d2edc Replace git.openstack.org URLs with opendev.org URLs
3b3e33b OpenDev Migration Patch
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
README.rst | 2 +-
diskimage-create/diskimage-create.sh | 9 +++++----
roles/build-sahara-images-dib/defaults/main.yaml | 2 +-
tox.ini | 2 +-
5 files changed, 9 insertions(+), 8 deletions(-)
1
0
We are delighted to announce the release of:
masakari-dashboard 1.0.0: Horizon plugin for masakari
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/masakari-dashboard
Download the package from:
https://tarballs.openstack.org/masakari-dashboard/
Please report issues through:
https://bugs.launchpad.net/masakari/+bugs
For more details, please see below.
Changes in masakari-dashboard 0.3.0..1.0.0
------------------------------------------
51c8868 Add Python 3 Train unit tests
2ddff13 OpenDev Migration Patch
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 3 +--
setup.cfg | 3 ++-
tox.ini | 10 +++++-----
4 files changed, 9 insertions(+), 9 deletions(-)
1
0
We are excited to announce the release of:
openstack-placement 2.0.0: Resource provider inventory usage and
allocation service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/openstack-placement
Download the package from:
https://pypi.org/project/openstack-placement
For more details, please see below.
Changes in openstack-placement 1.0.0.0rc1..2.0.0
------------------------------------------------
ba1e9495 Add --skip-locks flag to mysql-migrate-db.sh
4dde9535 Fix domain name in install doc (2)
3f1a89c7 Fix domain name in install doc
6399f01c Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
3d64e1df Update .gitreview for stable/train
7a6403c6 Add Train upgrade notes
abb14fe2 Add train-prelude release note
04b6c2fb Clean up contributor document
ac1e0f8a Clean up document's index
10fc2d35 Update the constraints url
13da0bff Fix section structure for pdf docs
b93200d7 Build pdf docs
804a1158 Un-cap jsonschema for python3.6/3.7 support
9ece3d35 Deprecate [placement]/policy_file config option
76a5c83c Update nested-magic spec for root_member_of
15ab8280 Move nested magic spec to implemented
3eb86273 Update setup.cfg to include project_urls
10146978 Fix misspell word
156b0833 Fix typo in microversion sequence test
8272dfee Fix links to migration scripts
75fb2fe8 Clarify the NOTE associated with ordering of middleware
7327f2ee Merge request log and request id middlewares
3a732f87 Refactor exclude_nested_providers()
25732260 Get usages in _build_provider_summaries()
768cc889 Add place-held _static dir for Sphinx 2.2.0
31794c85 api-ref: fix typo in aggregates note
aecd0f34 Avoid duplicate ProviderSummary in _merge_candidates
5dda479f Add a rw_ctx.psum_res_by_rp_rc, for clarity
803d673c Use rp.id instead of uuid in _rp_rc_key
3f82e3a9 Add rw_ctx.parent_uuid_by_rp_uuid, for clarity
978408b9 Add gabbits using a DeepNUMANetworkFixture
9d256fa6 gabbi test for same_subtree with an ancestry hole
a6e1a19a Add tests demonstrating overlapping same_subtreeZ
0e199901 Fix allocation bug in NUMANetworkFixture
3c102181 Use expanding bindparam in get_traits_by_provider_tree
e9623705 Copy AllocationRequestResource only when necessary
1a7d39be Add __copy__ method to AllocationRequest{,Resource}
b16b48ad Correct SQL docstring on _get_usages_by_provider_trees
f69f5845 Use another expanding bindparam in _get_usages_by_provider_trees
6de94f98 Move provider_ids_from_rp_ids to allocation_candidate and fix
5fd2d18c Optimize trait creation to check existence first
d65fb810 Improve docs and comments for provider_ids_from_rp_ids
8da825ef Remove double join in provider_ids_from_rp_ids
9820b1bd Clean up the extend_usages_by_provider_tree method
d6c151f2 Trivial: Remove duplicate usage of db context
5883c794 Use expanding bindparam in extend_usages_by_provider_tree
51e4f419 Make _get_trees_with_traits return a set
5dd9a290 Track usage info on RequestWideSearchContext
0386f534 Further optimize _build_provider_summaries
6ef820c9 Add RequestWideSearchContext.summaries_by_id
ed030851 Add apache benchmark (ab) to end of perfload jobs
07d7749c Implement a more complex nested-perfload topology
7464ff6e Run nested-perfload parallel correctly
5466ec18 Make placement base API return version without auth
d4d9457a Use expanding bindparam in provider_ids_from_rp_ids in_
5d3243f4 Use __slots__ in commonly used objects
8626b651 Remove ProviderIds namedtuple
069c531b _get_all_by_filters_from_db do not cast to list of dict
d0416808 Bump os-traits minimum to 0.16.0
835081ac Blacklist sphinx 2.1.0 (autodoc bug)
a0e2c027 Use TraitCache for Trait.get_by_name
3b484c80 Extra gabbi tests for same_subtree
b1a7338d Use integrated-gate-placement zuul template
b09f2f91 Make a TraitCache similar to ResourceClassCache
7efcb2e7 Further simplify microversion utils
99b107fb Update api-ref to point to API-SIG microversion spec
7b3c179f Update api-ref location
8eedcfce Run 'tempest-ipv6-only' job in gate
a24868fd Bump os-resource-classes requirements
d76d6ab7 Extract a _get_schema from list_allocation_candidates
2fc321ae Move rc_cache onto RequestContext
baaaff17 Make placement testing easier on osx
d2b452d7 Simplify placement.microversion:_fully_qualified_name
a09defd6 api-ref: Document generations
4ae8ffea Add placement.query.missing_value in api-ref
78583754 Add Python 3 Train unit tests
3f786431 Doc `same_subtree` queryparam
328f7a3a Add query.duplicate_key and .bad_value in api-ref
efaa3644 Follow up fix for same_subtree documentation
23300f28 Trivial: Fix docs for functions
8395e3f0 Support `same_subtree` queryparam
8c4ad849 tox: Stop building api-ref docs with the main docs
4b4dd5ec Add whereto for testing redirect rules
3659df6e Update implemented spec and spec document handling
d1005782 Correct variable use and naming in mappings tests
06256d86 Manage mappings on AllocationRequest object
7cadf3e8 Recreate: incorrect mappings with group_policy=none
ed0af2e4 Fix up some inaccuracies in perfload comments and logs
ed4a9a1d Spec: Support Consumer Types
2772dafc Bump os-traits minimum to 0.15.0
41287a74 Remove gate/post_test_hook.sh
180c83b5 Centralize and clarify pip in the docs
243757dd Mention OsProfiler in the testing doc
66378006 Add OsProfiler config options to generated reference
0d9c510d Trivial: Update document for Request IDs
38d3d5d1 Add a test for granular member_of not flowing down
698645ca Miscellaneous doc/comment/log cleanups
b733786a Microversion 1.35: root_required
5a6884ae RequestWideParams and RequestWideSearchContext
c774416d Refactor anchors_for_sharing_providers
85fcc8e7 research_context._get_roots_with_traits()
c00d0433 Spec for nested magic 1
40c97d73 Add support for osprofiler in wsgi
3b040f58 Move non-nested perfload shell commands to script
8723bd77 Nested provider performance testing
99242b83 Update SUSE install documentation
e1aec515 Remove overly-verbose allocation request log
9de03e1b Uniquify allocation mappings
6483cd26 Remove a redundant test
71114d9e Add missing suffix-related docstrings
d38844e3 Implement allocation candidate mappings
eb079134 Prepare objects for allocation request mappings
01e69915 Remove incomplete consumer inline migrations
221c65a7 Add a blocker migration for missing consumer records
e1783b00 Correctly limit provider summaries when nested
88b6c816 Add NUMANetworkFixture for gabbits
81937773 Stabilize AllocationRequest hash
910b466c perfload with written allocations
4cca0ee1 Bump os-traits to latest release (0.14.0)
88c6ad9c Optionally run a wsgi profiler when asked
7db53444 Bump os-traits requirements
7049e407 Resource provider - request group mapping in allocation candidate
289130fc Bump openstackdocstheme to 1.30.0
7b8e2a8a Reuse cache result for sharing providers capacity
f8bbda15 Move seek providers with resource to context
d75bdbff Remove normalize trait map func
7f4b79b7 Cache provider ids in requested aggregates
fb71a6ab Move search functions to the research context file
daf7285a Add RequestGroupSearchContext class
fc35e311 Modernize CORS config and setup
7db2e293 Add olso.middleware.cors to conf generator
e0b35bc3 Don't run functional.db tests in nova functional run
aeb65d4c Trivial: Fix comment for LEFT join
5f4da5e0 Use trait strings in ProviderSummary objects
346509f8 Avoid traversing summaries in _check_traits_for_alloc_request
7d39ee72 Canary test for os-traits version
cb28c8dd Fix typo in usage.yaml and usage-policy.yaml
4bfffd7f Bump os-resource-classes requirements
4d05bb8f Fixups from removing null provider protections
e0efa65e Remove null root provider protections
4606e55d Add blocker alembic migration for null root_provider_ids
4af1df94 Change "Missing Root Provider IDs" upgrade check to a failure
fb0f6f26 Allow [a-zA-Z0-9_-]{1,64} for request group suffix
e98b5df3 Add 'docs' worklist to worklist table
43c859b4 Cap sphinx for py2 to match global requirements
73b29cd6 Enhance debug logging in allocation candidate handling
727fb88d Skip _exclude_nested_providers() if not nested
fea9bad7 Raise os-traits os-resource-classes constraints
c62ed6cc Package db migration scripts in placement pypi dist
df12d4d2 Skip notification sample tests when running nova functional
e621d300 Run nova-tox-functional-py36 in the placement gate
e9160abc Update worklist information for contributors
ae9bdbaa Remind people to use postgresql-migrate-db.sh when migrating data
a2513d8e Replace git.openstack.org URLs with opendev.org URLs
da3e8795 Dropping the py35 testing
931a9e12 OpenDev Migration Patch
1b5710db Add links to storyboard worklists to contributing.rst
d921ad4b api-ref: fix formatting in member_of param for 1.21
c3a1aefe Fix arg typos in contributing.rst
5d0daffa Remove dead code
3d29a4b7 Correct task status when a task is under review
852294bd Rename api-ref parameters
e6f234fe FUP on negative-aggregate-membership series
a4276417 Fix a broken link in a release note
4040f898 Refactor aggregate _get_trees_matching_all()
1060123a Refactor ResourceProviderListTestCase
0a3dcadb Negative member_of query with microversion 1.32
69a70004 Prepare for negative member queryparam 2
cc959d53 Fill in the Writing Code section of contributing.rst
73a585d7 Fill in the New Features section of contributing.rst
aa1ca270 Fill in reviewing section of contributing.rst
fcd99b33 Fill in the bugs section of contributing.rst
bf36ed61 Fix debug log getting allocation_candidates
0cbf2635 Remove fake resource class from fake_ensure_cache
3752f045 s/rc_cache.ensure_rc_cache/rc_cache.ensure/
a83c5a4c Add initial framing for a contributing doc
da1a588b Remove use of oslo.i18n and translation
c99492cf Replace openstack.org git:// URLs with https://
48948bce Initial structure for in-tree specs
f7f52316 Add register_opts param to PlacementFixture
4b35ee2c Revert "Centralize registration of logging options"
6eed58d3 Update master for stable/stein
bbc2af0b Spec: Support filtering by forbidden aggregates 2
4baa6cb6 Spec: Support filtering by forbidden aggregates 1
820bf629 Prepare for negative member_of queryparam
f4f98293 Add link to case studies in alloc_cands api-ref
0045e59f Document alloc-candidates-in-tree
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 -
.gitreview | 3 +-
.zuul.yaml | 47 +-
README.rst | 6 +-
api-ref/source/aggregates.inc | 2 +-
api-ref/source/allocation_candidates.inc | 20 +-
api-ref/source/allocations.inc | 22 +-
api-ref/source/errors.inc | 9 +
api-ref/source/generations.inc | 48 +
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 227 +++-
api-ref/source/request-ids.inc | 4 +-
api-ref/source/reshaper.inc | 1 +
api-ref/source/resource_providers.inc | 2 +-
api-ref/source/root.inc | 4 +-
.../get-allocation_candidates-1.34.json | 96 ++
.../to-stein.rst => admin/upgrade-to-stein.rst} | 23 +-
.../approved/2005473-support-consumer-types.rst | 357 ++++++
.../2005297-negative-aggregate-membership.rst | 386 ++++++
.../train/implemented/2005575-nested-magic-1.rst | 636 ++++++++++
...uest-group-mapping-in-allocation-candidates.rst | 577 +++++++++
etc/placement/config-generator.conf | 5 +-
gate/README | 18 +-
gate/gabbits/nested-perfload.yaml | 183 +++
gate/perfload-nested-loader.sh | 24 +
gate/perfload-nested-runner.sh | 108 ++
gate/perfload-runner.sh | 123 ++
gate/perfload-server.sh | 30 +
gate/post_test_hook.sh | 75 --
lower-constraints.txt | 6 +-
placement/attribute_cache.py | 163 +++
placement/auth.py | 4 +-
placement/cmd/manage.py | 33 +-
placement/cmd/status.py | 34 +-
placement/conf/__init__.py | 6 +
placement/conf/placement.py | 11 +
placement/context.py | 3 +
.../611cd6dffd7b_block_on_null_root_provider_id.py | 42 +
.../b5c396305c25_block_on_null_consumer.py | 50 +
placement/deploy.py | 68 +-
placement/errors.py | 5 +
placement/exception.py | 103 +-
placement/handler.py | 7 +-
placement/handlers/aggregate.py | 9 +-
placement/handlers/allocation.py | 46 +-
placement/handlers/allocation_candidate.py | 117 +-
placement/handlers/inventory.py | 75 +-
placement/handlers/reshaper.py | 23 +-
placement/handlers/resource_class.py | 17 +-
placement/handlers/resource_provider.py | 26 +-
placement/handlers/trait.py | 54 +-
placement/handlers/usage.py | 3 +-
placement/handlers/util.py | 9 +-
placement/i18n.py | 36 -
placement/lib.py | 233 +++-
placement/microversion.py | 51 +-
placement/objects/allocation.py | 95 +-
placement/objects/allocation_candidate.py | 806 ++++++------
placement/objects/inventory.py | 3 +-
placement/objects/research_context.py | 1297 ++++++++++++++++++++
placement/objects/resource_class.py | 14 +-
placement/objects/resource_provider.py | 1065 +---------------
placement/objects/rp_candidates.py | 8 +
placement/objects/trait.py | 71 +-
placement/objects/usage.py | 12 +-
placement/policy.py | 46 +-
placement/requestlog.py | 55 +-
placement/resource_class_cache.py | 142 ---
placement/rest_api_version_history.rst | 103 ++
placement/schemas/allocation.py | 23 +
placement/schemas/allocation_candidate.py | 23 +-
placement/schemas/common.py | 5 +
placement/schemas/reshaper.py | 5 +
.../functional/db/test_allocation_candidates.py | 777 +++++++++---
...urce_class_cache.py => test_attribute_cache.py} | 30 +-
.../gabbits/allocation-candidates-bug-1792503.yaml | 86 +-
.../allocation-candidates-mappings-numa.yaml | 134 ++
.../allocation-candidates-mappings-sharing.yaml | 77 ++
.../gabbits/allocation-candidates-member-of.yaml | 114 +-
.../allocation-candidates-root-required.yaml | 291 +++++
.../functional/gabbits/allocation-candidates.yaml | 13 +
.../functional/gabbits/allocations-mappings.yaml | 100 ++
.../functional/gabbits/granular-same-subtree.yaml | 538 ++++++++
.../gabbits/resource-classes-policy.yaml | 2 +-
.../gabbits/resource-provider-aggregates.yaml | 118 ++
.../functional/gabbits/same-subtree-deep.yaml | 78 ++
.../unit/objects/test_allocation_candidate.py | 88 +-
placement/util.py | 117 +-
placement/wsgi.py | 25 +-
placement_db_tools/__init__.py | 21 +
placement_db_tools/mysql-migrate-db.sh | 307 +++++
placement_db_tools/postgresql-migrate-db.sh | 287 +++++
playbooks/nested-perfload.yaml | 20 +
playbooks/perfload.yaml | 120 +-
...cation-candidate-mappings-e00cf6deadcee9ab.yaml | 14 +
...on-candidate-same_subtree-aeed7b2570293dfb.yaml | 11 +
...-candidates-root_required-bfe4f96f96a2a5db.yaml | 12 +
...ate-placement-policy-file-1777dc2e92d8363c.yaml | 11 +
.../fix-osprofiler-support-78b34a92c32fd30f.yaml | 7 +
.../granular-request-suffix-a7fd857eadc16b56.yaml | 12 +
...ted-allocation-candidates-0886e569d15ad951.yaml | 11 +
...tive-aggregate-membership-1dde3cbe27c69279.yaml | 34 +
.../notes/stein-prelude-779b0dbfe65cf9ac.yaml | 2 +-
.../notes/train-prelude-06739452ba2f66d9.yaml | 23 +
...require-root-provider-ids-60bc374ac354f41e.yaml | 9 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 10 +-
setup.cfg | 26 +-
test-requirements.txt | 7 +-
tools/mysql-migrate-db.sh | 302 +----
tools/postgresql-migrate-db.sh | 288 +----
tox.ini | 34 +-
170 files changed, 11898 insertions(+), 4428 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b109c7c9..e0563112 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+SQLAlchemy>=1.2.19 # MIT
@@ -10 +10 @@ WebOb>=1.8.2 # MIT
-jsonschema<3.0.0,>=2.6.0 # MIT
+jsonschema>=2.6.0 # MIT
@@ -22 +21,0 @@ oslo.policy>=1.35.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
@@ -25,2 +24,3 @@ oslo.upgradecheck>=0.2.0 # Apache-2.0
-os-resource-classes>=0.2.0 # Apache-2.0
-os-traits>=0.4.0 # Apache-2.0
+# NOTE(efried): Sync lower-constraints.txt for os-traits & os-resource-classes.
+os-resource-classes>=0.5.0 # Apache-2.0
+os-traits>=0.16.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 1b4d1249..3f8a93fc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9,2 +9,2 @@ mock>=2.0.0 # BSD
-psycopg2>=2.6.2 # LGPL/ZPL
-PyMySQL>=0.7.6 # MIT License
+psycopg2>=2.6.2; sys_platform!='darwin' # LGPL/ZPL
+PyMySQL>=0.7.6; sys_platform!='darwin' # MIT License
@@ -18,0 +19,3 @@ wsgi-intercept>=1.7.0 # MIT License
+
+# needed to generate osprofiler config options
+osprofiler>=1.4.0 # Apache-2.0
1
0
We exuberantly announce the release of:
mistral-dashboard 9.0.0: Mistral dashboard
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/mistral-dashboard
Download the package from:
https://pypi.org/project/mistral-dashboard
For more details, please see below.
Changes in mistral-dashboard 8.0.0.0rc1..9.0.0
----------------------------------------------
82df9c6 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
eda183b Update .gitreview for stable/train
538fc12 Fix error when use keystone federation
809416b Refactor error messages
eba4d3a Add Python 3 Train unit tests
773b349 Remove redundant exception handling
a7d6725 Remove the ErrorHandleTests class
5d1f9ab Modify the name of action_executions panel
51166f3 Follow the new PTI for document build
e5b94ec Add the unit test for executions
b7d6322 Add the unit test for cron_triggers
b7a408a Add the unit test for update_action_execution
293cf1c Add the unit test for create and update action
3865255 Add the unit test for executions detail
e0a972f Add the unit test for workflows detail
21663e5 Add the unit test for workbooks detail
c4fd4d8 Add the unit test for tasks detail
bcc743e Add the unit test for cron_triggers detail
8bceb19 Add the unit test for action_executions detail
d1df6b3 Add the unit test for actions detail
cbf3a8c Modify the url of upper_constraints_file
6726cee fix the Bug of test in workflows panel
8dab9d1 fix the Bug of test in workbooks panel
268c542 fix the Bug of test in tasks panel
4e62ddd fix the Bug of test in executions panel
9e7b4bc fix the Bug of test in action_executions panel
20bd211 fix the Bug of test in cron_triggers panel
19c254b fix the Bug of test in actions panel
13e1709 Use openstack-python3-train-jobs for python3 test runtime
0775cfe Add python 3.7 classifier to setup.cfg
c0f2cf7 Blacklist sphinx 2.1.0 (autodoc bug)
f154594 Correct error messages on update action execution form
3be30d0 The columns out of page range
b697fcc Unified button style on Execute form in workflow panel
7dc4afb Change action_execution to action_executions in url
f820ab4 Indent four spaces
399b9df Update sphinx dependency
840955c Remove try: ... finally: pass
9a4e706 Add asterisk mark for the required field
59f0ab4 Add python37 job
8776da2 Translate executions state
3cb1ace Add asterisk mark for the required field
fc53013 Switch to stestr
8b4ca12 Dropping the py35 testing
a8cd02d Replace git.openstack.org URLs with opendev.org URLs
d86efab OpenDev Migration Patch
f732ea9 Fix the bug of the py27 test
80b7476 Update master for stable/stein
b486f02 Increment versioning with pbr instruction
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.gitreview | 3 +-
.stestr.conf | 4 +
.zuul.yaml | 3 +-
README.rst | 2 +-
mistraldashboard/action_executions/forms.py | 12 +--
mistraldashboard/action_executions/panel.py | 4 +-
mistraldashboard/action_executions/tables.py | 24 +----
mistraldashboard/action_executions/views.py | 28 ++----
mistraldashboard/actions/forms.py | 10 +-
mistraldashboard/api.py | 9 +-
mistraldashboard/cron_triggers/forms.py | 34 +++----
mistraldashboard/executions/forms.py | 4 +-
mistraldashboard/executions/tables.py | 10 ++
mistraldashboard/executions/views.py | 9 +-
mistraldashboard/test/test_data/mistral_data.py | 21 +++--
mistraldashboard/workbooks/forms.py | 10 +-
mistraldashboard/workflows/forms.py | 10 +-
.../workflows/templates/workflows/_execute.html | 5 -
mistraldashboard/workflows/views.py | 2 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 ++
setup.cfg | 8 +-
test-requirements.txt | 7 +-
tox.ini | 27 ++++--
34 files changed, 453 insertions(+), 254 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 90eaf85..c737881 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14,6 +14 @@ xvfbwrapper>=0.1.3 #license: MIT
-
-# Docs Requirements
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-oslosphinx>=4.7.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
-docutils>=0.11 # OSI-Approved Open Source, Public Domain
+stestr>=2.0.0 # Apache-2.0
1
0
We are delighted to announce the release of:
mistral 9.0.0: Mistral Project
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/mistral
Download the package from:
https://pypi.org/project/mistral
Please report issues through:
https://bugs.launchpad.net/mistral/+bugs
For more details, please see below.
Changes in mistral 8.0.0.0rc1..9.0.0
------------------------------------
016509eb Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
33d4a8bb Fix "root_execution" lazy loading issue and refactor execution.py
aae80641 Update .gitreview for stable/train
a655ff98 Add the explicit dependency from kombu
ac41f94d Add an ability to disable workflow text validation
6fb83388 Fix scheduled jobs migration
b4a46fd1 Remove volumes.promote and volumes.reenable action from cinder
0de24794 Pass a real session to ironicclient in _get_fake_client
b9b21c82 Exclude ironicclient 3.0.0 from requirements
64c4038b Optimize creation of language specs
efc4cf07 Use v2 designate client instead of v1
86ae8a7e Change 403 exception message to something more informative and accurate
8283670d Remove unneeded Zuul branch matcher
7e7f1cb9 moved generic util functions from mistral to mistral-lib
51b7dd0c Fix error validate token when run cron trigger
9585a638 Fix don't work with senlin actions
6418132a Fix missing in workflow documents
4a1be8c4 Add db api tests for scheduled jobs
24f50dab Need to run only doc related jobs on doc change
f13b69ca Fix workflow documents
21f95a58 Add a migration to create the scheduled_jobs table
fdfb65a8 Fix workflow language tests after updating jsonschema to 3.0.2
7158d90b Fix misspell word
6a584299 Blacklist eventlet 0.21.0,0.23.0,0.25.0
c99b87a8 Check if workflow execution is empty in integrity checker
9804e74d Add "published_global" field to the task execution REST resource
5eb2a216 Improve workflow notifications and webhook data
f92a5c8f Fix 'with-items' expression evaluation
6102c525 Mistral don't work with cron trigger
6dfab10e Support OpenStack services dynamic versions
60536f69 Bump lower constraint of python-zunclient
8d539921 remove unused gate code * post_test_hook. used in legacy gate * run_functional_test probably not used and also doean't work since mistral_tempest was moved
6c0bd2a2 Add "retry_count" field into workflow execution report
0f6bc189 Improve new scheduler
4e926a1f Fail-on policy
059248f8 Create docs for the workflow namespaces feature
9b576aec Use raw strings in all pattern matching strings
d8a127ab Upgrade hacking
babcd0d6 Improve error message when sync actions timeout
12c84dc9 Allow to filter event notifications by their type
7ae3ec0c Provide better docs for the "target" task attribute
1a2ff637 A1 B should be tasks rather than workflow levels
2c3c3b1b Update api-ref location
77118d3b Rename the test class so it will be PyCharm friendly
90a9a48f When installing devstack enable the bash completion
4a9d55a1 Retry a DB transaction on "Too many connections" error
69148233 Bulk delete of stored delayed calls
f43bf7ba Allow to delete multiple objects with advanced filters
6098804a remove mistral-tempest-plugin from setup.cfg
4539a0a0 Fix execution deletion in case of insecure context
aed90bab New rerun events
c078429d Add workflow_execution_id to task notification object
b6ebcb3b Use SessionClient for Ironic actions
843717a1 Add Python 3 Train unit tests
93dce86f Fix invalid assert states
26f6e192 Add bindep.txt file for binary dependencies used in unit tests
dfc3277f Initialize the lazily loaded execution "input" field in API
43d23c0e Create needed infrastructure to switch scheduler implementations
f5f9a1df Fix workflow execution cascade delete error
b97b2485 Use eventlet-aware threading events
0c3b6306 Make more JSON fields in execution objects lazy-loaded
b0fb101c Optimize finding upstream task executions
c215c052 Direct workflow code cleanup and refactoring
5c5e948d Use openstack-python3-train-jobs for python3 test runtime
aed4b18c Fix sporadically failing test test_with_items_action_context
b6947705 Store next task names in DB
eb593285 Limit max search depth
a0cada98 Change mistral opendev.org to releases.openstack.org
2a1063e7 Add python 3.7 classifier to setup.cfg
9a2f3b57 Simple optimization of creating/updating workflows
bea98f6f Reduce number of fields in notification data
475b82c5 Delete delayed calls for deleted entities
1e83a076 Exclude broken ironicclient versions 2.5.2 and 2.7.1
4e391dc2 Handle action inputs properly to prevent tasks stuck in RUNNING state
5f86cf1f Allow to use 'task()' yaql function in task policies
15355ea5 Use get_task_executions_count for any_cancels method
e5031e26 Rework updating action executions heartbeats
6dc981d8 Bump openstackdocstheme to 1.30.0
0731cd1d Blacklist sphinx 2.1.0 (autodoc bug)
f09c8ebe Skip context evaluation for non-conditional transitions
c1e4fd8d Remove _get_next_clauses
9289f7d2 Add release notes to changes to wflanguage execution object
58b714eb Prepare cache for _is_upstream_task_execution
cd19e486 Remove _find_task_execution_by_name
92528a82 Move action caching to db layer
a75b07ec Send task and workflow notifications out of the transaction
c5268852 Rework finding indirectly affected created joins
2712b8c1 Fix adhoc action lookup
424a0a55 Blacklist python-cinderclient 4.0.0
831162ac Constraint networkx to <2.3 for Python 2
84b8e92a Get rid of lookup utils
a477fe49 Fix how "has_next_tasks" is calculated for task executions
8549aeaf Optimize searching of upstream task executions
ff00c9c7 Rework joining mechanism
dbc4c911 Remove deprecated nova commands
83c541ac Reduce the number of "on-xxx" evaluations
eb592162 Removes insecure parameter from barbican client
7e0f4eee Add back the secrets_store action into mapping.json
f172e5da Adding root_execution_id to the jinja executor function
a83b4a67 Fix the import for filter_utils
b7107c84 Adds secrets_retrieve to the list of available actions in barbican
1df722d9 Pass auth context to the event publishers
09cd21d5 Docs improvements: task timeout, global context, Docker and jinja
13d8f532 Docs: Change description from on-success to on-error
88e5af41 Reformat retry logic for tasks with join
243c09d5 Add option to start subworkflow via RPC.
46fd1b8a Replace git.openstack.org URLs with opendev.org URLs
f9f99475 Add delay option to std.echo to emulate external lags.
a461e079 OpenDev Migration Patch
279fcc5b Add release notes for reply-to feature
9a60cd62 Fix an action execution controller test
97b493ad Don't use default mutable parameter
59a96b73 inspect.getargspec is deprecated on py3
2cbf5431 Add reply-to to std.email
c5808e54 Dropping the py35 testing
401eeddb Fix E305 codestyle errors
1af2683d Drop py35 jobs
9c65b7d2 Fix doc
b0829f94 Fix an expression context for all_errors_handled()
20c2b78d Fix an obsolete name of a profiler trace
1fce28c1 Add a script to generate a report about profile traces
5d2be345 Add release note for I04ba85488b27cb05c3b81ad8c973c3cc3fe56d36
765225b1 Replace openstack.org git:// URLs with https://
9238909e Stop sending workflow output to on_action_complete
5e0133c8 Add "convert_input_data" config property for YAQL expressions
97f4fc27 Setting the lower version of sphinxcontrib-pecanwsme to 0.10.0
d332d7fe Add release notes for engine optimizations
d4a4f7a5 Improve profiler logging
3e42cffd Update master for stable/stein
218ab5a7 Add Python 3.7 to tox
32c96b1b Add "root_execution" mapped property to WorkflowExecution model
a73e3def Optimize action scheduling
ca1acb65 Add http_proxy_to_wsgi middleware
9bbc1d41 Adds private_key parameter in the standard ssh actions
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 3 +-
.zuul.yaml | 34 +-
CONTRIBUTING.rst | 12 +-
bindep.txt | 8 +
devstack/plugin.sh | 9 +-
devstack/settings | 14 +-
lower-constraints.txt | 24 +-
mistral/actions/openstack/action_generator/base.py | 2 +-
mistral/actions/openstack/actions.py | 157 +++++---
mistral/actions/openstack/base.py | 2 +-
mistral/actions/openstack/mapping.json | 11 +-
mistral/actions/std_actions.py | 45 ++-
mistral/api/app.py | 4 +
mistral/api/controllers/resource.py | 2 +-
mistral/api/controllers/root.py | 2 +-
mistral/api/controllers/v2/environment.py | 2 +-
mistral/api/controllers/v2/execution.py | 45 ++-
mistral/api/controllers/v2/execution_report.py | 5 +
mistral/api/controllers/v2/member.py | 2 +
mistral/api/controllers/v2/resources.py | 9 +-
mistral/api/controllers/v2/root.py | 3 +-
mistral/api/controllers/v2/task.py | 65 ++-
mistral/api/controllers/v2/workbook.py | 17 +-
mistral/api/controllers/v2/workflow.py | 27 +-
mistral/api/hooks/content_type.py | 2 +-
mistral/cmd/launch.py | 2 +-
mistral/config.py | 58 ++-
mistral/context.py | 4 +-
mistral/db/sqlalchemy/base.py | 2 +-
.../027_add_last_heartbeat_to_action_execution.py | 2 +-
...xt_tasks_and_error_handled_to_task_execution.py | 40 ++
.../033_add_next_tasks_to_task_execution.py | 38 ++
.../versions/034_add_scheduled_jobs_table.py | 68 ++++
mistral/db/sqlalchemy/migration/cli.py | 1 +
mistral/db/sqlalchemy/model_base.py | 2 +-
mistral/db/utils.py | 19 +-
mistral/db/v2/api.py | 39 +-
mistral/db/v2/sqlalchemy/api.py | 92 ++++-
mistral/db/v2/sqlalchemy/models.py | 42 +-
mistral/engine/action_handler.py | 23 +-
mistral/engine/actions.py | 103 +++--
mistral/engine/base.py | 6 +-
mistral/engine/default_engine.py | 28 +-
mistral/engine/engine_server.py | 14 +-
mistral/engine/policies.py | 149 ++++---
mistral/engine/post_tx_queue.py | 2 +-
mistral/engine/task_handler.py | 90 +++--
mistral/engine/tasks.py | 98 +++--
mistral/engine/utils.py | 2 +-
mistral/engine/workflow_handler.py | 27 +-
mistral/engine/workflows.py | 89 +++--
mistral/exceptions.py | 2 +-
mistral/executors/executor_server.py | 2 +-
mistral/expressions/yaql_expression.py | 2 +-
mistral/lang/base.py | 99 +++--
mistral/lang/parser.py | 4 +-
mistral/lang/types.py | 6 +-
mistral/lang/v2/actions.py | 2 +-
mistral/lang/v2/on_clause.py | 8 +-
mistral/lang/v2/policies.py | 8 +-
mistral/lang/v2/publish.py | 2 +-
mistral/lang/v2/retry_policy.py | 2 +-
mistral/lang/v2/task_defaults.py | 6 +-
mistral/lang/v2/tasks.py | 8 +-
mistral/lang/v2/workbook.py | 2 +-
mistral/lang/v2/workflows.py | 9 +-
mistral/messaging.py | 2 +-
mistral/notifiers/base.py | 2 +-
mistral/notifiers/default_notifier.py | 7 +-
mistral/notifiers/notification_events.py | 12 +-
mistral/notifiers/notification_server.py | 2 +-
mistral/notifiers/publishers/noop.py | 2 +-
mistral/notifiers/publishers/webhook.py | 2 +-
mistral/rpc/base.py | 9 +
mistral/rpc/clients.py | 9 +-
mistral/rpc/kombu/kombu_client.py | 2 +-
mistral/rpc/kombu/kombu_listener.py | 3 +-
mistral/rpc/kombu/kombu_server.py | 5 +-
mistral/scheduler/base.py | 66 ++-
mistral/scheduler/default_scheduler.py | 83 +++-
mistral/service/coordination.py | 2 +-
mistral/services/__init__.py | 29 ++
mistral/services/action_execution_checker.py | 2 +-
mistral/services/action_manager.py | 2 +-
.../services/{scheduler.py => legacy_scheduler.py} | 90 ++---
mistral/services/workbooks.py | 21 +-
mistral/services/workflows.py | 56 ++-
...test_lookup_utils.py => test_action_caching.py} | 76 +---
.../unit/engine/test_direct_workflow_rerun.py | 8 +-
.../unit/engine/test_reverse_workflow_rerun.py | 17 +-
.../unit/engine/test_subworkflows_pause_resume.py | 246 +++++-------
.../unit/expressions/test_jinja_expression.py | 10 +-
...test_scheduler.py => test_default_scheduler.py} | 42 +-
...{test_scheduler.py => test_legacy_scheduler.py} | 156 +++++---
mistral/utils/__init__.py | 441 ---------------------
mistral/utils/expression_utils.py | 23 +-
mistral/utils/inspect_utils.py | 17 +-
mistral/utils/openstack/keystone.py | 32 +-
mistral/utils/profiler.py | 26 ++
mistral/utils/rest_utils.py | 14 +-
mistral/utils/ssh_utils.py | 30 +-
mistral/workflow/base.py | 30 +-
mistral/workflow/commands.py | 53 ++-
mistral/workflow/data_flow.py | 30 +-
mistral/workflow/direct_workflow.py | 366 ++++++++---------
mistral/workflow/lookup_utils.py | 190 ---------
mistral/workflow/reverse_workflow.py | 31 +-
playbooks/legacy/mistral-ha/run.yaml | 2 +-
...oot_execution_id_to_jinja-90b67c69a50370b5.yaml | 5 +
.../add_skip_validation-9e8b906c45bdb89f.yaml | 18 +
...nput_data_config_property-09822dee1f46eb8e.yaml | 11 +
...t_tasks_field_calculation-5717f93d7adcd9b0.yaml | 7 +
.../notes/fix_task_function-04b83ada20a71f12.yaml | 6 +
...y-to-wsgi-oslo-middleware-f66f1b9533ea1e8a.yaml | 11 +
..._adhoc_actions_scheduling-e324f66f962ae409.yaml | 8 +
.../notes/std-ssh-add-pkey-2c665a81ff9fbdfd.yaml | 6 +
.../notes/std.email-reply-to-c283770c798db7d0.yaml | 3 +
...entity_for_root_execution-1af6af12ee437282.yaml | 11 +
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 23 +-
setup.cfg | 7 +-
test-requirements.txt | 7 +-
tools/config/config-generator.mistral.conf | 1 +
tools/docker/DOCKER_README.rst | 176 +-------
tools/docker/Dockerfile | 2 +-
tools/rank_profiled_methods.py | 99 +++++
tox.ini | 8 +-
197 files changed, 4658 insertions(+), 2882 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index f21d2750..22ff0816 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ dogpile.cache>=0.6.2 # BSD
-eventlet!=0.20.1,>=0.20.0 # MIT
+eventlet!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.20.0 # MIT
@@ -14 +14 @@ Jinja2>=2.10 # BSD License (3 clause)
-jsonschema<3.0.0,>=2.6.0 # MIT
+#jsonschema>=2.6.0 # MIT
@@ -16,2 +16,4 @@ keystonemiddleware>=4.18.0 # Apache-2.0
-mistral-lib>=0.4.0 # Apache-2.0
-networkx>=1.10 # BSD
+kombu!=4.0.2,>=4.6.1 # BSD
+mistral-lib>=1.2.0 # Apache-2.0
+networkx<2.3,>=1.10;python_version<'3.0' # BSD
+networkx>=2.3;python_version>='3.4' # BSD
@@ -26 +28 @@ oslo.policy>=1.30.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.utils>=3.37.0 # Apache-2.0
@@ -35 +37,2 @@ python-barbicanclient>=4.5.2 # Apache-2.0
-python-cinderclient>=3.3.0 # Apache-2.0
+python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0
+python-zaqarclient>=1.0.0 # Apache-2.0
@@ -51 +54 @@ python-troveclient>=2.2.0 # Apache-2.0
-python-ironicclient>=2.3.0 # Apache-2.0
+python-ironicclient!=2.7.1,!=3.0.0,>=2.7.0 # Apache-2.0
@@ -54,2 +57 @@ python-vitrageclient>=2.0.0 # Apache-2.0
-python-zaqarclient>=1.0.0 # Apache-2.0
-python-zunclient>=1.0.0 # Apache-2.0
+python-zunclient>=3.4.0 # Apache-2.0
@@ -60 +62 @@ requests>=2.14.2 # Apache-2.0
-tenacity>=4.4.0 # Apache-2.0
+tenacity>=5.0.1 # Apache-2.0
@@ -67,0 +70 @@ zake>=0.1.6 # Apache-2.0
+
diff --git a/test-requirements.txt b/test-requirements.txt
index c2ce4d6c..bb2db372 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0,<1.2.0 # Apache-2.0
@@ -11 +11 @@ keystonemiddleware>=4.18.0 # Apache-2.0
-mistral-lib>=0.4.0 # Apache-2.0
+mistral-lib>=1.2.0 # Apache-2.0
@@ -13 +13,2 @@ mock>=2.0.0 # BSD
-networkx>=1.10 # BSD
+networkx<2.3,>=1.10;python_version<'3.0' # BSD
+networkx>=2.3;python_version>='3.4' # BSD
1
0
We eagerly announce the release of:
searchlight-ui 7.0.0: Horizon panels and libraries for Searchlight
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/searchlight-ui
Download the package from:
https://pypi.org/project/searchlight-ui
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/searchlight-
ui
For more details, please see below.
Changes in searchlight-ui 6.0.0..7.0.0
--------------------------------------
d22b03e Update the constraints url
faca3e1 Imported Translations from Zanata
27accd3 Imported Translations from Zanata
293ba25 Imported Translations from Zanata
e3722f8 Add Python 3 Train unit tests
07766fc Imported Translations from Zanata
a2082e9 Sync Sphinx requirement
d9644b9 Migrate to opendev.org
f3242d4 OpenDev Migration Patch
d68e526 Drop nodejs4 job
9e994bf Update master for stable/stein
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
.zuul.yaml | 4 +-
README.rst | 2 +-
devstack/plugin.sh | 2 +-
package.json | 4 +-
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 10 +-
.../source/locale/id/LC_MESSAGES/releasenotes.po | 10 +-
.../source/locale/ru/LC_MESSAGES/releasenotes.po | 38 +++++-
releasenotes/source/stein.rst | 6 +
searchlight_ui/locale/id/LC_MESSAGES/djangojs.po | 55 ++++++++-
searchlight_ui/locale/ru/LC_MESSAGES/djangojs.po | 127 ++++++++++++++++++++-
test-requirements.txt | 3 +-
tools/gate/integration/pre_test_hook.sh | 4 +-
tox.ini | 4 +-
17 files changed, 246 insertions(+), 33 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 1d63146..f1af0f8 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12,2 @@ selenium>=2.50.1 # Apache-2.0
-sphinx>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
1
0
We are gleeful to announce the release of:
octavia 5.0.0: OpenStack Octavia Scalable Load Balancer as a Service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/octavia
Download the package from:
https://pypi.org/project/octavia
Please report issues through:
https://storyboard.openstack.org/#!/project/908
For more details, please see below.
5.0.0
^^^^^
Security Issues
* Correctly require two-way certificate authentication to connect to
the amphora agent API (CVE-2019-17134).
Changes in octavia 4.0.0.0rc1..5.0.0
------------------------------------
6f54167b Fix urgent amphora two-way auth security bug
de492103 Fix healthmonitor message v2 for UDP listeners
39b8f821 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
6e0fd89e Update .gitreview for stable/train
d7f0c819 Validate supported LB algorithm in Amphora provider drivers
d5ffd2ca Fix new pep8/pylint errors
a0f4335c Improve the error message for bad pkcs12 bundles
cf901539 loadbalancer vip-network-id IP availability check
97058e92 Generate PDF documentation
fbe32839 Fix the diskimage-create tox "build" environment
a7766733 Validate server_certs_key_passphrase is 32 chars
b9d357ac Fix 'additive_only' parameter api-ref
5defc1e8 Fix the amphora no-op driver
926179c9 Fix openstack port show content handling
8685bba5 Fix the tips job for octavia-lib
2eac7a78 Add new algorithm SOURCE_IP_PORT
f3b48bc2 Add VIP access control list
05f52570 Fix a few nits from the main volume-based patch
78b12632 Add long-running provider agent support
a4da3ef2 Fix cleanup of expired load balancer entries
42df031e Fix building configs for multiple listeners
4b907b06 Add `additive_only` parameter to Batch Member call
93b509cf Support create amphora instance from volume based.
8577b3af Move to using octavia-lib constants
09efc2a4 Add get method support to the driver-agent
f20dc158 Fix base (VRRP) port abandoned on revert
950faea6 Use dual intermediate CAs for devstack
90549916 Fix template that generates vrrp check script
c4c7387f worker: Re-add FailoverPreparationForAmphora
3b5a19c3 Standardizes terminology in Listener documentation
0978c776 Switch TaskFlow engine to parallel
37b50c1f Set Libvirt hw_rng for devstack
0720397d Work around strptime threading issue
6af536ec Fix provider driver utils
36afa82d Fix L7 repository create methods
2529fa33 Lookup interfaces by MAC directly
b42a64a0 Allow listeners for different protocols on the same port
1a26ba4a Use the infra pypi mirror for DIB
a04e3e37 Remove amphora-agent build deps
afa917a3 Change amphora logging to dedicated socket
5e9d72b9 Fixed typos and bad markup style in maintenance guide
2ad55b14 Add unit test for failover of spare amphorae
51824181 Re-enable the py36 tox environment
4544078a Clarify that an example is not an actual list
262a89c7 Add missing lib dependencies to requirements.txt
50c168e8 Fix wrong package names or versions for centos-minimal images
6e57e6fd Install missing packages in nodepool instance
b1a4758f Fix listener deletion in ACTIVE/STANDBY topology
58961705 Add Octavia tox "tips" jobs
f8d4f8ae Add the DIB_REPO* variables to the README.rst
b32064cd Fix a unit test for new octavia-lib
ec83c693 Add support for oslo_middleware http_proxy_to_wsgi
2504c109 Force DIB Python version for py2 in diskimage-create
0a9f5870 Fixed down server issue after reloading keepalived
4decb6d5 Fixed pool and members status with UDP loadbalancers
65e132a7 Add support for monitor_{address,port} in UDP members
ab8a2636 Fix flavor profile API handling of None updates
e4e7b4a8 Fix l7rule API handling of None updates
52485738 Correcting typo in healthmonitors-list-response.json - http_vesion to http_version.
93e06a92 Add failover logging to show the amphora details.
262ffaa9 Build amphora image using centos-minimal element
bd80cef6 Remove octavia-v2-dsvm-scenario-ubuntu-bionic job
24fc7d61 Make Ubuntu bionic the default for amphora images
06ce4777 Fix multi-listener load balancers
a84352af Add missing test requirement "fixtures"
45cf2f32 Add project_id to all of the provider objects
bc19e079 Update api-ref location
6b056dac Bump the openstackdocstheme extension to 1.20
2bb2f918 Fix cryptsetup --pbkdf-memory failures
b12e5bb2 Add cloud-init-datasources DIB element
a70db6bf Blacklist sphinx 2.1.0 (autodoc bug)
5114a9a4 elements: add arch property for ``open-vm-tools``
2b598570 Add active-standby scenario jobs to check queue
48371c98 Add warning log if auth_strategy is not keystone
6c075686 Fix dhclient enter hook path on RHEL-based amps
e3aacb67 Switch the default Ubuntu kernel to -virtual
56bb1e13 Prevent UDP LBs to use different IP protocol versions in amphora driver
f8a2560e Add Python 3 Train unit tests
de30dbb6 Update tox.ini for new upper constraints strategy
feaa1ce0 only rollback DB when we have a connection to the DB
cd50ae5c Specify the linux-image-kvm kernel for ubuntu
09733a0c Add bindep.txt for Octavia
a144e512 Switch python3 versions of test jobs to match Train PTI
624a63dc Workaround pyroute2 platform-dependent imports
f1542afb Add a note about nova hardware architectures
dc459e22 Fix a python3 issue in the amphora-agent
83af850e Fix TCP listener logging bug
0eaab450 Fix allocate_and_associate DB deadlock
686303e7 Amphora logging
80ddbaee Align logging in the amphora
88217373 Add RHEL 8 amphora support
4007d56b Limit cryptsetup key RAM usage
0ab16921 Create Amphora V2 provider driver
6d2e2be8 Remove references to OpenStack Anchor
d3c3f148 Clarify that the certificate guide should be used
a95f7481 Fix health monitor API handling of None updates
fc9163fc Fix member API handling of None/null updates
3ee0f521 Rename review.openstack.org to review.opendev.org
e2defa6d Fix catching driver exceptions
ee0b566d Document health monitor UDP-CONNECT type
135d999f Fix tox for functional py36 and py37
1d76a3e2 Correct OVN driver feature matrix
89f7d349 Delete unused files in tests/contrib
9ecc7abf Enable fail-fast on the gate queue
7971b8ab db: add missing primary key in spares_pool table
88c4b9bb Remove tempest.test_plugins from setup.cfg
e5d8a1a3 Add provider feature support matrix
f9455cd9 Remove tests/tempest path from devstack and tox
db212fc3 Fix pool API handling of None/null updates
ff50886d Update hacking version to latest
5b831f2a Force amp-agent communication to TLSv1.2
c4faac25 Add Python 3.7 support
2c99d010 Cap to sphinx 2.0.0 on Python 2.7
1910f024 Replace git.openstack.org URLs with opendev.org URLs
29d4340e Remove v1 API and associated code
24e77d60 Performance improvement for non-udp health checks
1a87298a Bandit test exclusions syntax change
3fc6b93d Ignore .vscode directory
0000412c Make sure amphora logging works the same on py2 and py3
28f4f9e4 Fix missing INCLUDEPKGS var in haproxy element
57d653cc Make amphora cert validity time configurable
b9e8f7e2 Update some octavia documentation
b1f3d949 Removing an erroneous comment
5f16d221 Update operator maintenance doc
930a3236 Fix listener API handling of None/null updates
f0776e0c Remove python3.5 jobs for Train
01269183 OpenDev Migration Patch
4c9097c6 Adding changes to support ppc64le amphora builds with CentOS
a509710a Fix spare amphora failover
c987140f Update documentation about rotating amphorae
7d1bdc31 Fix missing REDIRECT_PREFIX in the api-ref
b274355e Constraint networkx to <2.3 for Python 2
41ff4313 Fix the amphora base port coming up
951afb9a Fix IPv6 in Active/Standby topology on CentOS
0b468090 Fix spare amphora check and creation
5fb79c94 Fix invalid query selector with list_ports
e0c45ce4 Fix setting of VIP QoS policy
95a872fc Fix VIP plugging on CentOS-based amphorae
31741aa4 Add support to the Python Visual Studio Debugger
23a41141 Fix ifup failures on member interfaces with IPv6
962f5f26 Adds server_certs_key_passphrase to octavia.conf
b0bc17a2 Replace openstack.org git:// URLs with https://
811ec10f Make sure the expected codes list is sorted
7736eead Update master for stable/stein
dc5a708d Fix initialization of Barbican client
6c0af86e Add error-handling for permission of /etc/octavia
d1518c5c Fix diskimage-create tox, add ``build`` and ``test`` targets
5fb46835 Install DIB binary dependencies from bindep.txt
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
.gitreview | 3 +-
.pylintrc | 4 +-
README.rst | 2 +-
api-ref/source/conf.py | 15 -
api-ref/source/examples/versions-get-resp.json | 8 -
api-ref/source/index.rst | 5 -
api-ref/source/parameters.yaml | 56 +-
api-ref/source/v1/octaviaapi.rst | 2280 ----------------
.../v2/examples/healthmonitors-list-response.json | 2 +-
api-ref/source/v2/examples/listener-create-curl | 2 +-
.../v2/examples/listener-create-request.json | 6 +-
.../v2/examples/listener-create-response.json | 6 +-
.../source/v2/examples/listener-show-response.json | 6 +-
api-ref/source/v2/examples/listener-update-curl | 2 +-
.../v2/examples/listener-update-request.json | 6 +-
.../v2/examples/listener-update-response.json | 6 +-
.../v2/examples/listeners-list-response.json | 6 +-
api-ref/source/v2/listener.inc | 6 +
api-ref/source/v2/member.inc | 8 +
api-ref/source/v2/pool.inc | 7 +-
bin/create_certificates.sh | 84 -
bin/create_dual_intermediate_CA.sh | 161 ++
bin/create_single_CA_intermediate_CA.sh | 116 +
bin/openssl.cnf | 144 ++
bindep.txt | 27 +
devstack/README.md | 2 +-
devstack/contrib/new-octavia-devstack.sh | 6 +-
.../etc/rsyslog/10-octavia-log-offloading.conf | 11 +
devstack/files/debs/octavia | 1 +
devstack/files/rpms-suse/octavia | 1 +
devstack/files/rpms/octavia | 1 +
devstack/plugin.sh | 122 +-
devstack/pregenerated/certs/client.key | 28 -
.../certs/{ca_01.pem => client_ca.cert.pem} | 0
devstack/pregenerated/certs/private/cakey.pem | 30 -
.../client.cert-and-key.pem} | 0
.../pregenerated/certs/private/server_ca.key.pem | 30 +
.../pregenerated/certs/server_ca-chain.cert.pem | 22 +
devstack/pregenerated/certs/server_ca.cert.pem | 22 +
devstack/samples/multinode/Vagrantfile | 4 +-
devstack/samples/multinode/local-2.conf | 4 +-
devstack/samples/multinode/local.conf | 8 +-
devstack/samples/singlenode/Vagrantfile | 2 +-
devstack/samples/singlenode/local.conf | 8 +-
devstack/settings | 11 +-
devstack/upgrade/settings | 4 +-
diskimage-create/README.rst | 73 +-
diskimage-create/diskimage-create.sh | 87 +-
diskimage-create/tox.ini | 21 +-
.../feature-matrix-healthmonitor.ini | 168 ++
.../feature-matrix-l7policy.ini | 127 +
.../feature-matrix-l7rule.ini | 167 ++
.../feature-classification/feature-matrix-lb.ini | 114 +
.../feature-matrix-listener.ini | 279 ++
.../feature-matrix-member.ini | 111 +
.../feature-classification/feature-matrix-pool.ini | 203 ++
elements/amphora-agent/element-deps | 1 +
elements/amphora-agent/package-installs.yaml | 2 +
elements/amphora-agent/pkg-map | 19 +-
.../post-install.d/10-enable-network-scripts | 12 +
.../post-install.d/90-remove-build-deps | 27 +
.../amphora-agent/source-repository-amphora-agent | 4 +-
.../static/etc/rsyslog.d/55-octavia-socket.conf | 4 +
elements/certs-ramfs/element-deps | 1 +
.../init-scripts/systemd/certs-ramfs.service | 2 +-
elements/certs-ramfs/init-scripts/sysv/certs-ramfs | 9 +-
.../init-scripts/upstart/certs-ramfs.conf | 9 +-
.../certs-ramfs/static/usr/local/bin/certfs-ramfs | 19 +
elements/haproxy-octavia/pkg-map | 8 +-
.../haproxy-octavia/pre-install.d/01-backports | 24 +-
.../finalise.d/99-disable-resolv-conf | 4 +-
etc/octavia.conf | 159 +-
lower-constraints.txt | 10 +-
octavia/amphorae/backends/agent/agent_jinja_cfg.py | 6 +-
.../amphorae/backends/agent/api_server/__init__.py | 2 +-
.../backends/agent/api_server/amphora_info.py | 14 +-
.../agent/api_server/haproxy_compatibility.py | 2 +-
.../backends/agent/api_server/keepalived.py | 10 +-
.../backends/agent/api_server/keepalivedlvs.py | 57 +-
.../api_server/{listener.py => loadbalancer.py} | 251 +-
.../amphorae/backends/agent/api_server/osutils.py | 22 +-
octavia/amphorae/backends/agent/api_server/plug.py | 26 +-
.../amphorae/backends/agent/api_server/server.py | 74 +-
.../api_server/templates/keepalived.systemd.j2 | 4 +-
.../api_server/templates/keepalived.sysvinit.j2 | 4 +-
.../api_server/templates/keepalived.upstart.j2 | 4 +-
.../templates/keepalived_check_script.conf.j2 | 2 +-
.../api_server/templates/rh_plug_vip_ethX.conf.j2 | 2 +
.../backends/agent/api_server/udp_listener_base.py | 17 -
octavia/amphorae/backends/agent/api_server/util.py | 127 +-
.../agent/templates/amphora_agent_conf.template | 5 +
.../backends/health_daemon/health_daemon.py | 101 +-
.../backends/health_daemon/health_sender.py | 2 +-
octavia/amphorae/backends/utils/haproxy_query.py | 6 +-
.../amphorae/backends/utils/keepalivedlvs_query.py | 56 +-
octavia/amphorae/drivers/driver_base.py | 95 +-
.../amphorae/drivers/haproxy/rest_api_driver.py | 587 +++--
.../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 2 +-
.../drivers/keepalived/vrrp_rest_driver.py | 15 +-
octavia/amphorae/drivers/noop_driver/driver.py | 82 +-
octavia/api/app.py | 3 +
octavia/api/common/pagination.py | 4 +-
octavia/api/common/types.py | 19 +-
.../amphora_driver/v1}/__init__.py | 0
.../api/drivers/amphora_driver/{ => v1}/driver.py | 43 +-
.../amphora_driver/v2}/__init__.py | 0
octavia/api/drivers/amphora_driver/v2/driver.py | 385 +++
octavia/api/drivers/driver_agent/driver_get.py | 82 +
.../api/drivers/driver_agent/driver_listener.py | 49 +-
octavia/api/drivers/noop_driver/agent.py | 26 +
octavia/api/drivers/utils.py | 95 +-
octavia/api/handlers/abstract_handler.py | 67 -
.../api/handlers/controller_simulator/handler.py | 478 ----
octavia/api/handlers/queue/producer.py | 241 --
octavia/api/root_controller.py | 90 +-
octavia/api/v1/controllers/__init__.py | 36 -
octavia/api/v1/controllers/base.py | 141 -
octavia/api/v1/controllers/health_monitor.py | 200 --
octavia/api/v1/controllers/l7policy.py | 187 --
octavia/api/v1/controllers/l7rule.py | 170 --
octavia/api/v1/controllers/listener.py | 282 --
octavia/api/v1/controllers/listener_statistics.py | 42 -
octavia/api/v1/controllers/load_balancer.py | 306 ---
.../api/v1/controllers/load_balancer_statistics.py | 40 -
octavia/api/v1/controllers/member.py | 196 --
octavia/api/v1/controllers/pool.py | 258 --
octavia/api/v1/controllers/quotas.py | 101 -
octavia/api/v1/types/health_monitor.py | 66 -
octavia/api/v1/types/l7policy.py | 87 -
octavia/api/v1/types/l7rule.py | 57 -
octavia/api/v1/types/listener.py | 112 -
octavia/api/v1/types/load_balancer.py | 78 -
octavia/api/v1/types/load_balancer_statistics.py | 50 -
octavia/api/v1/types/member.py | 60 -
octavia/api/v1/types/pool.py | 114 -
octavia/api/v1/types/quotas.py | 73 -
octavia/api/v2/controllers/base.py | 2 +
octavia/api/v2/controllers/flavor_profiles.py | 30 +-
octavia/api/v2/controllers/flavors.py | 4 +-
octavia/api/v2/controllers/health_monitor.py | 43 +-
octavia/api/v2/controllers/l7rule.py | 5 +
octavia/api/v2/controllers/listener.py | 110 +-
octavia/api/v2/controllers/load_balancer.py | 51 +-
octavia/api/v2/controllers/member.py | 64 +-
octavia/api/v2/controllers/pool.py | 16 +-
octavia/api/v2/types/health_monitor.py | 6 +-
octavia/api/v2/types/listener.py | 12 +-
octavia/api/v2/types/member.py | 6 +-
octavia/certificates/common/auth/barbican_acl.py | 5 +-
octavia/certificates/common/barbican.py | 3 +-
octavia/certificates/common/cert.py | 4 -
octavia/certificates/common/local.py | 12 +-
octavia/certificates/common/pkcs12.py | 6 +-
octavia/certificates/generator/anchor.py | 66 -
octavia/certificates/generator/cert_gen.py | 2 -
octavia/certificates/manager/barbican.py | 2 +
octavia/certificates/manager/local.py | 15 +-
octavia/cmd/agent.py | 16 +-
octavia/cmd/api.py | 6 +
octavia/cmd/driver_agent.py | 98 +-
octavia/cmd/health_manager.py | 4 +
octavia/cmd/octavia_worker.py | 11 +-
octavia/common/base_taskflow.py | 3 +
octavia/common/clients.py | 42 +
octavia/common/config.py | 221 +-
octavia/common/constants.py | 143 +-
octavia/common/data_models.py | 81 +-
octavia/common/exceptions.py | 18 +-
.../jinja/haproxy/combined_listeners/__init__.py | 0
.../jinja/haproxy/combined_listeners/jinja_cfg.py | 499 ++++
.../haproxy/combined_listeners/templates/base.j2 | 52 +
.../combined_listeners/templates/haproxy.cfg.j2 | 40 +
.../haproxy/combined_listeners/templates/macros.j2 | 370 +++
.../jinja/haproxy/split_listeners/__init__.py | 0
.../haproxy/{ => split_listeners}/jinja_cfg.py | 34 +-
.../{ => split_listeners}/templates/base.j2 | 4 +-
.../{ => split_listeners}/templates/haproxy.cfg.j2 | 0
.../{ => split_listeners}/templates/macros.j2 | 9 +-
octavia/common/jinja/logging/__init__.py | 0
octavia/common/jinja/logging/logging_jinja_cfg.py | 66 +
.../logging/templates/10-rsyslog.conf.template | 27 +
octavia/common/jinja/lvs/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/templates/macros.j2 | 10 +-
octavia/common/tls_utils/cert_parser.py | 46 +-
octavia/common/utils.py | 13 +
octavia/common/validate.py | 9 +
octavia/compute/compute_base.py | 9 -
octavia/compute/drivers/nova_driver.py | 53 +-
.../healthmanager/health_drivers/update_db.py | 297 ++-
octavia/controller/healthmanager/health_manager.py | 6 +-
.../controller/healthmanager/update_serializer.py | 47 -
octavia/controller/housekeeping/house_keeping.py | 2 +-
octavia/controller/queue/event_queue.py | 76 -
.../queue => controller/queue/v1}/__init__.py | 0
octavia/controller/queue/{ => v1}/consumer.py | 4 +-
.../queue/{endpoint.py => v1/endpoints.py} | 2 +-
.../{api/v1 => controller/queue/v2}/__init__.py | 0
octavia/controller/queue/v2/consumer.py | 65 +
octavia/controller/queue/v2/endpoints.py | 156 ++
.../v1/types => controller/worker/v1}/__init__.py | 0
.../worker/{ => v1}/controller_worker.py | 47 +-
.../controller/worker/{ => v1}/flows/__init__.py | 0
.../worker/{ => v1}/flows/amphora_flows.py | 21 +-
.../worker/{ => v1}/flows/health_monitor_flows.py | 14 +-
.../worker/{ => v1}/flows/l7policy_flows.py | 14 +-
.../worker/{ => v1}/flows/l7rule_flows.py | 14 +-
.../worker/{ => v1}/flows/listener_flows.py | 18 +-
.../worker/{ => v1}/flows/load_balancer_flows.py | 20 +-
.../worker/{ => v1}/flows/member_flows.py | 18 +-
.../controller/worker/{ => v1}/flows/pool_flows.py | 14 +-
.../controller/worker/{ => v1}/tasks/__init__.py | 0
.../worker/{ => v1}/tasks/amphora_driver_tasks.py | 67 +-
.../controller/worker/{ => v1}/tasks/cert_task.py | 3 +-
.../worker/{ => v1}/tasks/compute_tasks.py | 9 +-
.../worker/{ => v1}/tasks/database_tasks.py | 6 +-
.../worker/{ => v1}/tasks/lifecycle_tasks.py | 0
.../worker/{ => v1}/tasks/model_tasks.py | 0
.../worker/{ => v1}/tasks/network_tasks.py | 15 +-
.../api/v1 => controller/worker/v2}/__init__.py | 0
octavia/controller/worker/v2/controller_worker.py | 989 +++++++
.../worker/v2/flows}/__init__.py | 0
.../controller/worker/v2/flows/amphora_flows.py | 602 +++++
.../worker/v2/flows/health_monitor_flows.py | 105 +
.../controller/worker/v2/flows/l7policy_flows.py | 92 +
octavia/controller/worker/v2/flows/l7rule_flows.py | 98 +
.../controller/worker/v2/flows/listener_flows.py | 128 +
.../worker/v2/flows/load_balancer_flows.py | 341 +++
octavia/controller/worker/v2/flows/member_flows.py | 209 ++
octavia/controller/worker/v2/flows/pool_flows.py | 127 +
.../worker/v2/tasks}/__init__.py | 0
.../worker/v2/tasks/amphora_driver_tasks.py | 364 +++
octavia/controller/worker/v2/tasks/cert_task.py | 51 +
.../controller/worker/v2/tasks/compute_tasks.py | 258 ++
.../controller/worker/v2/tasks/database_tasks.py | 2707 +++++++++++++++++++
.../controller/worker/v2/tasks/lifecycle_tasks.py | 173 ++
octavia/controller/worker/v2/tasks/model_tasks.py | 41 +
.../controller/worker/v2/tasks/network_tasks.py | 659 +++++
octavia/db/base_models.py | 17 +-
octavia/db/migration/alembic_migrations/env.py | 1 +
.../392fb85b4419_add_primary_key_to_spares_pool.py | 47 +
.../46d914b2a5e5_seed_the_spares_pool_table.py | 47 +
.../versions/6ffc710674ef_spares_pool_table.py | 2 +-
.../a5762a99609a_add_protocol_in_listener_keys.py | 35 +
.../da371b422669_allowed_cidr_for_listeners.py | 40 +
...dcf88e59aae4_add_lb_algorithm_source_ip_port.py | 67 +
octavia/db/models.py | 25 +-
octavia/db/prepare.py | 2 +-
octavia/db/repositories.py | 60 +-
octavia/distributor/drivers/driver_base.py | 7 -
octavia/hacking/checks.py | 4 +-
octavia/network/base.py | 36 +-
octavia/network/data_models.py | 14 +
.../drivers/neutron/allowed_address_pairs.py | 97 +-
octavia/network/drivers/neutron/base.py | 23 +-
octavia/network/drivers/neutron/utils.py | 9 +
octavia/network/drivers/noop_driver/driver.py | 25 +
octavia/opts.py | 1 -
.../sample_configs => common}/sample_certs.py | 0
.../backend/agent/api_server/test_keepalivedlvs.py | 66 +-
.../backend/agent/api_server/test_server.py | 445 ++--
.../v1 => functional/api/drivers}/__init__.py | 0
.../api/drivers/driver_agent}/__init__.py | 0
.../api/drivers/driver_agent/test_driver_agent.py | 344 +++
.../functional/api/v1/test_listener_statistics.py | 51 -
.../api/v1/test_load_balancer_statistics.py | 57 -
.../functional/api/v2/test_flavor_profiles.py | 21 +-
.../tempest/v1/clients/health_monitors_client.py | 60 -
.../tempest/v1/clients/load_balancers_client.py | 101 -
.../tempest/v1/scenario/test_listener_basic.py | 46 -
.../v1/scenario/test_load_balancer_tree_minimal.py | 46 -
.../backends/agent/api_server/test_amphora_info.py | 46 +-
.../agent/api_server/test_haproxy_compatibility.py | 22 +-
.../agent/api_server/test_keepalivedlvs.py | 8 -
.../backends/agent/api_server/test_listener.py | 192 --
.../backends/agent/api_server/test_loadbalancer.py | 279 ++
.../backends/agent/api_server/test_plug.py | 84 +-
.../backends/agent/api_server/test_util.py | 106 +-
.../backends/agent/test_agent_jinja_cfg.py | 42 +-
.../backends/health_daemon/test_health_daemon.py | 68 +-
.../amphorae/backends/utils/test_haproxy_query.py | 49 +-
.../backends/utils/test_keepalivedlvs_query.py | 87 +-
...t_api_driver.py => test_rest_api_driver_0_5.py} | 651 ++---
.../drivers/haproxy/test_rest_api_driver_1_0.py | 1379 ++++++++++
.../drivers/keepalived/test_vrrp_rest_driver.py | 22 +-
.../test_noop_amphoraloadbalancer_driver.py | 35 +-
.../api/drivers/amphora_driver/v1}/__init__.py | 0
.../amphora_driver/{ => v1}/test_amphora_driver.py | 162 +-
.../api/drivers/amphora_driver}/v2/__init__.py | 0
.../amphora_driver/v2/test_amphora_driver.py | 634 +++++
.../api/drivers/driver_agent/test_driver_get.py | 121 +
.../drivers/driver_agent/test_driver_listener.py | 55 +-
.../unit/api/drivers/test_provider_noop_agent.py} | 26 +-
.../unit/api/v1/types/test_health_monitors.py | 139 -
.../certificates/common/auth/test_barbican_acl.py | 4 +-
.../unit/certificates/common/test_barbican.py | 2 +-
.../unit/certificates/generator/test_anchor.py | 47 -
.../unit/certificates/generator/test_local.py | 4 +-
.../unit/certificates/manager/test_barbican.py | 22 +-
.../certificates/manager/test_barbican_legacy.py | 2 +-
.../jinja/haproxy/combined_listeners/__init__.py | 0
.../haproxy/combined_listeners/test_jinja_cfg.py | 1207 +++++++++
.../jinja/haproxy/split_listeners/__init__.py | 0
.../{ => split_listeners}/test_jinja_cfg.py | 382 +--
.../common/jinja/logging/test_logging_jinja_cfg.py | 61 +
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py | 111 +-
.../sample_configs/sample_configs_combined.py | 1092 ++++++++
.../{sample_configs.py => sample_configs_split.py} | 102 +-
.../unit/common/tls_utils/test_cert_parser.py | 25 +-
.../healthmanager/health_drivers/test_update_db.py | 316 ++-
.../healthmanager/test_health_manager.py | 24 +-
.../healthmanager/test_update_serializer.py | 39 -
.../controller/housekeeping/test_house_keeping.py | 6 +-
.../controller/queue/v1}/__init__.py | 0
.../controller/queue/{ => v1}/test_consumer.py | 6 +-
.../{test_endpoint.py => v1/test_endpoints.py} | 14 +-
.../controller/queue/v2}/__init__.py | 0
.../unit/controller/queue/v2/test_consumer.py | 72 +
.../unit/controller/queue/v2/test_endpoints.py | 182 ++
.../handlers => controller/worker/v1}/__init__.py | 0
.../worker/v1/flows}/__init__.py | 0
.../worker/{ => v1}/flows/test_amphora_flows.py | 2 +-
.../{ => v1}/flows/test_health_monitor_flows.py | 2 +-
.../worker/{ => v1}/flows/test_l7policy_flows.py | 2 +-
.../worker/{ => v1}/flows/test_l7rule_flows.py | 2 +-
.../worker/{ => v1}/flows/test_listener_flows.py | 2 +-
.../{ => v1}/flows/test_load_balancer_flows.py | 5 +-
.../worker/{ => v1}/flows/test_member_flows.py | 2 +-
.../worker/{ => v1}/flows/test_pool_flows.py | 2 +-
.../v1 => controller/worker/v1/tasks}/__init__.py | 0
.../{ => v1}/tasks/test_amphora_driver_tasks.py | 119 +-
.../worker/{ => v1}/tasks/test_cert_task.py | 8 +-
.../worker/{ => v1}/tasks/test_compute_tasks.py | 29 +-
.../worker/{ => v1}/tasks/test_database_tasks.py | 4 +-
.../{ => v1}/tasks/test_database_tasks_quota.py | 2 +-
.../worker/{ => v1}/tasks/test_lifecycle_tasks.py | 2 +-
.../worker/{ => v1}/tasks/test_model_tasks.py | 2 +-
.../worker/{ => v1}/tasks/test_network_tasks.py | 2 +-
.../worker/{ => v1}/test_controller_worker.py | 132 +-
.../v1/types => controller/worker/v2}/__init__.py | 0
.../controller/worker/{ => v2}/flows/__init__.py | 0
.../worker/v2/flows/test_amphora_flows.py | 422 +++
.../worker/v2/flows/test_health_monitor_flows.py | 72 +
.../worker/v2/flows/test_l7policy_flows.py | 67 +
.../worker/v2/flows/test_l7rule_flows.py | 67 +
.../worker/v2/flows/test_listener_flows.py | 90 +
.../worker/v2/flows/test_load_balancer_flows.py | 228 ++
.../worker/v2/flows/test_member_flows.py | 88 +
.../controller/worker/v2/flows/test_pool_flows.py | 77 +
.../controller/worker/{ => v2}/tasks/__init__.py | 0
.../worker/v2/tasks/test_amphora_driver_tasks.py | 637 +++++
.../controller/worker/v2/tasks/test_cert_task.py | 47 +
.../worker/v2/tasks/test_compute_tasks.py | 481 ++++
.../worker/v2/tasks/test_database_tasks.py | 2727 ++++++++++++++++++++
.../worker/v2/tasks/test_database_tasks_quota.py | 322 +++
.../worker/v2/tasks/test_lifecycle_tasks.py | 401 +++
.../controller/worker/v2/tasks/test_model_tasks.py | 44 +
.../worker/v2/tasks/test_network_tasks.py | 801 ++++++
.../controller/worker/v2/test_controller_worker.py | 1511 +++++++++++
.../drivers/neutron/test_allowed_address_pairs.py | 76 +-
.../unit/network/drivers/neutron/test_base.py | 21 +-
.../unit/network/drivers/neutron/test_utils.py | 18 +-
.../unit/volume/drivers/test_cinder_driver.py | 99 +
.../unit/volume/drivers/test_volume_noop_driver.py | 46 +
octavia/volume/__init__.py | 0
octavia/volume/drivers/__init__.py | 0
octavia/volume/drivers/cinder_driver.py | 123 +
octavia/volume/drivers/noop_driver/__init__.py | 0
octavia/volume/drivers/noop_driver/driver.py | 60 +
octavia/volume/volume_base.py | 46 +
playbooks/image-build/run.yaml | 5 +-
playbooks/legacy/grenade-devstack-octavia/run.yaml | 10 +-
.../legacy/octavia-v1-dsvm-py3x-scenario/post.yaml | 19 -
.../legacy/octavia-v1-dsvm-py3x-scenario/run.yaml | 68 -
.../legacy/octavia-v1-dsvm-scenario/post.yaml | 19 -
playbooks/legacy/octavia-v1-dsvm-scenario/run.yaml | 67 -
...-driver-agent-get-methods-b624a1342c3e6d0f.yaml | 4 +
.../notes/Add-log-offloading-233cd8612c0dd2b5.yaml | 12 +
...dd-provider-agent-support-a735806c4da4c470.yaml | 6 +
.../Fix-API-update-null-None-1b400962017a3d56.yaml | 6 +
...DB-Rollback-no-connection-2664c4f7823ecaec.yaml | 5 +
...te_and_associate-deadlock-3ff1464421c1d464.yaml | 4 +
...Fix-ifup-on-member-create-5b405d98eb036718.yaml | 4 +
...evert-abandoned-vrrp-port-efff14edce62ad75.yaml | 5 +
...irtual-kernel-for-Amphora-a1e8af8bc7893011.yaml | 7 +
...-algorithm-source-ip-port-ff86433143e43136.yaml | 16 +
.../notes/add-ptvsd-debugger-33bb632bccf494bb.yaml | 5 +
.../notes/add-rhel-amphora-ab4a7bada2fa3eb7.yaml | 4 +
.../notes/add-vip-acl-4a7e20d167fe4a49.yaml | 5 +
...client-auth-vulnerability-6803f4bac2508e4c.yaml | 5 +
...-active-standby-in-centos-4e47140e0e139de8.yaml | 4 +
.../notes/fix-driver-errors-81d33948288bf8cf.yaml | 4 +
.../notes/fix-eth1-ip-flush-7fadda4bdca387b5.yaml | 11 +
...d-attribute-for-filtering-d2ddb95a1acbded2.yaml | 4 +
.../None-fde2ffab82e783a4.yaml | 7 +
...x-loadbalancer-db-cleanup-61ee81a4fd597067.yaml | 5 +
...lvconf-rhel-dhclient-hook-36a1c3b1a3b03a3d.yaml | 5 +
...fix-provider-driver-utils-b75485785dcd6462.yaml | 6 +
...mphora-check-and-creation-3adf939b45610155.yaml | 4 +
...s-and-port-in-udp-members-ff83395544f228cf.yaml | 6 +
.../fix-udp-members-status-ef3202849bfda29b.yaml | 6 +
...fix-udp-server-status-bug-db4d3e38bcdf0554.yaml | 12 +
...p-network-ip-availability-2e924f32abf01052.yaml | 7 +
.../fix-vip-plug-centos-74c2fe7099964b08.yaml | 3 +
...-policy-extension-enabled-3e16e1c23a7d7ae5.yaml | 7 +
...ed-spare-amphora-rotation-007ba406411a313d.yaml | 4 +
...mmunication-to-use-tls1.2-1c4adf72d2ce5a82.yaml | 6 +
.../haproxy-single-process-b17a3af3a97accea.yaml | 11 +
...rver_certs_key_passphrase-6a9dfc190c9deba8.yaml | 6 +
...ert-validity-configurable-7defc508b1174f89.yaml | 9 +
...atch-member-call-additive-4785163e625fed1a.yaml | 6 +
...e-deprecated-v1-resources-6360da3de27b74d3.yaml | 10 +
.../same-port-listeners-41198368d470e821.yaml | 5 +
...leware-http_proxy_to_wsgi-928c6fc5ec3d421c.yaml | 8 +
...-taskflow-engine-parallel-8bf743eca15a0253.yaml | 10 +
...ame-ip-protocol-in-udp-lb-2813b545131097ec.yaml | 7 +
.../volume-based-amphora-9a1899634f5244b0.yaml | 14 +
releasenotes/source/conf.py | 22 -
releasenotes/source/index.rst | 1 +
releasenotes/source/stein.rst | 6 +
requirements.txt | 13 +-
setup.cfg | 24 +-
specs/version0.5/controller.rst | 2 +-
specs/version0.5/tls-data-security.rst | 4 +-
specs/version0.8/active_passive_loadbalancer.rst | 2 +-
specs/version0.9/stats_api.rst | 2 +-
specs/version1.0/flavors.rst | 2 +-
specs/version1.1/enable-provider-driver.rst | 12 +-
test-requirements.txt | 9 +-
tools/create_flow_docs.py | 33 +-
tools/flow-list.txt | 54 +-
tox.ini | 74 +-
zuul.d/jobs.yaml | 71 +-
zuul.d/projects.yaml | 45 +-
526 files changed, 32755 insertions(+), 21386 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index fb25bd33..239b8f99 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -24 +24 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.messaging>=6.3.0 # Apache-2.0
@@ -36,0 +37 @@ python-novaclient>=9.1.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -44 +45 @@ castellan>=0.16.0 # Apache-2.0
-tenacity>=4.9.0 # Apache-2.0
+tenacity>=5.0.4 # Apache-2.0
@@ -48 +49,4 @@ debtcollector>=1.19.0 # Apache-2.0
-octavia-lib>=1.1.1 # Apache-2.0
+octavia-lib>=1.3.1 # Apache-2.0
+netaddr>=0.7.19 # BSD
+simplejson>=3.13.2 # MIT
+setproctitle>=1.1.10 # BSD
@@ -56 +60,2 @@ pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
-gunicorn>=19.0.0 # MIT
+gunicorn>=19.9.0 # MIT
+Werkzeug>=0.14.1 # BSD License
diff --git a/test-requirements.txt b/test-requirements.txt
index bc3205fa..8e8b4466 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0 # Apache-2.0
@@ -6,0 +7 @@ coverage!=4.4,>=4.0 # Apache-2.0
+fixtures>=3.0.0 # Apache-2.0/BSD
@@ -11 +12,2 @@ oslotest>=3.2.0 # Apache-2.0
-pylint==1.9.2 # GPLv2
+pylint==1.9.2;python_version<'3.0' # GPLv2
+pylint>=1.9.2;python_version>='3.0' # GPLv2
@@ -20 +22,2 @@ tempest>=17.1.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2;python_version>='3.4' # BSD
1
0