diff --git a/provisioner.go b/provisioner.go index a5318499a57e7ce9b9332423dbca79bb1ad1d5c4..9265ba98e2fc4b2d52a966f38a6ea8a3411dcb76 100644 --- a/provisioner.go +++ b/provisioner.go @@ -282,16 +282,17 @@ func (p *LocalPathProvisioner) Provision(ctx context.Context, opts pvController. fs := v1.PersistentVolumeFilesystem var pvs v1.PersistentVolumeSource - if pvcVal, ok := opts.PVC.GetAnnotations()["volumeType"]; ok { - // volume type specified in PVC - pvs = createPersistentVolumeSource(pvcVal, path) - } else if scVal, ok := opts.StorageClass.GetAnnotations()["defaultVolumeType"]; ok { - // default volume type provided for storage class - pvs = createPersistentVolumeSource(scVal, path) + defaultVolumeType := "hostPath" + if dVal, ok := opts.StorageClass.GetAnnotations()["defaultVolumeType"]; ok { + defaultVolumeType = dVal + } + var volumeType string + if val, ok := opts.PVC.GetAnnotations()["volumeType"]; ok { + volumeType = val } else { - // volume type unspecified, we default to hostPath - pvs = createPersistentVolumeSource("hostPath", path) + volumeType = defaultVolumeType } + pvs = createPersistentVolumeSource(volumeType, path) var nodeAffinity *v1.VolumeNodeAffinity if sharedFS {