From b9e65693ee7c735d98513115a4c6990a9afdab73 Mon Sep 17 00:00:00 2001 From: Derek Su Date: Tue, 26 Dec 2023 04:19:55 +0000 Subject: [PATCH] Reject volume.spec.image update for v2 volumes before introducing live upgrade Reject volume.spec.image update for v2 volumes before introducing live upgrade (https://github.com/longhorn/longhorn/issues/6001). Longhorn 7446 Signed-off-by: Derek Su --- webhook/resources/volume/validator.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/webhook/resources/volume/validator.go b/webhook/resources/volume/validator.go index bb56389585..b55524a121 100644 --- a/webhook/resources/volume/validator.go +++ b/webhook/resources/volume/validator.go @@ -293,6 +293,12 @@ func (v *volumeValidator) Update(request *admission.Request, oldObj runtime.Obje newVolume.Name, newVolume.Spec.BackendStoreDriver) return werror.NewInvalidError(err.Error(), "") } + + if oldVolume.Spec.Image != newVolume.Spec.Image { + err := fmt.Errorf("changing engine image for volume %v is not supported for backend store driver %v", + newVolume.Name, newVolume.Spec.BackendStoreDriver) + return werror.NewInvalidError(err.Error(), "") + } } else { if newVolume.Spec.OfflineReplicaRebuilding != longhorn.OfflineReplicaRebuildingDisabled { err := fmt.Errorf("changing offline replica rebuilding for volume %v is not supported for backend store driver %v",