Skip to content

Commit d74402f

Browse files
jentingroboquat
authored andcommitted
Configure the PVC storageClassName when it's non-empty string
Otherwise, the Kubernetes tries to requesting a PVC with no storage class. Signed-off-by: JenTing Hsiao <[email protected]>
1 parent 1ef4f95 commit d74402f

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

components/ws-manager/pkg/manager/create.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,22 +237,29 @@ func (m *Manager) createPVCForWorkspacePod(startContext *startWorkspaceContext)
237237
if startContext.Class != nil {
238238
PVCConfig = startContext.Class.PVC
239239
}
240-
storageClassName := PVCConfig.StorageClass
241-
return &corev1.PersistentVolumeClaim{
240+
241+
pvc := &corev1.PersistentVolumeClaim{
242242
ObjectMeta: metav1.ObjectMeta{
243243
Name: fmt.Sprintf("%s-%s", prefix, req.Id),
244244
Namespace: m.Config.Namespace,
245245
},
246246
Spec: corev1.PersistentVolumeClaimSpec{
247-
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteOnce},
248-
StorageClassName: &storageClassName,
247+
AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteOnce},
249248
Resources: corev1.ResourceRequirements{
250249
Requests: corev1.ResourceList{
251250
corev1.ResourceName(corev1.ResourceStorage): PVCConfig.Size,
252251
},
253252
},
254253
},
255-
}, nil
254+
}
255+
if PVCConfig.StorageClass != "" {
256+
// Specify the storageClassName when the storage class is non-empty.
257+
// This way, the Kubernetes uses the default StorageClass within the cluster.
258+
// Otherwise, the Kubernetes would try to request the PVC with no class.
259+
pvc.Spec.StorageClassName = &PVCConfig.StorageClass
260+
}
261+
262+
return pvc, nil
256263
}
257264

258265
// createDefiniteWorkspacePod creates a workspace pod without regard for any template.

0 commit comments

Comments
 (0)