Skip to content

Commit

Permalink
Code refactor.
Browse files Browse the repository at this point in the history
1. use function passed-in context.
2. replace the depracated apimachinery/pkg/util/wait method and variable.
3. remove unneeded function parameter.

Signed-off-by: Xun Jiang <[email protected]>
  • Loading branch information
blackpiglet committed Mar 15, 2024
1 parent 3439ce3 commit a19af73
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 13 deletions.
10 changes: 5 additions & 5 deletions internal/backup/pvc_action.go
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ func (p *PVCBackupItemAction) Progress(operationID string, backup *velerov1api.B
return progress, biav2.InvalidOperationIDError(operationID)
}

dataUpload, err := getDataUpload(context.Background(), backup, p.CRClient, operationID)
dataUpload, err := getDataUpload(context.Background(), p.CRClient, operationID)
if err != nil {
p.Log.Errorf("fail to get DataUpload for backup %s/%s: %s", backup.Namespace, backup.Name, err.Error())
return progress, err
Expand Down Expand Up @@ -294,7 +294,7 @@ func (p *PVCBackupItemAction) Cancel(operationID string, backup *velerov1api.Bac
return biav2.InvalidOperationIDError(operationID)
}

dataUpload, err := getDataUpload(context.Background(), backup, p.CRClient, operationID)
dataUpload, err := getDataUpload(context.Background(), p.CRClient, operationID)
if err != nil {
p.Log.Errorf("fail to get DataUpload for backup %s/%s: %s", backup.Namespace, backup.Name, err.Error())
return err
Expand Down Expand Up @@ -365,10 +365,10 @@ func createDataUpload(ctx context.Context, backup *velerov1api.Backup, crClient
return dataUpload, err
}

func getDataUpload(ctx context.Context, backup *velerov1api.Backup,
func getDataUpload(ctx context.Context,
crClient crclient.Client, operationID string) (*velerov2alpha1.DataUpload, error) {
dataUploadList := new(velerov2alpha1.DataUploadList)
err := crClient.List(context.Background(), dataUploadList, &crclient.ListOptions{
err := crClient.List(ctx, dataUploadList, &crclient.ListOptions{
LabelSelector: labels.SelectorFromSet(map[string]string{velerov1api.AsyncOperationIDLabel: operationID}),
})
if err != nil {
Expand All @@ -392,7 +392,7 @@ func cancelDataUpload(ctx context.Context, crClient crclient.Client,
updatedDataUpload := dataUpload.DeepCopy()
updatedDataUpload.Spec.Cancel = true

err := crClient.Patch(context.Background(), updatedDataUpload, crclient.MergeFrom(dataUpload))
err := crClient.Patch(ctx, updatedDataUpload, crclient.MergeFrom(dataUpload))
if err != nil {
return errors.Wrap(err, "error patch DataUpload")
}
Expand Down
7 changes: 5 additions & 2 deletions internal/restore/pvc_action.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,10 @@ func getDataUploadResult(ctx context.Context, restore *velerov1api.Restore, pvc

func getDataDownload(ctx context.Context, namespace string, operationID string, crClient crclient.Client) (*velerov2alpha1.DataDownload, error) {
dataDownloadList := new(velerov2alpha1.DataDownloadList)
err := crClient.List(ctx, dataDownloadList, &crclient.ListOptions{LabelSelector: labels.SelectorFromSet(map[string]string{velerov1api.AsyncOperationIDLabel: operationID})})
err := crClient.List(ctx, dataDownloadList, &crclient.ListOptions{
LabelSelector: labels.SelectorFromSet(map[string]string{velerov1api.AsyncOperationIDLabel: operationID}),
Namespace: namespace,
})
if err != nil {
return nil, errors.Wrap(err, "fail to list DataDownload")
}
Expand All @@ -356,7 +359,7 @@ func cancelDataDownload(ctx context.Context, crClient crclient.Client,
updatedDataDownload := dataDownload.DeepCopy()
updatedDataDownload.Spec.Cancel = true

err := crClient.Patch(context.Background(), updatedDataDownload, crclient.MergeFrom(dataDownload))
err := crClient.Patch(ctx, updatedDataDownload, crclient.MergeFrom(dataDownload))
return err
}

Expand Down
12 changes: 6 additions & 6 deletions internal/util/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,8 @@ func GetVolumeSnapshotContentForVolumeSnapshot(volSnap *snapshotv1api.VolumeSnap
interval := 5 * time.Second
var snapshotContent *snapshotv1api.VolumeSnapshotContent

err := wait.PollImmediate(interval, timeout, func() (bool, error) {
vs, err := snapshotClient.VolumeSnapshots(volSnap.Namespace).Get(context.TODO(), volSnap.Name, metav1.GetOptions{})
err := wait.PollUntilContextTimeout(context.Background(), interval, timeout, true, func(ctx context.Context) (bool, error) {
vs, err := snapshotClient.VolumeSnapshots(volSnap.Namespace).Get(ctx, volSnap.Name, metav1.GetOptions{})
if err != nil {
return false, errors.Wrapf(err, fmt.Sprintf("failed to get volumesnapshot %s/%s", volSnap.Namespace, volSnap.Name))
}
Expand All @@ -247,7 +247,7 @@ func GetVolumeSnapshotContentForVolumeSnapshot(volSnap *snapshotv1api.VolumeSnap
return false, nil
}

snapshotContent, err = snapshotClient.VolumeSnapshotContents().Get(context.TODO(), *vs.Status.BoundVolumeSnapshotContentName, metav1.GetOptions{})
snapshotContent, err = snapshotClient.VolumeSnapshotContents().Get(ctx, *vs.Status.BoundVolumeSnapshotContentName, metav1.GetOptions{})
if err != nil {
return false, errors.Wrapf(err, fmt.Sprintf("failed to get volumesnapshotcontent %s for volumesnapshot %s/%s", *vs.Status.BoundVolumeSnapshotContentName, vs.Namespace, vs.Name))
}
Expand All @@ -267,7 +267,7 @@ func GetVolumeSnapshotContentForVolumeSnapshot(volSnap *snapshotv1api.VolumeSnap
})

if err != nil {
if err == wait.ErrWaitTimeout {
if err == wait.ErrorInterrupted(errors.New("timed out waiting for the condition")) {
if snapshotContent != nil && snapshotContent.Status != nil && snapshotContent.Status.Error != nil {
log.Errorf("Timed out awaiting reconciliation of volumesnapshot, Volumesnapshotcontent %s has error: %v", snapshotContent.Name, *snapshotContent.Status.Error.Message)
return nil, errors.Errorf("CSI got timed out with error: %v", *snapshotContent.Status.Error.Message)
Expand Down Expand Up @@ -483,8 +483,8 @@ func recreateVolumeSnapshotContent(vsc snapshotv1api.VolumeSnapshotContent, back
}

// Check VolumeSnapshotContents is already deleted, before re-creating it.
err = wait.PollImmediate(interval, timeout, func() (bool, error) {
_, err := snapshotClient.VolumeSnapshotContents().Get(context.TODO(), vsc.Name, metav1.GetOptions{})
err = wait.PollUntilContextTimeout(context.Background(), interval, timeout, true, func(ctx context.Context) (bool, error) {
_, err := snapshotClient.VolumeSnapshotContents().Get(ctx, vsc.Name, metav1.GetOptions{})
if err != nil {
if apierrors.IsNotFound(err) {
return true, nil
Expand Down

0 comments on commit a19af73

Please sign in to comment.