a0a6e65bb0
Historically we haven't been doing any actions on CNI DEL request when running in nested mode because all the interfaces we created will be gone when netns will get deleted. There is an issue with that approach: 1. We get ADD request for pod A in netns X and correctly bind it using VLAN ID V. 2. We get DEL request for same pod A and netns X. We don't do anything. 3. Netns is not yet deleted… 4. Another ADD request comes for pod A but now with netns Y (normal K8s behavior). a) We try binding it, but there is a veth pair with VLAN ID V already on the host namespace, so we end up with VLAN ID conflict. b) Binding fails with EEXIST error. The problem with this hypothesis is that the EEXIST error seems to be persistent and in theory it should disappear after the netns gets deleted but maybe there's a longer delay in the netns deletion. This commit solves this problem by making sure we always clean up all interfaces on DEL requests. Change-Id: I01b66dcd5c7c0e8193150a0a1b20878aaa8ec9e3 Closes-Bug: 1854928 |
||
---|---|---|
.zuul.d | ||
contrib | ||
devstack | ||
doc | ||
etc | ||
kubernetes_crds | ||
kuryr_cni | ||
kuryr_kubernetes | ||
playbooks | ||
releasenotes | ||
tools | ||
.coveragerc | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.pre-commit-config.yaml | ||
.stestr.conf | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
babel.cfg | ||
cni.Dockerfile | ||
cni_ds_init | ||
controller.Dockerfile | ||
lower-constraints.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Team and repository tags
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.
- Free software: Apache license
- Documentation: https://docs.openstack.org/kuryr-kubernetes/latest
- Source: https://opendev.org/openstack/kuryr-kubernetes
- Bugs: https://bugs.launchpad.net/kuryr-kubernetes
- Overview and demo: https://superuser.openstack.org/articles/networking-kubernetes-kuryr
- Release notes: https://docs.openstack.org/releasenotes/kuryr-kubernetes/
Contribution guidelines
For the process of new feature addition, refer to the Kuryr Policy.