Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rbd: add a workaround to fix rbd snapshot scheduling #2656

Merged
merged 4 commits into from
Nov 19, 2021

Commits on Nov 17, 2021

  1. rbd: run schedule during promote operation

    Moved to add scheduling to the promote
    operation as scheduling need to be added
    when the image is promoted and this is
    the correct method of adding the scheduling
    to make the scheduling take place.
    
    Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
    Madhu-1 committed Nov 17, 2021
    Configuration menu
    Copy the full SHA
    3312883 View commit details
    Browse the repository at this point in the history
  2. util: add helper to get the cluster ID

    added helper function to get the cluster ID.
    
    Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
    Madhu-1 committed Nov 17, 2021
    Configuration menu
    Copy the full SHA
    1ec816a View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2021

  1. rbd: use dummy image to workaround rbd scheduling bug

    currently we have a bug in rbd mirror scheduling module.
    After doing failover and failback the scheduling is not
    getting updated and the mirroring snapshots are not
    getting created periodically as per the scheduling
    interval. This PR workarounds this one by doing below
    operations
    
    * Create a dummy (unique) image per cluster and this image
    should be easily identified.
    
    * During Promote operation on any image enable the
    mirroring on the dummy image. when we enable the mirroring
    on the dummy image the pool will get updated and the
    scheduling will be reconfigured.
    
    * During Demote operation on any image disable the mirroring
    on the dummy image. the disable need to be done to enable
    the mirroring again when we get the promote request to make
    the image as primary
    
    * When the DR is no more needed, this image need to be
    manually cleanup as for now as we dont want to add a check
    in the existing DeleteVolume code path for delete dummy image
    as it impact the performance of the DeleteVolume workflow.
    
    Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
    Madhu-1 committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    dea6da7 View commit details
    Browse the repository at this point in the history
  2. rbd: Update sequence of operations on dummy mirror image

    The dummy mirror image needs to be disabled and then
    reenabled for mirroring, to ensure a newly promoted
    primary is now starting to schedule snapshots.
    
    Signed-off-by: Shyamsundar Ranganathan <srangana@redhat.com>
    ShyamsundarR committed Nov 18, 2021
    Configuration menu
    Copy the full SHA
    e12152b View commit details
    Browse the repository at this point in the history