From 50042558494f70f313e61ee6a924e0e6f6111c62 Mon Sep 17 00:00:00 2001 From: Andrew Obuchowicz Date: Wed, 22 Nov 2023 23:57:39 -0500 Subject: [PATCH 1/2] Fix: persistent home volume name should not use capital letters Fix #1200 Signed-off-by: Andrew Obuchowicz --- pkg/constants/constants.go | 2 +- .../creates-home-vm-when-enabled.yaml | 4 ++-- .../persistent-home/noop-if-home-vm-name-used.yaml | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go index 808b9c41d..a6e8f5f01 100644 --- a/pkg/constants/constants.go +++ b/pkg/constants/constants.go @@ -39,7 +39,7 @@ const ( HomeUserDirectory = "/home/user/" - HomeVolumeName = "persistentHome" + HomeVolumeName = "persistent-home" ServiceAccount = "devworkspace" diff --git a/pkg/library/home/testdata/persistent-home/creates-home-vm-when-enabled.yaml b/pkg/library/home/testdata/persistent-home/creates-home-vm-when-enabled.yaml index 51096c8b1..973ab916d 100644 --- a/pkg/library/home/testdata/persistent-home/creates-home-vm-when-enabled.yaml +++ b/pkg/library/home/testdata/persistent-home/creates-home-vm-when-enabled.yaml @@ -26,9 +26,9 @@ output: volumeMounts: - name: my-defined-volume path: /my-defined-volume-path - - name: persistentHome + - name: persistent-home path: /home/user/ - name: my-defined-volume volume: {} - - name: persistentHome + - name: persistent-home volume: {} diff --git a/pkg/library/home/testdata/persistent-home/noop-if-home-vm-name-used.yaml b/pkg/library/home/testdata/persistent-home/noop-if-home-vm-name-used.yaml index e88b2c329..d7a886cab 100644 --- a/pkg/library/home/testdata/persistent-home/noop-if-home-vm-name-used.yaml +++ b/pkg/library/home/testdata/persistent-home/noop-if-home-vm-name-used.yaml @@ -1,4 +1,4 @@ -name: "Does not create persistent home volume if a volume already named 'persistentHome'" +name: "Does not create persistent home volume if a volume is already named 'persistent-home'" input: devworkspaceId: "test-workspaceid" @@ -14,7 +14,7 @@ input: volumeMounts: - name: my-defined-volume path: /my-defined-volume-path - - name: persistentHome + - name: persistent-home path: /some/path - name: testing-container-2 container: @@ -24,11 +24,11 @@ input: path: /my-defined-volume-path - name: my-defined-volume volume: {} - - name: persistentHome + - name: persistent-home volume: {} output: - error: "addition of persistentHome volume would render DevWorkspace invalid: 1 error occurred:\n\t* duplicate key: persistentHome\n\n" + error: "addition of persistent-home volume would render DevWorkspace invalid: 1 error occurred:\n\t* duplicate key: persistent-home\n\n" workspace: components: - name: testing-container-1 @@ -37,7 +37,7 @@ output: volumeMounts: - name: my-defined-volume path: /my-defined-volume-path - - name: persistentHome + - name: persistent-home path: /some/path - name: testing-container-2 container: @@ -47,5 +47,5 @@ output: path: /my-defined-volume-path - name: my-defined-volume volume: {} - - name: persistentHome + - name: persistent-home volume: {} From 4d838738a488c6d5aaff237944ce401de7bf1153 Mon Sep 17 00:00:00 2001 From: Andrew Obuchowicz Date: Thu, 23 Nov 2023 00:11:51 -0500 Subject: [PATCH 2/2] Fix: Don't add persistent home volume if workspace doesn't require persistent storage Fix #1203 Signed-off-by: Andrew Obuchowicz --- controllers/workspace/devworkspace_controller.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/controllers/workspace/devworkspace_controller.go b/controllers/workspace/devworkspace_controller.go index d0189775d..0c8242449 100644 --- a/controllers/workspace/devworkspace_controller.go +++ b/controllers/workspace/devworkspace_controller.go @@ -291,7 +291,7 @@ func (r *DevWorkspaceReconciler) Reconcile(ctx context.Context, req ctrl.Request return r.failWorkspace(workspace, fmt.Sprintf("Error provisioning storage: %s", err), metrics.ReasonBadRequest, reqLogger, &reconcileStatus), nil } - if home.NeedsPersistentHomeDirectory(workspace) { + if storageProvisioner.NeedsStorage(&workspace.Spec.Template) && home.NeedsPersistentHomeDirectory(workspace) { workspaceWithHomeVolume, err := home.AddPersistentHomeVolume(workspace) if err != nil { reconcileStatus.addWarning(fmt.Sprintf("Info: default persistentHome volume is not being used: %s", err.Error()))