mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +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"
 | 
							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{
 | 
						pv := &v1.PersistentVolume{
 | 
				
			||||||
		ObjectMeta: metav1.ObjectMeta{
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
			Name:   c.options.PVName,
 | 
								Name:   c.options.PVName,
 | 
				
			||||||
@@ -528,6 +537,7 @@ func (c *awsElasticBlockStoreProvisioner) Provision(selectedNode *v1.Node, allow
 | 
				
			|||||||
			Capacity: v1.ResourceList{
 | 
								Capacity: v1.ResourceList{
 | 
				
			||||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
									v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
								VolumeMode: volumeMode,
 | 
				
			||||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
								PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
				
			||||||
				AWSElasticBlockStore: &v1.AWSElasticBlockStoreVolumeSource{
 | 
									AWSElasticBlockStore: &v1.AWSElasticBlockStoreVolumeSource{
 | 
				
			||||||
					VolumeID:  string(volumeID),
 | 
										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
 | 
						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{
 | 
						pv := &v1.PersistentVolume{
 | 
				
			||||||
		ObjectMeta: metav1.ObjectMeta{
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
			Name:   p.options.PVName,
 | 
								Name:   p.options.PVName,
 | 
				
			||||||
@@ -184,6 +193,7 @@ func (p *azureDiskProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
				
			|||||||
			Capacity: v1.ResourceList{
 | 
								Capacity: v1.ResourceList{
 | 
				
			||||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", requestGB)),
 | 
									v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", requestGB)),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
								VolumeMode: volumeMode,
 | 
				
			||||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
								PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
				
			||||||
				AzureDisk: &v1.AzureDiskVolumeSource{
 | 
									AzureDisk: &v1.AzureDiskVolumeSource{
 | 
				
			||||||
					CachingMode: &cachingMode,
 | 
										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
 | 
						return pv, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -512,6 +512,15 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
				
			|||||||
		return nil, err
 | 
							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{
 | 
						pv := &v1.PersistentVolume{
 | 
				
			||||||
		ObjectMeta: metav1.ObjectMeta{
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
			Name:   c.options.PVName,
 | 
								Name:   c.options.PVName,
 | 
				
			||||||
@@ -526,6 +535,7 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
				
			|||||||
			Capacity: v1.ResourceList{
 | 
								Capacity: v1.ResourceList{
 | 
				
			||||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
									v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dGi", sizeGB)),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
								VolumeMode: volumeMode,
 | 
				
			||||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
								PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
				
			||||||
				Cinder: &v1.CinderPersistentVolumeSource{
 | 
									Cinder: &v1.CinderPersistentVolumeSource{
 | 
				
			||||||
					VolumeID: volumeID,
 | 
										VolumeID: volumeID,
 | 
				
			||||||
@@ -540,10 +550,6 @@ func (c *cinderVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopolo
 | 
				
			|||||||
		pv.Spec.AccessModes = c.plugin.GetAccessModes()
 | 
							pv.Spec.AccessModes = c.plugin.GetAccessModes()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
					 | 
				
			||||||
		pv.Spec.VolumeMode = c.options.PVC.Spec.VolumeMode
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	return pv, nil
 | 
						return pv, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -480,6 +480,15 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT
 | 
				
			|||||||
		fstype = "ext4"
 | 
							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{
 | 
						pv := &v1.PersistentVolume{
 | 
				
			||||||
		ObjectMeta: metav1.ObjectMeta{
 | 
							ObjectMeta: metav1.ObjectMeta{
 | 
				
			||||||
			Name:   c.options.PVName,
 | 
								Name:   c.options.PVName,
 | 
				
			||||||
@@ -494,6 +503,7 @@ func (c *gcePersistentDiskProvisioner) Provision(selectedNode *v1.Node, allowedT
 | 
				
			|||||||
			Capacity: v1.ResourceList{
 | 
								Capacity: v1.ResourceList{
 | 
				
			||||||
				v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dG", sizeGB)),
 | 
									v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dG", sizeGB)),
 | 
				
			||||||
			},
 | 
								},
 | 
				
			||||||
 | 
								VolumeMode: volumeMode,
 | 
				
			||||||
			PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
								PersistentVolumeSource: v1.PersistentVolumeSource{
 | 
				
			||||||
				GCEPersistentDisk: &v1.GCEPersistentDiskVolumeSource{
 | 
									GCEPersistentDisk: &v1.GCEPersistentDiskVolumeSource{
 | 
				
			||||||
					PDName:    volumeID,
 | 
										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
 | 
						return pv, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -691,6 +691,15 @@ func (r *rbdVolumeProvisioner) Provision(selectedNode *v1.Node, allowedTopologie
 | 
				
			|||||||
		rbd.Keyring = keyring
 | 
							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.RadosUser = r.Id
 | 
				
			||||||
	rbd.FSType = fstype
 | 
						rbd.FSType = fstype
 | 
				
			||||||
	pv.Spec.PersistentVolumeSource.RBD = rbd
 | 
						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)),
 | 
							v1.ResourceName(v1.ResourceStorage): resource.MustParse(fmt.Sprintf("%dMi", sizeMB)),
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	pv.Spec.MountOptions = r.options.MountOptions
 | 
						pv.Spec.MountOptions = r.options.MountOptions
 | 
				
			||||||
 | 
						pv.Spec.VolumeMode = volumeMode
 | 
				
			||||||
	if utilfeature.DefaultFeatureGate.Enabled(features.BlockVolume) {
 | 
					 | 
				
			||||||
		pv.Spec.VolumeMode = r.options.PVC.Spec.VolumeMode
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return pv, nil
 | 
						return pv, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user