mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 01:40:07 +00:00
check for pvc objects
This commit is contained in:
parent
c16a555654
commit
673773cbde
@ -123,10 +123,16 @@ func NewExpandController(
|
|||||||
pvcInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{
|
pvcInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{
|
||||||
AddFunc: expc.enqueuePVC,
|
AddFunc: expc.enqueuePVC,
|
||||||
UpdateFunc: func(old, new interface{}) {
|
UpdateFunc: func(old, new interface{}) {
|
||||||
oldPVC := old.(*v1.PersistentVolumeClaim)
|
oldPVC, ok := old.(*v1.PersistentVolumeClaim)
|
||||||
oldSize := oldPVC.Spec.Resources.Requests[v1.ResourceStorage]
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
newPVC := new.(*v1.PersistentVolumeClaim)
|
oldSize := oldPVC.Spec.Resources.Requests[v1.ResourceStorage]
|
||||||
|
newPVC, ok := new.(*v1.PersistentVolumeClaim)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
newSize := newPVC.Spec.Resources.Requests[v1.ResourceStorage]
|
newSize := newPVC.Spec.Resources.Requests[v1.ResourceStorage]
|
||||||
if newSize.Cmp(oldSize) > 0 {
|
if newSize.Cmp(oldSize) > 0 {
|
||||||
expc.enqueuePVC(new)
|
expc.enqueuePVC(new)
|
||||||
@ -139,7 +145,11 @@ func NewExpandController(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (expc *expandController) enqueuePVC(obj interface{}) {
|
func (expc *expandController) enqueuePVC(obj interface{}) {
|
||||||
pvc := obj.(*v1.PersistentVolumeClaim)
|
pvc, ok := obj.(*v1.PersistentVolumeClaim)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
size := pvc.Spec.Resources.Requests[v1.ResourceStorage]
|
size := pvc.Spec.Resources.Requests[v1.ResourceStorage]
|
||||||
statusSize := pvc.Status.Capacity[v1.ResourceStorage]
|
statusSize := pvc.Status.Capacity[v1.ResourceStorage]
|
||||||
|
|
||||||
@ -191,7 +201,7 @@ func (expc *expandController) syncHandler(key string) error {
|
|||||||
klog.V(5).Infof("Error getting Persistent Volume for PVC %q (uid: %q) from informer : %v", util.GetPersistentVolumeClaimQualifiedName(pvc), pvc.UID, err)
|
klog.V(5).Infof("Error getting Persistent Volume for PVC %q (uid: %q) from informer : %v", util.GetPersistentVolumeClaimQualifiedName(pvc), pvc.UID, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if pv.Spec.ClaimRef == nil || pvc.Namespace != pv.Spec.ClaimRef.Namespace || pvc.Name != pv.Spec.ClaimRef.Name {
|
if pv.Spec.ClaimRef == nil || pvc.Namespace != pv.Spec.ClaimRef.Namespace || pvc.UID != pv.Spec.ClaimRef.UID {
|
||||||
err := fmt.Errorf("Persistent Volume is not bound to PVC being updated : %s", util.ClaimToClaimKey(pvc))
|
err := fmt.Errorf("Persistent Volume is not bound to PVC being updated : %s", util.ClaimToClaimKey(pvc))
|
||||||
klog.V(4).Infof("%v", err)
|
klog.V(4).Infof("%v", err)
|
||||||
return err
|
return err
|
||||||
|
@ -139,8 +139,6 @@ type OperationExecutor interface {
|
|||||||
// IsOperationPending returns true if an operation for the given volumeName and podName is pending,
|
// IsOperationPending returns true if an operation for the given volumeName and podName is pending,
|
||||||
// otherwise it returns false
|
// otherwise it returns false
|
||||||
IsOperationPending(volumeName v1.UniqueVolumeName, podName volumetypes.UniquePodName) bool
|
IsOperationPending(volumeName v1.UniqueVolumeName, podName volumetypes.UniquePodName) bool
|
||||||
// Expand Volume will grow size available to PVC
|
|
||||||
ExpandVolume(*v1.PersistentVolumeClaim, *v1.PersistentVolume) error
|
|
||||||
// ExpandVolumeFSWithoutUnmounting will resize volume's file system to expected size without unmounting the volume.
|
// ExpandVolumeFSWithoutUnmounting will resize volume's file system to expected size without unmounting the volume.
|
||||||
ExpandVolumeFSWithoutUnmounting(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error
|
ExpandVolumeFSWithoutUnmounting(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error
|
||||||
// ReconstructVolumeOperation construct a new volumeSpec and returns it created by plugin
|
// ReconstructVolumeOperation construct a new volumeSpec and returns it created by plugin
|
||||||
@ -817,16 +815,6 @@ func (oe *operationExecutor) UnmountDevice(
|
|||||||
deviceToDetach.VolumeName, podName, generatedOperations)
|
deviceToDetach.VolumeName, podName, generatedOperations)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (oe *operationExecutor) ExpandVolume(pvc *v1.PersistentVolumeClaim, pv *v1.PersistentVolume) error {
|
|
||||||
generatedOperations, err := oe.operationGenerator.GenerateExpandVolumeFunc(pvc, pv)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
uniqueVolumeKey := v1.UniqueVolumeName(pvc.UID)
|
|
||||||
|
|
||||||
return oe.pendingOperations.Run(uniqueVolumeKey, "", generatedOperations)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (oe *operationExecutor) ExpandVolumeFSWithoutUnmounting(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error {
|
func (oe *operationExecutor) ExpandVolumeFSWithoutUnmounting(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error {
|
||||||
generatedOperations, err := oe.operationGenerator.GenerateExpandVolumeFSWithoutUnmountingFunc(volumeToMount, actualStateOfWorld)
|
generatedOperations, err := oe.operationGenerator.GenerateExpandVolumeFSWithoutUnmountingFunc(volumeToMount, actualStateOfWorld)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user