mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-11-04 07:49:35 +00:00 
			
		
		
		
	Block volumes should have empty FSType
FSType in block PVs has no meaning and it should be empty in provisioned PVs.
This commit is contained in:
		@@ -514,6 +514,15 @@ func (c *awsElasticBlockStoreProvisioner) Provision(selectedNode *v1.Node, allow
 | 
			
		||||
		fstype = "ext4"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var volumeMode *v1.PersistentVolumeMode
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		volumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
		if volumeMode != nil && *volumeMode == v1.PersistentVolumeBlock {
 | 
			
		||||
			// Block volumes should not have any FSType
 | 
			
		||||
			fstype = ""
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pv := &v1.PersistentVolume{
 | 
			
		||||
		ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
			Name:   c.options.PVName,
 | 
			
		||||
@@ -528,6 +537,7 @@ func (c *awsElasticBlockStoreProvisioner) Provision(selectedNode *v1.Node, allow
 | 
			
		||||
			Capacity: v1.ResourceList{
 | 
			
		||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
			
		||||
			},
 | 
			
		||||
			VolumeMode: volumeMode,
 | 
			
		||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
			
		||||
				AWSElasticBlockStore: &v1.AWSElasticBlockStoreVolumeSource{
 | 
			
		||||
					VolumeID:  string(volumeID),
 | 
			
		||||
@@ -553,9 +563,5 @@ func (c *awsElasticBlockStoreProvisioner) Provision(selectedNode *v1.Node, allow
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		pv.Spec.VolumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return pv, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -170,6 +170,15 @@ func (p *azureDiskProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var volumeMode *v1.PersistentVolumeMode
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		volumeMode = p.options.PVC.Spec.VolumeMode
 | 
			
		||||
		if volumeMode != nil && *volumeMode == v1.PersistentVolumeBlock {
 | 
			
		||||
			// Block volumes should not have any FSType
 | 
			
		||||
			fsType = ""
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pv := &v1.PersistentVolume{
 | 
			
		||||
		ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
			Name:   p.options.PVName,
 | 
			
		||||
@@ -184,6 +193,7 @@ func (p *azureDiskProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
			
		||||
			Capacity: v1.ResourceList{
 | 
			
		||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", requestGB)),
 | 
			
		||||
			},
 | 
			
		||||
			VolumeMode: volumeMode,
 | 
			
		||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
			
		||||
				AzureDisk: &v1.AzureDiskVolumeSource{
 | 
			
		||||
					CachingMode: &cachingMode,
 | 
			
		||||
@@ -197,9 +207,5 @@ func (p *azureDiskProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
			
		||||
		},
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		pv.Spec.VolumeMode = p.options.PVC.Spec.VolumeMode
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return pv, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -512,6 +512,15 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
			
		||||
		return nil, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var volumeMode *v1.PersistentVolumeMode
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		volumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
		if volumeMode != nil && *volumeMode == v1.PersistentVolumeBlock {
 | 
			
		||||
			// Block volumes should not have any FSType
 | 
			
		||||
			fstype = ""
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pv := &v1.PersistentVolume{
 | 
			
		||||
		ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
			Name:   c.options.PVName,
 | 
			
		||||
@@ -526,6 +535,7 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
			
		||||
			Capacity: v1.ResourceList{
 | 
			
		||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
			
		||||
			},
 | 
			
		||||
			VolumeMode: volumeMode,
 | 
			
		||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
			
		||||
				Cinder: &v1.CinderPersistentVolumeSource{
 | 
			
		||||
					VolumeID: volumeID,
 | 
			
		||||
@@ -540,10 +550,6 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
			
		||||
		pv.Spec.AccessModes = c.plugin.GetAccessModes()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		pv.Spec.VolumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return pv, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -480,6 +480,15 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT
 | 
			
		||||
		fstype = "ext4"
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var volumeMode *v1.PersistentVolumeMode
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		volumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
		if volumeMode != nil && *volumeMode == v1.PersistentVolumeBlock {
 | 
			
		||||
			// Block volumes should not have any FSType
 | 
			
		||||
			fstype = ""
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	pv := &v1.PersistentVolume{
 | 
			
		||||
		ObjectMeta: metav1.ObjectMeta{
 | 
			
		||||
			Name:   c.options.PVName,
 | 
			
		||||
@@ -494,6 +503,7 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT
 | 
			
		||||
			Capacity: v1.ResourceList{
 | 
			
		||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dG", sizeGB)),
 | 
			
		||||
			},
 | 
			
		||||
			VolumeMode: volumeMode,
 | 
			
		||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
			
		||||
				GCEPersistentDisk: &v1.GCEPersistentDiskVolumeSource{
 | 
			
		||||
					PDName:    volumeID,
 | 
			
		||||
@@ -518,9 +528,5 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		pv.Spec.VolumeMode = c.options.PVC.Spec.VolumeMode
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return pv, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -691,6 +691,15 @@ func (r *rbdVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
			
		||||
		rbd.Keyring = keyring
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var volumeMode *v1.PersistentVolumeMode
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		volumeMode = r.options.PVC.Spec.VolumeMode
 | 
			
		||||
		if volumeMode != nil && *volumeMode == v1.PersistentVolumeBlock {
 | 
			
		||||
			// Block volumes should not have any FSType
 | 
			
		||||
			fstype = ""
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	rbd.RadosUser = r.Id
 | 
			
		||||
	rbd.FSType = fstype
 | 
			
		||||
	pv.Spec.PersistentVolumeSource.RBD = rbd
 | 
			
		||||
@@ -703,10 +712,7 @@ func (r *rbdVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
			
		||||
		v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dMi", sizeMB)),
 | 
			
		||||
	}
 | 
			
		||||
	pv.Spec.MountOptions = r.options.MountOptions
 | 
			
		||||
 | 
			
		||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
			
		||||
		pv.Spec.VolumeMode = r.options.PVC.Spec.VolumeMode
 | 
			
		||||
	}
 | 
			
		||||
	pv.Spec.VolumeMode = volumeMode
 | 
			
		||||
 | 
			
		||||
	return pv, nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user