Skip to content

Volume snapshot reconciler should fence instances only if there are no snapshots #2853

Closed

Description

@jsilvela

The volumesnapshot reconciler starts by fencing the target pod right away.
This can lead to trouble if the top reconciliation loop has an error downstream that prevents a backup from being marked as completed.
In such case, the backup reconciler will get called once again, and will start by fencing the instance, then doing a listing where it might well detect that there are voluesnapshots already created, and would then proceed to unfence the instance.
We should only be fencing the pod if we have positively identified that there are no volumesnapshots created.


The logic of the snapshot backup reconciler is:

  1. Step 1: fencing
  2. Step 2: create snapshots
  3. Step 3: wait for snapshots to be ready

as implemented in the volumesnapshot reconciler code (pkg/reconciler/backup/volumesnapshot/resources.go):

// Execute the volume snapshot of the given cluster instance
func (se *Reconciler) Execute(

Activity

  1. added a commit that references this issue on Sep 27, 2023
    bd39be6
  2. added a commit that references this issue on Sep 30, 2023
    07952d4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions