mirror of https://github.com/k3s-io/k3s
Merge pull request #57702 from mlmhl/volume_resize_event
Automatic merge from submit-queue (batch tested with PRs 57702, 57128). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. format error message and remove duplicated event for resize volume failure **What this PR does / why we need it**: 1. The `operationGenerator.resizeFileSystem` method returns errors generated by `volumeToMount.GenerateErrorDetailed`, and the outside code(`operationGenerator.GenerateMountVolumeFunc`) uses `volumeToMount.GenerateError` to generate a new error again, which lead to the event message redundant and confused, we should use `volumeToMount.GenerateError` inside `operationGenerator.resizeFileSystem` only, in outside code is not necessary. 2. The `eventRecorderFunc` will record an event if `resizeFileSystem` returns an error, so we needn't to record event inside `resizeFileSystem` itself. **Release note**: ```release-note NONE ``` /sig storage /kind enhancementpull/6/head
commit
6dfc4b38fb
|
@ -497,10 +497,10 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
|
|||
|
||||
// resizeFileSystem will resize the file system if user has requested a resize of
|
||||
// underlying persistent volume and is allowed to do so.
|
||||
resizeError := og.resizeFileSystem(volumeToMount, devicePath, volumePlugin.GetPluginName())
|
||||
resizeSimpleError, resizeDetailedError := og.resizeFileSystem(volumeToMount, devicePath, volumePlugin.GetPluginName())
|
||||
|
||||
if resizeError != nil {
|
||||
return volumeToMount.GenerateError("MountVolume.Resize failed", resizeError)
|
||||
if resizeSimpleError != nil || resizeDetailedError != nil {
|
||||
return resizeSimpleError, resizeDetailedError
|
||||
}
|
||||
|
||||
deviceMountPath, err :=
|
||||
|
@ -586,10 +586,10 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
|
|||
}, nil
|
||||
}
|
||||
|
||||
func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devicePath string, pluginName string) error {
|
||||
func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devicePath string, pluginName string) (simpleErr, detailedErr error) {
|
||||
if !utilfeature.DefaultFeatureGate.Enabled(features.ExpandPersistentVolumes) {
|
||||
glog.V(6).Infof("Resizing is not enabled for this volume %s", volumeToMount.VolumeName)
|
||||
return nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
mounter := og.volumePluginMgr.Host.GetMounter(pluginName)
|
||||
|
@ -604,7 +604,7 @@ func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devi
|
|||
pvc, err := og.kubeClient.CoreV1().PersistentVolumeClaims(pv.Spec.ClaimRef.Namespace).Get(pv.Spec.ClaimRef.Name, metav1.GetOptions{})
|
||||
if err != nil {
|
||||
// Return error rather than leave the file system un-resized, caller will log and retry
|
||||
return volumeToMount.GenerateErrorDetailed("MountVolume get PVC failed", err)
|
||||
return volumeToMount.GenerateError("MountVolume.resizeFileSystem get PVC failed", err)
|
||||
}
|
||||
|
||||
pvcStatusCap := pvc.Status.Capacity[v1.ResourceStorage]
|
||||
|
@ -617,7 +617,7 @@ func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devi
|
|||
simpleMsg, detailedMsg := volumeToMount.GenerateMsg("MountVolume.resizeFileSystem failed", "requested read-only file system")
|
||||
glog.Warningf(detailedMsg)
|
||||
og.recorder.Eventf(volumeToMount.Pod, v1.EventTypeWarning, kevents.FileSystemResizeFailed, simpleMsg)
|
||||
return nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
diskFormatter := &mount.SafeFormatAndMount{
|
||||
|
@ -629,10 +629,7 @@ func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devi
|
|||
resizeStatus, resizeErr := resizer.Resize(devicePath)
|
||||
|
||||
if resizeErr != nil {
|
||||
resizeDetailedError := volumeToMount.GenerateErrorDetailed("MountVolume.resizeFileSystem failed", resizeErr)
|
||||
glog.Error(resizeDetailedError)
|
||||
og.recorder.Eventf(volumeToMount.Pod, v1.EventTypeWarning, kevents.FileSystemResizeFailed, resizeDetailedError.Error())
|
||||
return resizeDetailedError
|
||||
return volumeToMount.GenerateError("MountVolume.resizeFileSystem failed", resizeErr)
|
||||
}
|
||||
|
||||
if resizeStatus {
|
||||
|
@ -645,12 +642,12 @@ func (og *operationGenerator) resizeFileSystem(volumeToMount VolumeToMount, devi
|
|||
err = updatePVCStatusCapacity(pvc.Name, pvc, pv.Spec.Capacity, og.kubeClient)
|
||||
if err != nil {
|
||||
// On retry, resizeFileSystem will be called again but do nothing
|
||||
return volumeToMount.GenerateErrorDetailed("MountVolume update PVC status failed", err)
|
||||
return volumeToMount.GenerateError("MountVolume.resizeFileSystem update PVC status failed", err)
|
||||
}
|
||||
return nil
|
||||
return nil, nil
|
||||
}
|
||||
}
|
||||
return nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func (og *operationGenerator) GenerateUnmountVolumeFunc(
|
||||
|
|
Loading…
Reference in New Issue