This patch implements the multi-vif of VIF-Handler And Vif
Drivers Design.
This patch creates a new driver type MultiVIFDriver. It will
be the base class of real drivers like sriov,
additional_subnet and npwg_multiple_interfaces. Each of the
derived driver should implement the parsing of the additional
interfaces definition in K8S pods, and call VIF driver to
either create or acquire the Neutron port and its VIF object.
A list of enabled drivers can be returned by its class method.
So that the VIFHandler can invoke each driver one by one to
get the whole list of interfaces for one pod.
Partially Implements: blueprint multi-vif-pods
Change-Id: I8b5175a4637b18a0b574e27674a217865afb22b7
Signed-off-by: Peng Liu <pliu@redhat.com>
This patch updates Ingress design Devref with the latest changes
in Kuryr's Ingress controller configuration options.
Change-Id: Iaaeaee393f0837276994a24c258c4080a0e2ef04
Closes-Bug: 1777821
This commit implements initial version of high availability support in
kuryr-controller - Active/Passive mode. In this mode only one instance
of controller is processing the resources while other ones are in
standby mode. If current leader dies, one of standbys is taking the
leader role and starts processing resources.
Please note that as leader election is based on Kubernetes mechanisms,
this is only supported when kuryr-controller is run as Pod on Kubernetes
cluster.
Implements: bp high-availability
Change-Id: I2c6c9315612d64158fb9f8284e0abb065aca7208
OpenShift 3.7 has a bug [1] that prevents from updating metadata of pods
created without any Controller (e.g. through `kubectl apply -f
pod-def.yaml` with ServiceAccount credentials. This prevents
containerized Kuryr to apply annotations onto such pods.
As this is only fixed in 3.9 now, we'll raise default OpenShift version
in DevStack.
As our version compatibility docs say nothing about OpenShift, we can
just state that we support 3.9+ starting with next release.
Closes-Bug: 1765132
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1383707
Change-Id: Ia19c5a556085c13b70ae5f6bcd8538adce261fae
Starting with the Rocky release, Kuryr-Kubernetes will include a
pluggable interface for the Kuryr controller handlers.
This patch updates the documentation to include this capability.
Partially Implements: kuryr-pluggable-handlers
Change-Id: I908b5f52d2e2dfe3432ec95e34b04c1d28c21917
This patch adds a documentation placeholder to keep track of the
supported/tested version of kubernetes at the different
kuryr-kubernetes releases.
Change-Id: I53c6ae31cdd380876328ad357afc4c8938c7e5a0
Closes-Bug: 1752285
This commit implements what was discussed on the PTG, i.e. deprecation
of running Kuryr-Kubernetes without kuryr-daemon services. This commit
includes changes in configuration defaults, sample local.conf files,
documentation, gates and a release note explaining the change.
Change-Id: I152c81797cb83237af4917a4487cb1f1918270aa
This patch adds readiness and liveness to CNI. It checks presence
of NET_ADMIN capabilities, IPDB in working order, connection to
Kubernetes API, quantity of CNI add failures, health of CNI
components and existence of memory leaks.
Implements: blueprint cni-daemon-readiness-liveness
Change-Id: I9a4b871d196dbadfed687df93bb3cad97c957bfb
This patch adds liveness checks for watcher and handlers, without passing the
manager's reference to modules that probably should not be aware of it.
Related-Bug: #1705429
Change-Id: I0192756c556b13f98302a57acedce269c278e260
This commit extends developer docs to add information about CNI Daemon
and APIs between CNI Driver and CNI Daemon.
Implements: blueprint cni-split-exec-daemon
Co-Authored-By: Janonymous <janonymous.codevulture@gmail.com>
Change-Id: I0188c133d656e32b75bf7d9b6c012da33ffa2571
This patch checks the health of k8s, Keystone and Neutron,
by using a server that combines all the verifications. Also, checks
if ports are loaded into the pools when required.
Partially Implements: blueprint controller-readiness-liveness-probes
Change-Id: I09121a61d23fb64b326dae3947d5d24b1329cde3
The purpose of this document is to present the approach of
implementation of cooperation design for VIF-handler and drivers
used by it in Kuryr-Kubernetes Controller.
Change-Id: I78609c2ede1b2f01b76053fc4f93c49235060a4c
Signed-off-by: Danil Golov <d.golov@partner.samsung.com>
This patch includes new information at the ports manager
spec to include information regarding how the created
ports at each pool are deleted or rediscovered upon
Kuryr controller restarts.
Change-Id: I9be32c0b313d512d18384ad58fd4ca78792a2748
In 97ded78681060b6ca36c9d12ee81a8ba13c69ff9 we renamed
GenericPodVIFDriver to the more accurate NeutronPodVIFDriver.
Unfortunately we missed a few places. This patch solves that.
Change-Id: I441e7236f9e2bb1f64ad5ae5bcc43218adf5abb3
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
This is one part of the process of organizing the Kuryr docs
across Kuryr, Kuryr-Libnetwork, and Kuryr-Kubernetes. This
commit in particular moves some Kuryr-Kubernetes documentation
from Kuryr devref to the Kuryr-Kubernetes devref.
Change-Id: I030e5afd92049119068fbac6af515ca3ff962385
Depends-On: If0e23ffe10f798d2f9f5b37e1b996bd069715721
The Pod creation flow was color-less and the images were rendered too
wide relative to the text. This fixes it while still allowing for the
images to be clicked to be seen in full size.
Change-Id: I83b35a4456f05fb18de67847942284f8d02312ca
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>