func()

in pkg/csi/controller.go [382:405]


func (r *reconciler) deleteOrphanedPDs(ctx context.Context) error {
	var pvcs corev1.PersistentVolumeClaimList
	if err := r.List(ctx, &pvcs); err != nil {
		return err
	}
	var nodes corev1.NodeList
	if err := r.List(ctx, &nodes); err != nil {
		return err
	}
	knownNodes := make(map[string]bool, len(nodes.Items))
	for _, n := range nodes.Items {
		if n.DeletionTimestamp == nil {
			knownNodes[n.GetName()] = true
		}
	}
	for _, pvc := range pvcs.Items {
		if _, found := knownNodes[pvc.GetName()]; !found {
			if err := r.deletePVC(ctx, &pvc); err != nil {
				return err
			}
		}
	}
	return nil
}