mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-07-21 23:42:31 +00:00
clone PV after deleting retained PV
Signed-off-by: Lyndon-Li <lyonghui@vmware.com>
This commit is contained in:
@@ -459,13 +459,6 @@ func (e *genericRestoreExposer) rebindVolumeChangeMode(ctx context.Context, owne
|
||||
return errors.Wrapf(err, "error to delete restore pod %s", restorePodName)
|
||||
}
|
||||
|
||||
err = kube.EnsureDeletePVC(ctx, e.kubeClient.CoreV1(), restorePVCName, ownerObject.Namespace, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error to delete restore PVC %s", restorePVCName)
|
||||
}
|
||||
|
||||
curLog.WithField("restore PVC", restorePVCName).Info("Restore PVC is deleted")
|
||||
|
||||
err = kube.WaitVolumeDetached(ctx, e.kubeClient.StorageV1(), restorePV.Name, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error waiting for restore PV %s to detach", restorePV.Name)
|
||||
@@ -473,12 +466,12 @@ func (e *genericRestoreExposer) rebindVolumeChangeMode(ctx context.Context, owne
|
||||
|
||||
curLog.WithField("restore PV", restorePV.Name).Info("Restore PV is detached")
|
||||
|
||||
rebindPV, err = kube.RebindPV(ctx, e.kubeClient.CoreV1(), uuid.NewString(), restorePV, targetPVC, orgReclaim, param.TargetFSType)
|
||||
err = kube.EnsureDeletePVC(ctx, e.kubeClient.CoreV1(), restorePVCName, ownerObject.Namespace, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error rebinding PV for target PVC %s", param.TargetPVCName)
|
||||
return errors.Wrapf(err, "error to delete restore PVC %s", restorePVCName)
|
||||
}
|
||||
|
||||
curLog.WithField("rebind PV", rebindPV.Name).Info("Rebind PV is created")
|
||||
curLog.WithField("restore PVC", restorePVCName).Info("Restore PVC is deleted")
|
||||
|
||||
err = kube.EnsureDeletePV(ctx, e.kubeClient.CoreV1(), restorePV.Name, param.OperationTimeout)
|
||||
if err != nil {
|
||||
@@ -489,6 +482,13 @@ func (e *genericRestoreExposer) rebindVolumeChangeMode(ctx context.Context, owne
|
||||
|
||||
retained = nil
|
||||
|
||||
rebindPV, err = kube.RebindPV(ctx, e.kubeClient.CoreV1(), uuid.NewString(), restorePV, targetPVC, orgReclaim, param.TargetFSType)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error rebinding PV for target PVC %s", param.TargetPVCName)
|
||||
}
|
||||
|
||||
curLog.WithField("rebind PV", rebindPV.Name).Info("Rebind PV is created")
|
||||
|
||||
_, err = kube.RebindPVC(ctx, e.kubeClient.CoreV1(), targetPVC, rebindPV.Name)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error to rebind target PVC %s/%s to %s", targetPVC.Namespace, targetPVC.Name, rebindPV.Name)
|
||||
@@ -539,13 +539,6 @@ func (e *genericRestoreExposer) rebindVolumeSameMode(ctx context.Context, ownerO
|
||||
return errors.Wrapf(err, "error to delete restore pod %s", restorePodName)
|
||||
}
|
||||
|
||||
err = kube.EnsureDeletePVC(ctx, e.kubeClient.CoreV1(), restorePVCName, ownerObject.Namespace, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error to delete restore PVC %s", restorePVCName)
|
||||
}
|
||||
|
||||
curLog.WithField("restore PVC", restorePVCName).Info("Restore PVC is deleted")
|
||||
|
||||
err = kube.WaitVolumeDetached(ctx, e.kubeClient.StorageV1(), restorePV.Name, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error waiting for restore PV %s to detach", restorePV.Name)
|
||||
@@ -553,6 +546,13 @@ func (e *genericRestoreExposer) rebindVolumeSameMode(ctx context.Context, ownerO
|
||||
|
||||
curLog.WithField("restore PV", restorePV.Name).Info("Restore PV is detached")
|
||||
|
||||
err = kube.EnsureDeletePVC(ctx, e.kubeClient.CoreV1(), restorePVCName, ownerObject.Namespace, param.OperationTimeout)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error to delete restore PVC %s", restorePVCName)
|
||||
}
|
||||
|
||||
curLog.WithField("restore PVC", restorePVCName).Info("Restore PVC is deleted")
|
||||
|
||||
_, err = kube.RebindPVC(ctx, e.kubeClient.CoreV1(), targetPVC, restorePV.Name)
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "error to rebind target PVC %s/%s to %s", targetPVC.Namespace, targetPVC.Name, restorePV.Name)
|
||||
|
||||
Reference in New Issue
Block a user