Support "fstype" parameter in dynamically provisioned PVs

This commit is contained in:
Alexander Block
2017-02-01 15:23:10 +01:00
parent d74ac3785e
commit 8057056d1c
14 changed files with 77 additions and 49 deletions

View File

@@ -275,6 +275,7 @@ func (r *rbdVolumeProvisioner) Provision() (*v1.PersistentVolume, error) {
secretName := ""
secret := ""
imageFormat := rbdImageFormat1
fstype := ""
for k, v := range r.options.Parameters {
switch dstrings.ToLower(k) {
@@ -306,6 +307,8 @@ func (r *rbdVolumeProvisioner) Provision() (*v1.PersistentVolume, error) {
r.imageFeatures = append(r.imageFeatures, f)
}
}
case volume.VolumeParameterFSType:
fstype = v
default:
return nil, fmt.Errorf("invalid option %q for volume plugin %s", k, r.plugin.GetPluginName())
}
@@ -353,6 +356,7 @@ func (r *rbdVolumeProvisioner) Provision() (*v1.PersistentVolume, error) {
rbd.SecretRef = new(v1.LocalObjectReference)
rbd.SecretRef.Name = secretName
rbd.RadosUser = r.Id
rbd.FSType = fstype
pv.Spec.PersistentVolumeSource.RBD = rbd
pv.Spec.PersistentVolumeReclaimPolicy = r.options.PersistentVolumeReclaimPolicy
pv.Spec.AccessModes = r.options.PVC.Spec.AccessModes