From 20caa42e7ad6cc223c7a90537a4f772465dde411 Mon Sep 17 00:00:00 2001 From: Hyeongju Johannes Lee Date: Mon, 18 Sep 2023 11:56:18 -0700 Subject: [PATCH] operator: add ctx to func UpgradeImages and logger for env vars of images Signed-off-by: Hyeongju Johannes Lee --- pkg/controllers/dlb/controller.go | 2 +- pkg/controllers/dsa/controller.go | 2 +- pkg/controllers/fpga/controller.go | 2 +- pkg/controllers/gpu/controller.go | 2 +- pkg/controllers/iaa/controller.go | 2 +- pkg/controllers/qat/controller.go | 2 +- pkg/controllers/reconciler.go | 4 +++- pkg/controllers/reconciler_test.go | 3 ++- pkg/controllers/sgx/controller.go | 2 +- 9 files changed, 12 insertions(+), 9 deletions(-) diff --git a/pkg/controllers/dlb/controller.go b/pkg/controllers/dlb/controller.go index 964bbc0b..8e250ba3 100644 --- a/pkg/controllers/dlb/controller.go +++ b/pkg/controllers/dlb/controller.go @@ -68,7 +68,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.DlbDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/dsa/controller.go b/pkg/controllers/dsa/controller.go index 7bd4e9d9..4cd50401 100644 --- a/pkg/controllers/dsa/controller.go +++ b/pkg/controllers/dsa/controller.go @@ -71,7 +71,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.DsaDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/fpga/controller.go b/pkg/controllers/fpga/controller.go index d6e21d28..19488714 100644 --- a/pkg/controllers/fpga/controller.go +++ b/pkg/controllers/fpga/controller.go @@ -67,7 +67,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.FpgaDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/gpu/controller.go b/pkg/controllers/gpu/controller.go index dca852d3..ca408b52 100644 --- a/pkg/controllers/gpu/controller.go +++ b/pkg/controllers/gpu/controller.go @@ -72,7 +72,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.GpuDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/iaa/controller.go b/pkg/controllers/iaa/controller.go index 9cbf4248..b9aa05fc 100644 --- a/pkg/controllers/iaa/controller.go +++ b/pkg/controllers/iaa/controller.go @@ -69,7 +69,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.IaaDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/qat/controller.go b/pkg/controllers/qat/controller.go index 422c088f..e1b8718f 100644 --- a/pkg/controllers/qat/controller.go +++ b/pkg/controllers/qat/controller.go @@ -72,7 +72,7 @@ func (c *controller) CreateEmptyObject() client.Object { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.QatDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) GetTotalObjectCount(ctx context.Context, clnt client.Client) (int, error) { diff --git a/pkg/controllers/reconciler.go b/pkg/controllers/reconciler.go index 037335c7..4a3d41c3 100644 --- a/pkg/controllers/reconciler.go +++ b/pkg/controllers/reconciler.go @@ -169,7 +169,7 @@ func (r *reconciler) createObjects(ctx context.Context, return result, nil } -func UpgradeImages(image *string, initimage *string) (upgrade bool) { +func UpgradeImages(ctx context.Context, image *string, initimage *string) (upgrade bool) { for _, s := range []*string{image, initimage} { if s == nil { continue @@ -181,6 +181,8 @@ func UpgradeImages(image *string, initimage *string) (upgrade bool) { envVarValue := os.Getenv(strings.ReplaceAll(strings.ToUpper(filepath.Base(name)), "-", "_") + "_SHA") if envVarValue != "" && *s != envVarValue { + log.FromContext(ctx).Info("env var for the image: " + name + " is already set; user input of the image is ignored") + *s = envVarValue upgrade = true diff --git a/pkg/controllers/reconciler_test.go b/pkg/controllers/reconciler_test.go index 7d3348e6..56bb400c 100644 --- a/pkg/controllers/reconciler_test.go +++ b/pkg/controllers/reconciler_test.go @@ -15,6 +15,7 @@ package controllers import ( + "context" "testing" ) @@ -63,7 +64,7 @@ func TestUpgrade(test *testing.T) { for i := range tests { t := tests[i] - upgrade := UpgradeImages(&t.image, &t.initimage) + upgrade := UpgradeImages(context.Background(), &t.image, &t.initimage) if !(upgrade == t.upgrade && t.image == t.expectedImage && t.initimage == t.expectedInitimage) { test.Errorf("expectedUpgrade: %v, received: %v", t.upgrade, upgrade) diff --git a/pkg/controllers/sgx/controller.go b/pkg/controllers/sgx/controller.go index ce308415..e60d14cf 100644 --- a/pkg/controllers/sgx/controller.go +++ b/pkg/controllers/sgx/controller.go @@ -64,7 +64,7 @@ type controller struct { func (c *controller) Upgrade(ctx context.Context, obj client.Object) bool { dp := obj.(*devicepluginv1.SgxDevicePlugin) - return controllers.UpgradeImages(&dp.Spec.Image, &dp.Spec.InitImage) + return controllers.UpgradeImages(ctx, &dp.Spec.Image, &dp.Spec.InitImage) } func (c *controller) CreateEmptyObject() client.Object {