Skip to content

Commit 199870c

Browse files
committed
chore: enable early-return and superfluous-else from revive
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
1 parent 0dbff6d commit 199870c

58 files changed

Lines changed: 359 additions & 448 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.golangci.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,6 @@ linters-settings:
231231
- name: dot-imports
232232
disabled: true
233233
- name: early-return
234-
disabled: true
235234
arguments:
236235
- "preserveScope"
237236
- name: empty-block
@@ -246,14 +245,14 @@ linters-settings:
246245
disabled: true
247246
- name: increment-decrement
248247
- name: indent-error-flow
249-
disabled: true
248+
arguments:
249+
- "preserveScope"
250250
- name: range
251251
- name: receiver-naming
252252
disabled: true
253253
- name: redefines-builtin-id
254254
disabled: true
255255
- name: superfluous-else
256-
disabled: true
257256
arguments:
258257
- "preserveScope"
259258
- name: time-naming

internal/volume/volumes_information.go

Lines changed: 127 additions & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -338,24 +338,24 @@ func (v *BackupVolumesInformation) generateVolumeInfoForSkippedPV() {
338338
tmpVolumeInfos := make([]*BackupVolumeInfo, 0)
339339

340340
for pvName, skippedReason := range v.SkippedPVs {
341-
if pvcPVInfo := v.pvMap.retrieve(pvName, "", ""); pvcPVInfo != nil {
342-
volumeInfo := &BackupVolumeInfo{
343-
PVCName: pvcPVInfo.PVCName,
344-
PVCNamespace: pvcPVInfo.PVCNamespace,
345-
PVName: pvName,
346-
SnapshotDataMoved: false,
347-
Skipped: true,
348-
SkippedReason: skippedReason,
349-
PVInfo: &PVInfo{
350-
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
351-
Labels: pvcPVInfo.PV.Labels,
352-
},
353-
}
354-
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
355-
} else {
341+
pvcPVInfo := v.pvMap.retrieve(pvName, "", "")
342+
if pvcPVInfo == nil {
356343
v.logger.Warnf("Cannot find info for PV %s", pvName)
357344
continue
358345
}
346+
volumeInfo := &BackupVolumeInfo{
347+
PVCName: pvcPVInfo.PVCName,
348+
PVCNamespace: pvcPVInfo.PVCNamespace,
349+
PVName: pvName,
350+
SnapshotDataMoved: false,
351+
Skipped: true,
352+
SkippedReason: skippedReason,
353+
PVInfo: &PVInfo{
354+
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
355+
Labels: pvcPVInfo.PV.Labels,
356+
},
357+
}
358+
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
359359
}
360360

361361
v.volumeInfos = append(v.volumeInfos, tmpVolumeInfos...)
@@ -366,32 +366,32 @@ func (v *BackupVolumesInformation) generateVolumeInfoForVeleroNativeSnapshot() {
366366
tmpVolumeInfos := make([]*BackupVolumeInfo, 0)
367367

368368
for _, nativeSnapshot := range v.NativeSnapshots {
369-
if pvcPVInfo := v.pvMap.retrieve(nativeSnapshot.Spec.PersistentVolumeName, "", ""); pvcPVInfo != nil {
370-
volumeResult := VolumeResultFailed
371-
if nativeSnapshot.Status.Phase == SnapshotPhaseCompleted {
372-
volumeResult = VolumeResultSucceeded
373-
}
374-
volumeInfo := &BackupVolumeInfo{
375-
BackupMethod: NativeSnapshot,
376-
PVCName: pvcPVInfo.PVCName,
377-
PVCNamespace: pvcPVInfo.PVCNamespace,
378-
PVName: pvcPVInfo.PV.Name,
379-
SnapshotDataMoved: false,
380-
Skipped: false,
381-
// Only set Succeeded to true when the NativeSnapshot's phase is Completed,
382-
// although NativeSnapshot doesn't check whether the snapshot creation result.
383-
Result: volumeResult,
384-
NativeSnapshotInfo: newNativeSnapshotInfo(nativeSnapshot),
385-
PVInfo: &PVInfo{
386-
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
387-
Labels: pvcPVInfo.PV.Labels,
388-
},
389-
}
390-
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
391-
} else {
369+
pvcPVInfo := v.pvMap.retrieve(nativeSnapshot.Spec.PersistentVolumeName, "", "")
370+
if pvcPVInfo == nil {
392371
v.logger.Warnf("cannot find info for PV %s", nativeSnapshot.Spec.PersistentVolumeName)
393372
continue
394373
}
374+
volumeResult := VolumeResultFailed
375+
if nativeSnapshot.Status.Phase == SnapshotPhaseCompleted {
376+
volumeResult = VolumeResultSucceeded
377+
}
378+
volumeInfo := &BackupVolumeInfo{
379+
BackupMethod: NativeSnapshot,
380+
PVCName: pvcPVInfo.PVCName,
381+
PVCNamespace: pvcPVInfo.PVCNamespace,
382+
PVName: pvcPVInfo.PV.Name,
383+
SnapshotDataMoved: false,
384+
Skipped: false,
385+
// Only set Succeeded to true when the NativeSnapshot's phase is Completed,
386+
// although NativeSnapshot doesn't check whether the snapshot creation result.
387+
Result: volumeResult,
388+
NativeSnapshotInfo: newNativeSnapshotInfo(nativeSnapshot),
389+
PVInfo: &PVInfo{
390+
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
391+
Labels: pvcPVInfo.PV.Labels,
392+
},
393+
}
394+
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
395395
}
396396

397397
v.volumeInfos = append(v.volumeInfos, tmpVolumeInfos...)
@@ -461,38 +461,38 @@ func (v *BackupVolumesInformation) generateVolumeInfoForCSIVolumeSnapshot() {
461461
if volumeSnapshotContent.Status.SnapshotHandle != nil {
462462
snapshotHandle = *volumeSnapshotContent.Status.SnapshotHandle
463463
}
464-
if pvcPVInfo := v.pvMap.retrieve("", *volumeSnapshot.Spec.Source.PersistentVolumeClaimName, volumeSnapshot.Namespace); pvcPVInfo != nil {
465-
volumeInfo := &BackupVolumeInfo{
466-
BackupMethod: CSISnapshot,
467-
PVCName: pvcPVInfo.PVCName,
468-
PVCNamespace: pvcPVInfo.PVCNamespace,
469-
PVName: pvcPVInfo.PV.Name,
470-
Skipped: false,
471-
SnapshotDataMoved: false,
472-
PreserveLocalSnapshot: true,
473-
CSISnapshotInfo: &CSISnapshotInfo{
474-
VSCName: *volumeSnapshot.Status.BoundVolumeSnapshotContentName,
475-
Size: size,
476-
Driver: volumeSnapshotClass.Driver,
477-
SnapshotHandle: snapshotHandle,
478-
OperationID: operation.Spec.OperationID,
479-
ReadyToUse: volumeSnapshot.Status.ReadyToUse,
480-
},
481-
PVInfo: &PVInfo{
482-
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
483-
Labels: pvcPVInfo.PV.Labels,
484-
},
485-
}
486-
487-
if volumeSnapshot.Status.CreationTime != nil {
488-
volumeInfo.StartTimestamp = volumeSnapshot.Status.CreationTime
489-
}
490-
491-
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
492-
} else {
464+
pvcPVInfo := v.pvMap.retrieve("", *volumeSnapshot.Spec.Source.PersistentVolumeClaimName, volumeSnapshot.Namespace)
465+
if pvcPVInfo == nil {
493466
v.logger.Warnf("cannot find info for PVC %s/%s", volumeSnapshot.Namespace, volumeSnapshot.Spec.Source.PersistentVolumeClaimName)
494467
continue
495468
}
469+
volumeInfo := &BackupVolumeInfo{
470+
BackupMethod: CSISnapshot,
471+
PVCName: pvcPVInfo.PVCName,
472+
PVCNamespace: pvcPVInfo.PVCNamespace,
473+
PVName: pvcPVInfo.PV.Name,
474+
Skipped: false,
475+
SnapshotDataMoved: false,
476+
PreserveLocalSnapshot: true,
477+
CSISnapshotInfo: &CSISnapshotInfo{
478+
VSCName: *volumeSnapshot.Status.BoundVolumeSnapshotContentName,
479+
Size: size,
480+
Driver: volumeSnapshotClass.Driver,
481+
SnapshotHandle: snapshotHandle,
482+
OperationID: operation.Spec.OperationID,
483+
ReadyToUse: volumeSnapshot.Status.ReadyToUse,
484+
},
485+
PVInfo: &PVInfo{
486+
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
487+
Labels: pvcPVInfo.PV.Labels,
488+
},
489+
}
490+
491+
if volumeSnapshot.Status.CreationTime != nil {
492+
volumeInfo.StartTimestamp = volumeSnapshot.Status.CreationTime
493+
}
494+
495+
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
496496
}
497497

498498
v.volumeInfos = append(v.volumeInfos, tmpVolumeInfos...)
@@ -524,18 +524,18 @@ func (v *BackupVolumesInformation) generateVolumeInfoFromPVB() {
524524
continue
525525
}
526526
if pvcName != "" {
527-
if pvcPVInfo := v.pvMap.retrieve("", pvcName, pvb.Spec.Pod.Namespace); pvcPVInfo != nil {
528-
volumeInfo.PVCName = pvcPVInfo.PVCName
529-
volumeInfo.PVCNamespace = pvcPVInfo.PVCNamespace
530-
volumeInfo.PVName = pvcPVInfo.PV.Name
531-
volumeInfo.PVInfo = &PVInfo{
532-
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
533-
Labels: pvcPVInfo.PV.Labels,
534-
}
535-
} else {
527+
pvcPVInfo := v.pvMap.retrieve("", pvcName, pvb.Spec.Pod.Namespace)
528+
if pvcPVInfo == nil {
536529
v.logger.Warnf("Cannot find info for PVC %s/%s", pvb.Spec.Pod.Namespace, pvcName)
537530
continue
538531
}
532+
volumeInfo.PVCName = pvcPVInfo.PVCName
533+
volumeInfo.PVCNamespace = pvcPVInfo.PVCNamespace
534+
volumeInfo.PVName = pvcPVInfo.PV.Name
535+
volumeInfo.PVInfo = &PVInfo{
536+
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
537+
Labels: pvcPVInfo.PV.Labels,
538+
}
539539
} else {
540540
v.logger.Debug("The PVB %s doesn't have a corresponding PVC", pvb.Name)
541541
}
@@ -615,51 +615,50 @@ func (v *BackupVolumesInformation) generateVolumeInfoFromDataUpload() {
615615
driverUsedByVSClass = vsClassList[index].Driver
616616
}
617617
}
618-
619-
if pvcPVInfo := v.pvMap.retrieve(
618+
pvcPVInfo := v.pvMap.retrieve(
620619
"",
621620
operation.Spec.ResourceIdentifier.Name,
622621
operation.Spec.ResourceIdentifier.Namespace,
623-
); pvcPVInfo != nil {
624-
dataMover := veleroDatamover
625-
if dataUpload.Spec.DataMover != "" {
626-
dataMover = dataUpload.Spec.DataMover
627-
}
628-
629-
volumeInfo := &BackupVolumeInfo{
630-
BackupMethod: CSISnapshot,
631-
PVCName: pvcPVInfo.PVCName,
632-
PVCNamespace: pvcPVInfo.PVCNamespace,
633-
PVName: pvcPVInfo.PV.Name,
634-
SnapshotDataMoved: true,
635-
Skipped: false,
636-
CSISnapshotInfo: &CSISnapshotInfo{
637-
SnapshotHandle: FieldValueIsUnknown,
638-
VSCName: FieldValueIsUnknown,
639-
OperationID: FieldValueIsUnknown,
640-
Driver: driverUsedByVSClass,
641-
},
642-
SnapshotDataMovementInfo: &SnapshotDataMovementInfo{
643-
DataMover: dataMover,
644-
UploaderType: velerov1api.BackupRepositoryTypeKopia,
645-
OperationID: operation.Spec.OperationID,
646-
Phase: dataUpload.Status.Phase,
647-
},
648-
PVInfo: &PVInfo{
649-
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
650-
Labels: pvcPVInfo.PV.Labels,
651-
},
652-
}
653-
654-
if dataUpload.Status.StartTimestamp != nil {
655-
volumeInfo.StartTimestamp = dataUpload.Status.StartTimestamp
656-
}
657-
658-
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
659-
} else {
622+
)
623+
if pvcPVInfo == nil {
660624
v.logger.Warnf("Cannot find info for PVC %s/%s", operation.Spec.ResourceIdentifier.Namespace, operation.Spec.ResourceIdentifier.Name)
661625
continue
662626
}
627+
dataMover := veleroDatamover
628+
if dataUpload.Spec.DataMover != "" {
629+
dataMover = dataUpload.Spec.DataMover
630+
}
631+
632+
volumeInfo := &BackupVolumeInfo{
633+
BackupMethod: CSISnapshot,
634+
PVCName: pvcPVInfo.PVCName,
635+
PVCNamespace: pvcPVInfo.PVCNamespace,
636+
PVName: pvcPVInfo.PV.Name,
637+
SnapshotDataMoved: true,
638+
Skipped: false,
639+
CSISnapshotInfo: &CSISnapshotInfo{
640+
SnapshotHandle: FieldValueIsUnknown,
641+
VSCName: FieldValueIsUnknown,
642+
OperationID: FieldValueIsUnknown,
643+
Driver: driverUsedByVSClass,
644+
},
645+
SnapshotDataMovementInfo: &SnapshotDataMovementInfo{
646+
DataMover: dataMover,
647+
UploaderType: velerov1api.BackupRepositoryTypeKopia,
648+
OperationID: operation.Spec.OperationID,
649+
Phase: dataUpload.Status.Phase,
650+
},
651+
PVInfo: &PVInfo{
652+
ReclaimPolicy: string(pvcPVInfo.PV.Spec.PersistentVolumeReclaimPolicy),
653+
Labels: pvcPVInfo.PV.Labels,
654+
},
655+
}
656+
657+
if dataUpload.Status.StartTimestamp != nil {
658+
volumeInfo.StartTimestamp = dataUpload.Status.StartTimestamp
659+
}
660+
661+
tmpVolumeInfos = append(tmpVolumeInfos, volumeInfo)
663662
}
664663

665664
v.volumeInfos = append(v.volumeInfos, tmpVolumeInfos...)
@@ -754,17 +753,16 @@ func (t *RestoreVolumeInfoTracker) Populate(ctx context.Context, restoredResourc
754753
t.pvcCSISnapshotMap[pvc.Namespace+"/"+pvcName] = *vs
755754
}
756755
}
757-
if pvc.Status.Phase == corev1api.ClaimBound && pvc.Spec.VolumeName != "" {
758-
pv := &corev1api.PersistentVolume{}
759-
if err := t.client.Get(ctx, kbclient.ObjectKey{Name: pvc.Spec.VolumeName}, pv); err != nil {
760-
log.WithError(err).Error("Failed to get PV")
761-
} else {
762-
t.pvPvc.insert(*pv, pvcName, pvcNS)
763-
}
764-
} else {
756+
if pvc.Status.Phase != corev1api.ClaimBound || pvc.Spec.VolumeName == "" {
765757
log.Warn("PVC is not bound or has no volume name")
766758
continue
767759
}
760+
pv := &corev1api.PersistentVolume{}
761+
if err := t.client.Get(ctx, kbclient.ObjectKey{Name: pvc.Spec.VolumeName}, pv); err != nil {
762+
log.WithError(err).Error("Failed to get PV")
763+
} else {
764+
t.pvPvc.insert(*pv, pvcName, pvcNS)
765+
}
768766
}
769767
if err := t.client.List(ctx, t.datadownloadList, &kbclient.ListOptions{
770768
Namespace: t.restore.Namespace,
@@ -791,19 +789,18 @@ func (t *RestoreVolumeInfoTracker) Result() []*RestoreVolumeInfo {
791789
t.log.WithError(err).Warn("Fail to get PVC from PodVolumeRestore: ", pvr.Name)
792790
continue
793791
}
794-
if pvcName != "" {
795-
volumeInfo.PVCName = pvcName
796-
volumeInfo.PVCNamespace = pvr.Spec.Pod.Namespace
797-
if pvcPVInfo := t.pvPvc.retrieve("", pvcName, pvr.Spec.Pod.Namespace); pvcPVInfo != nil {
798-
volumeInfo.PVName = pvcPVInfo.PV.Name
799-
}
800-
} else {
792+
if pvcName == "" {
801793
// In this case, the volume is not bound to a PVC and
802794
// the PVR will not be able to populate into the volume, so we'll skip it
803795
t.log.Warnf("unable to get PVC for PodVolumeRestore %s/%s, pod: %s/%s, volume: %s",
804796
pvr.Namespace, pvr.Name, pvr.Spec.Pod.Namespace, pvr.Spec.Pod.Name, pvr.Spec.Volume)
805797
continue
806798
}
799+
volumeInfo.PVCName = pvcName
800+
volumeInfo.PVCNamespace = pvr.Spec.Pod.Namespace
801+
if pvcPVInfo := t.pvPvc.retrieve("", pvcName, pvr.Spec.Pod.Namespace); pvcPVInfo != nil {
802+
volumeInfo.PVName = pvcPVInfo.PV.Name
803+
}
807804
volumeInfos = append(volumeInfos, volumeInfo)
808805
}
809806

0 commit comments

Comments
 (0)