From 5fa17f288629d06c9149aa5acc78f16b814fc49f Mon Sep 17 00:00:00 2001
From: Alex de Cock Buning <100383348@alumnos.uc3m.es>
Date: Fri, 14 Jun 2024 17:17:49 +0200
Subject: [PATCH] kubernetes api: added more loggers for a better debugging

---
 src/kubernetes-api/cmd/main.go                              | 6 ++----
 .../internal/controller/l2network_controller.go             | 4 +++-
 src/kubernetes-api/internal/controller/pod_controller.go    | 2 +-
 src/kubernetes-api/internal/controller/pod_webhook.go       | 4 ++++
 4 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/kubernetes-api/cmd/main.go b/src/kubernetes-api/cmd/main.go
index eaff569..8adf4af 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 49bd80b..db14b77 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 01a1185..d7f6f22 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 dccd045..5213495 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)
-- 
GitLab