RETIRED, Kubernetes integration with OpenStack networking
Go to file
Michał Dulko 1c2320e11e Prevent pyroute2.IPDB threads leaking
pyroute2.IPDB is an interesting entity. It's much more than a simple
interface to `ip` command, as it is more similar to a database process.
When created IPDB object spawns a thread that will be responsible for
updating the object with changes to the underlying OS. Thread stays up
until the user will call `release()` method.

Turns out code in kuryr_kubernetes.cni.binding wasn't taking that into
account and was slowly leaking threads (and possibly processes). This
became apparent when running Kuryr with CNI daemon enabled.

This commit fixes the problem by switching all IPDB usages to context
managers, so `release()` method is called automatically.  Also the IPDB
objects cache is removed as already released IPDB objects cannot be
reused. kuryr_kubernetes.cni.binding modules were missing unit tests,
this commit adds them as well.

Change-Id: I82afda3f217dac56228677bb66703c3d80e5d751
Closes-Bug: 1728996
2017-11-17 12:30:54 +01:00
contrib Add list and show pool commands to Pool Manager 2017-10-10 10:36:10 +00:00
devstack Add readiness probe to kuryr-controller pod 2017-11-14 12:03:15 +01:00
doc Add readiness probe to kuryr-controller pod 2017-11-14 12:03:15 +01:00
etc Remove 99-loopback.conf 2017-10-09 15:32:20 +02:00
hooks Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
kuryr_kubernetes Prevent pyroute2.IPDB threads leaking 2017-11-17 12:30:54 +01:00
playbooks Merge "Enable Neutron Metadata Agent in Tempest jobs" 2017-11-06 19:46:17 +00:00
scripts Controller service base 2016-10-04 21:56:50 +03:00
tools Add readiness probe to kuryr-controller pod 2017-11-14 12:03:15 +01:00
.coveragerc tox: fix coverage 2016-11-18 10:14:56 +03:00
.dockerignore Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
.gitignore Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
.gitreview Added .gitreview 2016-05-12 09:14:08 +00:00
.testr.conf cookiecutter commit for kuryr-kubernetes 2016-05-22 08:54:07 +03:00
.zuul.yaml Zuul: add file extension to playbook path 2017-10-29 13:03:18 -07:00
babel.cfg cookiecutter commit for kuryr-kubernetes 2016-05-22 08:54:07 +03:00
cni_builder CNI container: parametrize and clean up 2017-09-14 13:33:53 +02:00
cni_builder.Dockerfile Clean up ENV vars mistmatches in Dockerfiles 2017-09-20 10:35:36 +02:00
cni_ds_init Remove 99-loopback.conf 2017-10-09 15:32:20 +02:00
cni_main.patch Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
cni.Dockerfile Clean up ENV vars mistmatches in Dockerfiles 2017-09-20 10:35:36 +02:00
cni.spec Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
CONTRIBUTING.rst Use https links for documentation 2017-06-12 23:05:25 +08:00
controller.Dockerfile Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
HACKING.rst Update URLs in documents according to document migration 2017-07-21 14:47:10 +08:00
k8s_client.patch Add support to install Kuryr as a network addon 2017-09-14 13:33:53 +02:00
LICENSE cookiecutter commit for kuryr-kubernetes 2016-05-22 08:54:07 +03:00
README.rst Update URLs in documents according to document migration 2017-07-21 14:47:10 +08:00
requirements.txt Updated from global requirements 2017-09-27 13:41:21 +00:00
setup.cfg Add support for service type=LoadBalancer 2017-10-02 14:12:14 +03:00
setup.py Updated from global requirements 2017-03-15 12:44:19 +00:00
test-requirements.txt Updated from global requirements 2017-09-27 13:41:21 +00:00
tox.ini Enable some off-by-default checks 2017-06-22 17:04:44 +08:00

Team and repository tags

image

Project description

Kubernetes integration with OpenStack networking

The OpenStack Kuryr project enables native Neutron-based networking in Kubernetes. With Kuryr-Kubernetes it's now possible to choose to run both OpenStack VMs and Kubernetes Pods on the same Neutron network if your workloads require it or to use different segments and, for example, route between them.

Contribution guidelines

For the process of new feature addition, refer to the Kuryr Policy