-
Bug
-
Resolution: Unresolved
-
Major
-
3.23.0.GA
-
None
-
False
-
-
False
-
-
Description of problem:
Custom project templates can be used for the devspaces namespace creation [1]. This can be used for the shared PVC "claim-devworkspace" for example with:
apiVersion: template.openshift.io/v1 kind: Template metadata: name: devspaces-user-namespace-configurator namespace: openshift-devspaces labels: app.kubernetes.io/part-of: che.eclipse.org app.kubernetes.io/component: workspaces-config objects: - kind: PersistentVolumeClaim apiVersion: v1 metadata: name: claim-devworkspace spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi storageClassName: example-storage-class
When the PVC is removed from the template the devspaces-operator deletes the PVC.
Prerequisites (if any, like setup, operators/versions):
Steps to Reproduce
1. Create the project template in the "openshift-devspaces" namespace:
apiVersion: template.openshift.io/v1 kind: Template metadata: name: devspaces-user-namespace-configurator namespace: openshift-devspaces labels: app.kubernetes.io/part-of: che.eclipse.org app.kubernetes.io/component: workspaces-config objects: - kind: PersistentVolumeClaim apiVersion: v1 metadata: name: claim-devworkspace spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: managed-nfs-storage volumeMode: Filesystem
2. Log into the DevSpaces UI and create a new devworkspace
3. Stop the devworkspace
4. Delete the "devspaces-user-namespace-configurator" template in the "openshift-devspaces" namespace
5. This will cause that the "claim-devworkspace" PVC to be deleted:
Log from devspaces-operator:
2025-09-24T07:30:15Z INFO sync Object deleted {"namespace": "devspaces-userxx-xxx-com-1mft76", "kind": "v1.PersistentVolumeClaim", "name": "claim-devworkspace"}
Note: If the "claim-devworkspace" was already present in an existing devworkspace it will cause the following log in the devspaces-operator after removing the template:
2025-09-24T07:26:30Z INFO sync Object deleted {"namespace": "devspaces-useryy-xxx-com-0dcwnc", "kind": "v1.PersistentVolumeClaim", "name": "claim-devworkspace"}2025-09-24T07:26:30Z ERROR workspaces-config Failed to sync object {"namespace": "devspaces-useryy-xxx-com-0dcwnc", "kind": "v1.PersistentVolumeClaim", "name": "claim-devworkspace", "error": "object is being deleted: persistentvolumeclaims \"claim-devworkspace\" already exists"}github.com/eclipse-che/che-operator/controllers/workspaceconfig.(*WorkspacesConfigReconciler).syncObject/che-operator/controllers/workspaceconfig/workspaces_config_controller.go:452github.com/eclipse-che/che-operator/controllers/workspaceconfig.(*WorkspacesConfigReconciler).syncTemplates/che-operator/controllers/workspaceconfig/workspaces_config_controller.go:396github.com/eclipse-che/che-operator/controllers/workspaceconfig.(*WorkspacesConfigReconciler).syncNamespace/che-operator/controllers/workspaceconfig/workspaces_config_controller.go:267github.com/eclipse-che/che-operator/controllers/workspaceconfig.(*WorkspacesConfigReconciler).Reconcile/che-operator/controllers/workspaceconfig/workspaces_config_controller.go:179sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Reconcile/che-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:119sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).reconcileHandler/che-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:334sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).processNextWorkItem/che-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:294sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller[...]).Start.func2.2/che-operator/vendor/sigs.k8s.io/controller-runtime/pkg/internal/controller/controller.go:255
Actual results:
"claim-devworkspace" PVC is deleted
Expected results:
No data loss – thus no deletion of the "claim-devworkspace" PVC
Reproducibility (Always/Intermittent/Only Once):
Always
Acceptance criteria:
Definition of Done:
Build Details:
Additional info (Such as Logs, Screenshots, etc):
Upstream issue: https://github.com/eclipse-che/che/issues/23569
- links to