check for pvc objects

This commit is contained in:
Hemant Kumar 2019-05-15 12:33:07 -04:00
parent c16a555654
commit 673773cbde
2 changed files with 15 additions and 17 deletions

View File

@ -123,10 +123,16 @@ func NewExpandController(
pvcInformer.Informer().AddEventHandler(kcache.ResourceEventHandlerFuncs{
AddFunc: expc.enqueuePVC,
UpdateFunc: func(old, new interface{}) {
oldPVC := old.(*v1.PersistentVolumeClaim)
oldSize := oldPVC.Spec.Resources.Requests[v1.ResourceStorage]
oldPVC, ok := old.(*v1.PersistentVolumeClaim)
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]
if newSize.Cmp(oldSize) > 0 {
expc.enqueuePVC(new)
@ -139,7 +145,11 @@ func NewExpandController(
}
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]
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)
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))
klog.V(4).Infof("%v", err)
return err

View File

@ -139,8 +139,6 @@ type OperationExecutor interface {
// IsOperationPending returns true if an operation for the given volumeName and podName is pending,
// otherwise it returns false
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(volumeToMount VolumeToMount, actualStateOfWorld ActualStateOfWorldMounterUpdater) error
// ReconstructVolumeOperation construct a new volumeSpec and returns it created by plugin
@ -817,16 +815,6 @@ func (oe *operationExecutor) UnmountDevice(
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 {
generatedOperations, err := oe.operationGenerator.GenerateExpandVolumeFSWithoutUnmountingFunc(volumeToMount, actualStateOfWorld)
if err != nil {