diff --git a/src/kubernetes-api/cmd/main.go b/src/kubernetes-api/cmd/main.go index eaff569eb067fffa876df19bf91e6acd3e6b9a94..8adf4afa8b501d858fcba494ee8ffae49dbc9e98 100644 --- a/src/kubernetes-api/cmd/main.go +++ b/src/kubernetes-api/cmd/main.go @@ -46,8 +46,6 @@ var ( setupLog = ctrl.Log.WithName("setup") ) -const SWITCHES_NAMESPACE = "default" - func init() { utilruntime.Must(clientgoscheme.AddToScheme(scheme)) @@ -138,7 +136,7 @@ func main() { if err = (&controller.PodReconciler{ Client: mgr.GetClient(), Scheme: mgr.GetScheme(), - SwitchesNamespace: SWITCHES_NAMESPACE, + SwitchesNamespace: os.Getenv("SWITCHES_NAMESPACE"), }).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "Pod") os.Exit(1) @@ -158,7 +156,7 @@ func main() { os.Exit(1) } if os.Getenv("ENABLE_WEBHOOKS") != "false" { - podAnnotator := &controller.PodAnnotator{Client: mgr.GetClient(), SwitchesNamespace: SWITCHES_NAMESPACE} + podAnnotator := &controller.PodAnnotator{Client: mgr.GetClient(), SwitchesNamespace: os.Getenv("SWITCHES_NAMESPACE")} if err := podAnnotator.InjectDecoder(admission.NewDecoder(mgr.GetScheme())); err != nil { setupLog.Error(err, "unable to inject decoder into PodAnnotator") os.Exit(1) diff --git a/src/kubernetes-api/internal/controller/l2network_controller.go b/src/kubernetes-api/internal/controller/l2network_controller.go index 49bd80b056bbe7b3d24f8a3e79903ac6b75ed07d..db14b777c2e6f98b9a4d456da0db372e7efc5099 100644 --- a/src/kubernetes-api/internal/controller/l2network_controller.go +++ b/src/kubernetes-api/internal/controller/l2network_controller.go @@ -158,8 +158,10 @@ func (r *L2NetworkReconciler) SetupWithManager(mgr ctrl.Manager) error { r.Log.Info("this is the controller ip", os.Getenv("CONTROLLER_IP")) fmt.Println(os.Getenv("CONTROLLER_IP")) + fmt.Println(os.Getenv("CONTROLLER_PORT")) + // Initialize the InternalClient with the base URL of the SDN controller - clientConfig := sdnclient.ClientConfig{BaseURL: fmt.Sprintf("http://%s:8181/onos", os.Getenv("CONTROLLER_IP")), Username: "karaf", Password: "karaf"} + clientConfig := sdnclient.ClientConfig{BaseURL: fmt.Sprintf("http://%s:%s/onos", os.Getenv("CONTROLLER_IP"), os.Getenv("CONTROLLER_PORT")), Username: "karaf", Password: "karaf"} r.InternalClient, err = sdnclient.NewClient(sdnclient.InternalType, clientConfig) if err != nil { diff --git a/src/kubernetes-api/internal/controller/pod_controller.go b/src/kubernetes-api/internal/controller/pod_controller.go index 01a11855f9320b8ac92cfd2f693a31bd0fca7daf..d7f6f2248b0f181e7a439b40ce7146c871c50f91 100644 --- a/src/kubernetes-api/internal/controller/pod_controller.go +++ b/src/kubernetes-api/internal/controller/pod_controller.go @@ -179,7 +179,7 @@ func (r *PodReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.R func (r *PodReconciler) SetupWithManager(mgr ctrl.Manager) error { var err error // Initialize the InternalClient with the base URL of the SDN controller - clientConfig := sdnclient.ClientConfig{BaseURL: fmt.Sprintf("http://%s:8181/onos", os.Getenv("CONTROLLER_IP")), Username: "karaf", Password: "karaf"} + clientConfig := sdnclient.ClientConfig{BaseURL: fmt.Sprintf("http://%s:%s/onos", os.Getenv("CONTROLLER_IP"), os.Getenv("CONTROLLER_PORT")), Username: "karaf", Password: "karaf"} r.InternalClient, err = sdnclient.NewClient(sdnclient.InternalType, clientConfig) if err != nil { diff --git a/src/kubernetes-api/internal/controller/pod_webhook.go b/src/kubernetes-api/internal/controller/pod_webhook.go index dccd0455d23ad392302d2b5630ffd883391c839b..521349538bd3af20f050e114d1187e90b99278c7 100644 --- a/src/kubernetes-api/internal/controller/pod_webhook.go +++ b/src/kubernetes-api/internal/controller/pod_webhook.go @@ -41,6 +41,7 @@ type NetworkAnnotation struct { func (a *PodAnnotator) Handle(ctx context.Context, req admission.Request) admission.Response { log := log.FromContext(ctx) + log.Info("Registering pod") // First we decode the pod pod := &corev1.Pod{} @@ -87,8 +88,11 @@ func (a *PodAnnotator) Handle(ctx context.Context, req admission.Request) admiss netAttachDef := &netAttachDefs.Items[index] newAnnotation := NetworkAnnotation{Name: netAttachDef.Name, IPAdresses: network.IPAdresses} netAttachDef.Labels[netAttachDefLabel] = "true" + log.Info(fmt.Sprintf("updating network attachment definition_ ", netAttachDef)) + err = a.Client.Update(ctx, netAttachDef) if err != nil { + log.Error(err, "Could not update network attachment definition") } multusAnnotations = append(multusAnnotations, newAnnotation)