We are glad to announce the release of: kuryr-kubernetes 3.0.0: Kubernetes integration with OpenStack networking This release is part of the victoria release series. The source is available from: https://opendev.org/openstack/kuryr-kubernetes Download the package from: https://tarballs.openstack.org/kuryr-kubernetes/ Please report issues through: https://bugs.launchpad.net/kuryr-kubernetes/+bugs For more details, please see below. Changes in kuryr-kubernetes 2.0.0.0rc1..3.0.0 --------------------------------------------- dbda8b2 Disable dstat to enable tests on Ubuntu 20.04 07ca773 Don't clutter logs with exceptions on retry. aa02a4b Leaks of loadbalancer 1cee745 Skip KuryrLoadbalancer creation for Headless Service 5c855d9 Added new K8sFieldValueForbidden exception. 085cd25 fix typo of unittest 7894021 Clean lb crd status upon Load Balancer removal 7bc08f6 Reduce the Octavia health manager threads c31702e Fix OVN jobs, expand swap size, fix l-c 9743f6b Civilize logging vol 2 f9de061 Remove Barbican installation from gates 6a5f654 Ensure updated lb sgs is used on the CRD f2e3ffb Catch exceptions for deleted pod. 561f384 NP: Protect from disappearing resources 41c00f6 Delete ports without device_owner on ns deletion 257b5a8 Update 10-kuryr.conf to 10-kuryr.conflist, and generate the 10-kuryr.conflist file from the template file kuryr.conflist.template 46723c5 Skip FIP creation if no external subnet config is set 04c7cb6 Ensure loadBalancerIP is used when defined on the Service daedac3 Ensure LB sg is in sync with backend Pods 59651aa Ignore CRD creation errors when ns is terminated 375bee5 Update documentation for pod-annotation to KuryrPort. 6433c08 Remove all usage of six library a660eae Ensure proper cleanup of subports 4cf2d3e [Trivial]Add missing print parameter in log messages 1ffc938 Fix kuryr-controller error for not finding created resources 98c78b7 Guard against manually removing of KuryrPort CRD. 24c4b35 Remove the pod interface even if VIF is gone acfe749 DevStack: Disable leader election for K8s services c7fd319 Remove right finalizer on pod absence. 437a147 Convert KuryrLoadBalancer subsets CRD to EndpointSlice b7794a3 Fix typo dabb2a7 NP: Don't add pods without IP to affectedPods 53e29b7 Fix run generate_k8s_resource_definitions.sh 7e34b41 Upgrade Kubernetes version to 1.18 ebf5541 Cleanup minor thing for KuryrPort feature. 9cf6148 Ensure Service is delete if lb CRD is already gone 1aa6753 Move vifs to 'status' in the KuryrPort CRD. fb9e86c Ignore update_lbaas_sg() failure on NP deletion 24915ad Add finalizer for the pod as soon as possible. d80e1bf Support upgrading LBaaSState annotation to KLB CRD ddb5895 Upgrade ovn version on the gates 5e8511f Ignore update_lbaas_sg() failure on NP creation a1708e1 KuryrNetworkPolicy CRD f71ae55 Update loadbalancer CRD with service spec and rely on CRD 6d45914 Speed up container builds a458fa6 Pod annotations to KuryrPort CRD. b6c89de Implement add_finalizer and remove_finalizer b53bcf9 Fix coverage environment in tox. f8ec6de Use plugin instead of devstack service for Neutron. 2761a21 Refactor sriov binding driver 52cfea0 Added Neutron metadata service to the config files. 6457a9d Disable colors for K8s NP e2e tests e912b27 Run K8s e2e network policy tests abc679c Fix duplicated sg rules on NP crd aaffb43 Run coredns service on pod Network 9db38c8 Tweak exponential backoff d8892d2 Civilize logging 3d630e2 Attempt to autodetect interface in nested setups 9f722e6 Periodically fetch full list of watched resources cded615 Remove dragonflow 8b92062 Removing pod argument for activate_vif method. 258c708 Fix CNI image built 3042fb6 Add support for amphora to ovn-octavia upgrade bd46075 CNI: Don't wait for missing pods on DEL 9730f0a drop mock from lower-constraints c8bd311 Ensure allowed_cidrs field is present on older openstacksdk versions dc78e0c Remove ovn-octavia provider tcp+udp limitation 7cebc39 Ensure security_groups on LBaaSLoadBalancer defaults to empty list a6ee789 Ensure provider information is used when finding lbs 110a8ba Switch to newer openstackdocstheme and reno versions a94a60d Ensure kuryrnetwork CRs without status can be deleted 213483f Remove lb sg creation when octavia provider is ovn-octavia cb5272c Add gate for Octavia provider OVN 0e82d80 Handle binding_failed error when creating neutron port f4f083c Add py38 package metadata 10e9a6d [Trivial]Add missing white space between words 8d8b84c CNI: Confirm pods in cache before connecting 54ab3df Remove .testr.conf f8a315a Ensure LB resources with ERROR status are deleted 52577c4 Fix hacking min version to 3.0.1 9662b35 Use VFs for DPDK apps in pods inside VM b7a19ec Ignore errors when removing containers in DevStack 4ebece5 Fix pep8 job after flake8 upgrade 58e3ca2 Enable IPv6 in network policy driver. 9a6986a Raise quotas for security group rules. 3d82119 Pin OVN to branch-20.03 c7d798a Skip LB sg update when no endpoint is found 61f9c85 Throw an exception in case of exceeding quota. 09b09a2 Ensure NP are enforced on SVC with different port and target port 139b912 Upgrade centos in dockerfiles 473a606 Make _create_ports keys coherent with Neutron API. ec395b6 Add Python3 victoria unit tests 3ad10bb Update master for stable/ussuri 2b780e1 Update OVN local.conf c77a38f Fix ovn gate Diffstat (except docs and test files) ------------------------------------- .testr.conf | 4 - .zuul.d/base.yaml | 71 + .zuul.d/multinode.yaml | 5 +- .zuul.d/octavia.yaml | 13 +- .zuul.d/project.yaml | 17 +- .zuul.d/sdn.yaml | 137 +- cni.Dockerfile | 8 +- cni_ds_init | 8 +- controller.Dockerfile | 6 +- devstack/lib/kuryr_kubernetes | 10 +- devstack/local.conf.df.sample | 210 -- devstack/local.conf.odl.sample | 4 +- devstack/local.conf.openshift.sample | 7 +- devstack/local.conf.ovn.sample | 15 +- devstack/local.conf.pod-in-vm.undercloud.df.sample | 77 - .../local.conf.pod-in-vm.undercloud.odl.sample | 2 +- .../local.conf.pod-in-vm.undercloud.ovn.sample | 3 - devstack/local.conf.pod-in-vm.undercloud.sample | 3 - devstack/local.conf.sample | 7 +- devstack/plugin.sh | 245 ++- devstack/settings | 24 +- .../installation/devstack/dragonflow_support.rst | 190 -- etc/cni/net.d/10-kuryr.conf | 7 - etc/cni/net.d/10-kuryr.conflist | 11 + etc/cni/net.d/kuryr.conflist.template | 11 + kubernetes_crds/kuryr_crds/kuryrloadbalancer.yaml | 62 +- kubernetes_crds/kuryr_crds/kuryrnetpolicy.yaml | 2 - kubernetes_crds/kuryr_crds/kuryrnetworkpolicy.yaml | 158 ++ kubernetes_crds/kuryr_crds/kuryrport.yaml | 52 + kuryr_cni/main.go | 4 +- kuryr_kubernetes/clients.py | 20 +- kuryr_kubernetes/cni/binding/base.py | 7 + kuryr_kubernetes/cni/binding/bridge.py | 4 +- kuryr_kubernetes/cni/binding/dpdk.py | 64 +- kuryr_kubernetes/cni/binding/nested.py | 59 +- kuryr_kubernetes/cni/binding/sriov.py | 129 +- kuryr_kubernetes/cni/binding/vhostuser.py | 4 +- kuryr_kubernetes/cni/daemon/service.py | 80 +- kuryr_kubernetes/cni/handlers.py | 46 +- kuryr_kubernetes/cni/health.py | 56 +- kuryr_kubernetes/cni/plugins/k8s_cni_registry.py | 143 +- kuryr_kubernetes/config.py | 13 +- kuryr_kubernetes/constants.py | 21 +- kuryr_kubernetes/controller/drivers/base.py | 31 +- .../controller/drivers/lb_public_ip.py | 48 +- kuryr_kubernetes/controller/drivers/lbaasv2.py | 472 ++--- .../controller/drivers/namespace_subnet.py | 18 +- .../controller/drivers/nested_dpdk_vif.py | 2 +- .../controller/drivers/nested_macvlan_vif.py | 3 +- .../controller/drivers/nested_vlan_vif.py | 2 + .../controller/drivers/network_policy.py | 507 +++-- .../drivers/network_policy_security_groups.py | 420 ++-- kuryr_kubernetes/controller/drivers/neutron_vif.py | 22 +- kuryr_kubernetes/controller/drivers/sriov.py | 3 +- kuryr_kubernetes/controller/drivers/utils.py | 157 +- kuryr_kubernetes/controller/drivers/vif_pool.py | 80 +- .../controller/handlers/kuryrnetpolicy.py | 37 - .../controller/handlers/kuryrnetwork.py | 8 +- .../controller/handlers/kuryrnetworkpolicy.py | 324 +++ kuryr_kubernetes/controller/handlers/kuryrport.py | 279 +++ kuryr_kubernetes/controller/handlers/lbaas.py | 847 +++----- .../controller/handlers/loadbalancer.py | 773 +++++++ kuryr_kubernetes/controller/handlers/namespace.py | 6 +- kuryr_kubernetes/controller/handlers/pod_label.py | 52 +- kuryr_kubernetes/controller/handlers/policy.py | 128 +- kuryr_kubernetes/controller/handlers/vif.py | 314 ++- kuryr_kubernetes/controller/managers/health.py | 55 +- kuryr_kubernetes/exceptions.py | 42 +- kuryr_kubernetes/handlers/asynchronous.py | 30 +- kuryr_kubernetes/handlers/base.py | 2 +- kuryr_kubernetes/handlers/dispatch.py | 8 +- kuryr_kubernetes/handlers/k8s_base.py | 2 +- kuryr_kubernetes/handlers/logging.py | 4 +- kuryr_kubernetes/handlers/retry.py | 9 +- kuryr_kubernetes/health.py | 76 + kuryr_kubernetes/k8s_client.py | 171 +- kuryr_kubernetes/objects/lbaas.py | 20 +- .../unit/cni/plugins/test_k8s_cni_registry.py | 30 +- .../controller/drivers/test_default_project.py | 2 +- .../unit/controller/drivers/test_lb_public_ip.py | 110 +- .../controller/drivers/test_namespace_subnet.py | 2 +- .../unit/controller/drivers/test_nested_dpdk.py | 3 +- .../controller/drivers/test_nested_macvlan_vif.py | 3 +- .../unit/controller/drivers/test_network_policy.py | 557 ++--- .../drivers/test_network_policy_security_groups.py | 229 +-- .../unit/controller/drivers/test_neutron_vif.py | 9 +- .../unit/controller/handlers/test_kuryrnetwork.py | 10 +- .../controller/handlers/test_kuryrnetworkpolicy.py | 112 ++ .../unit/controller/handlers/test_kuryrport.py | 729 +++++++ .../unit/controller/handlers/test_loadbalancer.py | 546 +++++ .../unit/controller/handlers/test_pod_label.py | 48 +- kuryr_kubernetes/utils.py | 133 +- kuryr_kubernetes/watcher.py | 38 + lower-constraints.txt | 9 +- .../deprecate-sg-mode-option-96824c33335cd74b.yaml | 10 + releasenotes/source/conf.py | 7 +- releasenotes/source/index.rst | 1 + releasenotes/source/ussuri.rst | 6 + requirements.txt | 4 +- setup.cfg | 9 +- test-requirements.txt | 2 +- tools/gate/copy_k8s_logs.sh | 3 + tox.ini | 11 +- 136 files changed, 8844 insertions(+), 6300 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 33d32e2..8df466d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,2 +18,2 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 -oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 -oslo.utils>=3.33.0 # Apache-2.0 +oslo.service>=1.40.2 # Apache-2.0 +oslo.utils>=3.40.2 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index c1a26c6..2e42c1a 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -5 +5 @@ -hacking>=2.0.0 # Apache-2.0 +hacking>=3.0.1,<3.1.0 # Apache-2.0