-
Notifications
You must be signed in to change notification settings - Fork 338
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reconcile RouteAdvertisements in cluster manager #4691
base: master
Are you sure you want to change the base?
Commits on Sep 16, 2024
-
Generate RouteAdvertisements CRD
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8a2c7a7 - Browse repository at this point
Copy the full SHA 8a2c7a7View commit details -
Add route advertisements CLI flag
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 368c337 - Browse repository at this point
Copy the full SHA 368c337View commit details -
Add RouteAdvertisements to watch factory
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 65ddfc7 - Browse repository at this point
Copy the full SHA 65ddfc7View commit details -
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b05aad7 - Browse repository at this point
Copy the full SHA b05aad7View commit details -
Mock NAD informer instead of handling nil in controller
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3aa2272 - Browse repository at this point
Copy the full SHA 3aa2272View commit details -
Add VRFs as reconcilable NetInfo
Adds to NetInfo the concept of reconcilable network information. This is network information that can change dynamically and network controllers should be able to reconcile. This includes NADs which is information that network controllers should have already been capable of reconciling although they currently don't (for example, for multinetwork policies). Also includes VRFs the network is leaking/advertising to, per node, that network controllers need to be aware of and rec0oncile as it changes. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e51dcc2 - Browse repository at this point
Copy the full SHA e51dcc2View commit details
Commits on Sep 17, 2024
-
Network controllers reconcile VRF changes
Add the ability for network controllers to reconcile some network information changes. Currently just changes of the VRFs the network is leaking/advertising to. Support for reconciling NAD changes is not included in this commit. Currently reconciles if the network is advertised or not: - for OVN network controller to configure or not the pod IP to node IP SNAT on the GR for a node of its zone - for node network controller to configure or not br-ex flows to redirect pod IP ingress traffic to the OVN network This should be enough to provide direct ingress capabilities for the default network in SGW mode. Note that secondary network controllers don't reconcile anything as route advertising is not supported on them. Also cluster manager network controllers don't reconcile much as they don't have the need. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f4347ed - Browse repository at this point
Copy the full SHA f4347edView commit details -
Provide NAD controller access to the default network controller
The plan is for the NAD controller to fetch route advertising information on behalf of network controllers. It will have to do so for the default network as well and will need access to its network controller to reconcile that information. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fdf0b59 - Browse repository at this point
Copy the full SHA fdf0b59View commit details -
Add node/RA informer access from node watch factory
As node controllers will need to be informed of related events in new level driven controllers to come. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03d1889 - Browse repository at this point
Copy the full SHA 03d1889View commit details -
Define route advertisements annotation
This annotation will be set by a future cluster manager controller on the NADs and will list the names of route advertisements that apply to the given NAD. This will ease processing time of other zone/node controllers that need to track which route advertisements apply to a network avoiding them from processing all route advertisements on each of their reconciliation loops. Note that this will happen for the default network as well. For that probably a dummy NAD on ovn-kubernetes namespace is the best option. Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 26be58c - Browse repository at this point
Copy the full SHA 26be58cView commit details -
Get route advertisement information in NAD controller
The network manager running within the NAD controller will, upon ensuring a network, fetch the VRFs per node a pod network is being leaked/advertised to from the applicable route advertisements configuration, and include it in the network information used when creating a network controller, or triggering a reconciliation if it was already running. This relies on annotations set by cluster manager on NADs pointing to the route advertising configuration that applies to the network which will come in a future PR/commit. This includes the default network for which the ever existing default network controller is used (instead of creating a new network controller). If necessary, it is assumed that cluster manager will create a dummy NAD for the default network in ovn-k namespace to set annotations on. If no NADs for the default network exist or if they have no annotations, network manager will reconcile the default network to a default configuration (instead of destroying the network controller). Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 482559b - Browse repository at this point
Copy the full SHA 482559bView commit details -
For go-controller: go get k8s.io/api v0.31.0 go get k8s.io/apimachinery v0.31.0 go get k8s.io/client-go v0.31.0 go get k8s.io/component-helpers v0.31.0 go get k8s.io/kubernetes v1.31.0 go get k8s.io/apiextensions-apiserver v0.31.0 // indirect go get k8s.io/component-base v0.31.0 // indirect go get sigs.k8s.io/controller-runtime v0.19.0 go mod vendor && go mod tidy Fixed API changes and updated codegen For e2e tests: go get k8s.io/api v0.31.0 go get k8s.io/apimachinery v0.31.0 go get k8s.io/client-go v0.31.0 go get k8s.io/klog v1.0.0 go get k8s.io/kubernetes v1.31.0 go get k8s.io/pod-security-admission v0.31.0 go get k8s.io/apiextensions-apiserver v0.31.0 go get k8s.io/apiserver v0.31.0 go get k8s.io/cloud-provider v0.31.0 go get k8s.io/component-base v0.31.0 go get k8s.io/component-helpers v0.31.0 go get k8s.io/controller-manager v0.31.0 go get k8s.io/kms v0.31.0 go get k8s.io/kubelet v0.31.0 go get k8s.io/kubectl v0.31.0 (konnectivity-client is not at 0.31 yet) Fixed API changes Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c9bb04f - Browse repository at this point
Copy the full SHA c9bb04fView commit details -
Add FRRConfiguration to factory
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4bc1ff3 - Browse repository at this point
Copy the full SHA 4bc1ff3View commit details -
Reconcile RouteAdvertisements from cluster manager
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e6563df - Browse repository at this point
Copy the full SHA e6563dfView commit details -
Use RA status condition when reconciling networks
Signed-off-by: Jaime Caamaño Ruiz <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 754d12f - Browse repository at this point
Copy the full SHA 754d12fView commit details