We are amped to announce the release of: kuryr-kubernetes 0.3.0: Kubernetes integration with OpenStack networking This release is part of the queens release series. The source is available from: https://git.openstack.org/cgit/openstack/kuryr-kubernetes Download the package from: https://tarballs.openstack.org/kuryr-kubernetes/ Please report issues through launchpad: https://bugs.launchpad.net/kuryr-kubernetes For more details, please see below. 0.3.0 ^^^^^ New Features ************ * oslo.cache support has been added to the default_subnet driver. This allows to skip unnecessary calls to neutron to retrieve network and subnet information that can be cached and retrieved faster. It includes the generic oslo caching options to enable/disable it as well as to specify the backend to use (dogpile.cache.memory by default). In addition it includes the specific options ofr the subnet driver, to enable/disable it just for this driver, as well as to specify the cache time. To change default configurations, the next can be modified at kuryr.conf [cache] enable=True backend=dogpile.cache.memory [subnet_caching] caching=True cache_time=3600 Other Notes *********** * Started using reno for release notes. Changes in kuryr-kubernetes 0.2.0..0.3.0 ---------------------------------------- bb5be50 Updates ports pool doc information 25f5498 Remove hardcoded "/opt/stack/new" from DevStack 657ade1 Remove Cinder from tempest gates e450cfa rm tools/tox_install.sh 904ed6c Fix kuryr-daemon for Werkzeug 0.13 d76558b Update service documentation with Octavia loadbalancer topology configurtaion. 18db649 Support kuryr-daemon when running containerized b584be7 Disable functional jobs on docs or reno changes 653ee56 Make some Tempest gates voting a93415b Use K8s 1.8 with Hyperkube 1aebde0 Ensure readiness probe is not always enabled bcc851a Add oslo_cache to default_subnet driver 94f5059 Enable debug log level in DevStack b689288 Add OpenShift gates 9fb0370 Add Reno release notes support to Kuryr-Kubernetes 3acc25d Add CNI daemon Tempest job 2a1fa61 devstack: add openshift support 2f65d99 CNI split - introducing CNI daemon d12442e Add VIF-Handler And Drivers Design approach 1c2320e Prevent pyroute2.IPDB threads leaking 00c5f00 Ignore the headless services 8b05365 Add readiness probe to kuryr-controller pod 79d8e23 Avoid neutron calls at recovering precreated ports db4b514 Enable Neutron Metadata Agent in Tempest jobs d64582f Add icmp sg rules to k8s project 60abd6b Zuul: add file extension to playbook path 353c193 Fix mistakes in tempest playbook cfdc991 Fix KeyError exception upon service/deployment deletion 4d603cb Use OVS_BRIDGE variable for bridge configuration 87b2418 Eliminate wrong ERROR report when service of type LoadBalancer type is deleted 2c018c9 Fix ports pool documentation 26e68ef Update dragonflow devstack local.conf 36ffdcb Add basic DevStack installation tutorial 3ebbe5f Enable port debug in devstack 3de8933 Add list and show pool commands to Pool Manager 38697dd Add Pool Manager to handle subports f53188a Speed up neutron request_vifs function e836272 Remove 99-loopback.conf e707f7a Add devstack ports pool configuration options 05a25af metadata.resourceVersion: Invalid value 39f615b Migrate to Zuulv3 12a87db Remove SCREEN_LOGDIR from devstack a9cb428 Add exception handling to _get_in_use_ports 5b3b02b Add support for service type=LoadBalancer 5a117db Optimize return_to_pool actions at Pool drivers b67a077 Recover precreated ports at NeutronVIFPool driver e74debf Updated from global requirements b268274 Add Octavia L2 member mode support f5e8f48 Avoid port update neutron call during pods boot up 3a8f419 [Trivial] Doc fix K8S/K8s -> Kubernetes eb428c1 Clean up ENV vars mistmatches in Dockerfiles 0448547 Fix local.conf.sample once again 2d9a2fc devstack: optionally run kuryr containerized 460cab6 CNI container: parametrize and clean up 632d32b Add support to install Kuryr as a network addon 1dd9d7a Fix local.conf.sample in without Octavia d10b927 Add methods to populate/free subport pools 7c2ec72 "Install kuryr-cni a virtualenv"->"Install kuryr-cni in a virtualenv" a3a25fd Dragonflow support: Installation & Configuration 6ba3122 Fix typo at local.conf.odl.sample template 055b4b7 Make precreated ports pool recovery not ML2/OVS specific 8697baf Ensure pool_key is properly created/retrieved 0c5b37c OpenDaylight support: Installation & Configuration d47fa2e Add DevStack base installation section ae22fe6 Updated from global requirements f1f19d6 modify some misspellings in doc 0da4345 Fix Incorrect Module Reference 78ad9e2 [Trivial] Using Similar Format of path like other places in same Doc Diffstat (except docs and test files) ------------------------------------- .dockerignore | 1 + .gitignore | 7 + .zuul.yaml | 162 +++++ cni.Dockerfile | 26 + cni.spec | 28 + cni_builder | 13 + cni_builder.Dockerfile | 45 ++ cni_ds_init | 42 ++ cni_main.patch | 12 + contrib/pools-management/README.rst | 320 +++++++++ contrib/pools-management/subports.py | 187 +++++ controller.Dockerfile | 23 + devstack/lib/kuryr_kubernetes | 411 ++++++++++- devstack/local.conf.df.sample | 90 ++- devstack/local.conf.odl.sample | 39 +- devstack/local.conf.openshift.sample | 220 ++++++ devstack/local.conf.pod-in-vm.overcloud.sample | 33 + devstack/local.conf.pod-in-vm.undercloud.df.sample | 49 ++ .../local.conf.pod-in-vm.undercloud.odl.sample | 83 +++ devstack/local.conf.pod-in-vm.undercloud.sample | 2 - devstack/local.conf.sample | 67 +- devstack/plugin.sh | 280 +++++++- devstack/settings | 28 +- .../installation/devstack/dragonflow_support.rst | 191 +++++ .../installation/devstack/nested-macvlan.rst | 42 ++ .../installation/testing_nested_connectivity.rst | 54 ++ etc/cni/net.d/99-loopback.conf | 4 - hooks/hook-backports.ssl_match_hostname.py | 15 + hooks/hook-dns.py | 2 + hooks/hook-kuryr_kubernetes.cni.binding.py | 9 + hooks/hook-os_vif.py | 7 + hooks/hook-pyroute2.py | 7 + hooks/hook-vif_plug_linux_bridge.py | 2 + hooks/hook-vif_plug_ovs.py | 2 + k8s_client.patch | 11 + kuryr_kubernetes/cmd/daemon.py | 22 + kuryr_kubernetes/cni/api.py | 151 ++-- kuryr_kubernetes/cni/binding/base.py | 54 +- kuryr_kubernetes/cni/binding/bridge.py | 38 +- kuryr_kubernetes/cni/binding/nested.py | 51 +- kuryr_kubernetes/cni/daemon/__init__.py | 0 kuryr_kubernetes/cni/daemon/service.py | 305 ++++++++ kuryr_kubernetes/cni/handlers.py | 9 + kuryr_kubernetes/cni/main.py | 44 +- kuryr_kubernetes/cni/utils.py | 47 ++ kuryr_kubernetes/config.py | 76 +- kuryr_kubernetes/constants.py | 10 + kuryr_kubernetes/controller/drivers/base.py | 46 ++ .../controller/drivers/default_subnet.py | 20 +- .../controller/drivers/lb_public_ip.py | 115 +++ kuryr_kubernetes/controller/drivers/lbaasv2.py | 17 + .../controller/drivers/nested_vlan_vif.py | 18 +- kuryr_kubernetes/controller/drivers/neutron_vif.py | 26 +- kuryr_kubernetes/controller/drivers/public_ip.py | 145 ++++ kuryr_kubernetes/controller/drivers/vif_pool.py | 410 ++++++++--- kuryr_kubernetes/controller/handlers/lbaas.py | 120 +++- kuryr_kubernetes/controller/managers/__init__.py | 0 kuryr_kubernetes/controller/managers/pool.py | 256 +++++++ kuryr_kubernetes/k8s_client.py | 46 +- kuryr_kubernetes/objects/lbaas.py | 17 + kuryr_kubernetes/opts.py | 7 + .../unit/controller/drivers/test_lb_public_ip.py | 323 +++++++++ .../controller/drivers/test_nested_vlan_vif.py | 13 +- .../unit/controller/drivers/test_neutron_vif.py | 54 +- .../unit/controller/drivers/test_public_ip.py | 191 +++++ kuryr_kubernetes/utils.py | 19 + playbooks/kuryr-kubernetes-install-base/post.yaml | 15 + playbooks/kuryr-kubernetes-install-base/run.yaml | 56 ++ playbooks/tempest-kuryr-kubernetes-base/post.yaml | 80 +++ playbooks/tempest-kuryr-kubernetes-base/run.yaml | 136 ++++ .../tempest-kuryr-kubernetes-multinode/post.yaml | 80 +++ .../tempest-kuryr-kubernetes-multinode/run.yaml | 99 +++ .../notes/oslo-caching-b11881cfb9dc306c.yaml | 22 + .../notes/started-using-reno-90dbe9da108ec5c4.yaml | 2 + releasenotes/source/README.rst | 10 + releasenotes/source/_static/.placeholder | 0 releasenotes/source/_templates/.placeholder | 0 releasenotes/source/conf.py | 163 +++++ releasenotes/source/index.rst | 11 + releasenotes/source/unreleased.rst | 5 + requirements.txt | 18 +- setup.cfg | 4 + test-requirements.txt | 8 +- tools/build_cni_daemonset_image | 28 + tools/generate_k8s_resource_definitions.sh | 106 +++ tools/tox_install.sh | 43 -- tox.ini | 5 +- 126 files changed, 8522 insertions(+), 841 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 7c3425b..a5fd650 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,0 +5,2 @@ +cotyledon>=1.3.0 # Apache-2.0 +Flask>=0.10,!=0.11,<1.0 # BSD @@ -9,6 +11,7 @@ eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT -oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 -oslo.log>=3.22.0 # Apache-2.0 -oslo.reports>=0.6.0 # Apache-2.0 -oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 -oslo.service>=1.10.0 # Apache-2.0 -oslo.utils>=3.20.0 # Apache-2.0 +oslo.cache>=1.26.0 # Apache-2.0 +oslo.config>=4.6.0 # Apache-2.0 +oslo.log>=3.30.0 # Apache-2.0 +oslo.reports>=1.18.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 +oslo.service>=1.24.0 # Apache-2.0 +oslo.utils>=3.28.0 # Apache-2.0 @@ -16 +19,2 @@ os-vif>=1.7.0 # Apache-2.0 -pyroute2>=0.4.17 # Apache-2.0 (+ dual licensed GPL2) +pyroute2>=0.4.21 # Apache-2.0 (+ dual licensed GPL2) +retrying>=1.2.3,!=1.3.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index b58ef95..c7464ab 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10 +10 @@ docutils>=0.11 # OSI-Approved Open Source, Public Domain -mock>=2.0 # BSD +mock>=2.0.0 # BSD @@ -13,2 +13,2 @@ sphinx>=1.6.2 # BSD -os-testr>=0.8.0 # Apache-2.0 -openstackdocstheme>=1.11.0 # Apache-2.0 +os-testr>=1.0.0 # Apache-2.0 +openstackdocstheme>=1.17.0 # Apache-2.0 @@ -19 +19 @@ testtools>=1.4.0 # MIT -reno!=2.3.1,>=1.8.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0