Shares created from snapshot of a replicated share do not support replication

Bug #1551064 reported by Goutham Pacha Ravi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Shared File Systems Service (Manila)
Fix Released
High
Alex Meade

Bug Description

As of commit https://github.com/openstack/manila/tree/fbfd65b, Manila's replicated shares can be snapshotted. However, if you took a snapshot and then tried to create a share from the replicated share's snapshot, it in turn cannot be replicated; even though it shares the same share type as the original share.

Changed in manila:
assignee: nobody → Goutham Pacha Ravi (gouthamr)
Changed in manila:
milestone: none → mitaka-rc1
importance: Undecided → High
summary: - Snapshots of a replicated share do not support replication
+ Shares created from snapshot of a replicated share do not support
+ replication
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to manila (master)

Fix proposed to branch: master
Review: https://review.openstack.org/292659

Changed in manila:
status: New → In Progress
Changed in manila:
assignee: Goutham Pacha Ravi (gouthamr) → Alex Meade (alex-meade)
Changed in manila:
assignee: Alex Meade (alex-meade) → Goutham Pacha Ravi (gouthamr)
Changed in manila:
assignee: Goutham Pacha Ravi (gouthamr) → Alex Meade (alex-meade)
Changed in manila:
assignee: Alex Meade (alex-meade) → Goutham Pacha Ravi (gouthamr)
Changed in manila:
assignee: Goutham Pacha Ravi (gouthamr) → Alex Meade (alex-meade)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to manila (master)

Reviewed: https://review.openstack.org/292659
Committed: https://git.openstack.org/cgit/openstack/manila/commit/?id=94e04c8de20a842725e47042418cff818e6f7515
Submitter: Jenkins
Branch: master

commit 94e04c8de20a842725e47042418cff818e6f7515
Author: Goutham Pacha Ravi <email address hidden>
Date: Thu Mar 3 22:48:15 2016 -0500

    Data Replication: Ensure Snapshots across replicas

    When taking a snapshot of a replicated share, users would
    expect the snapshot to be available across the replicas.
    Currently, Manila assumes that drivers will take snapshots
    along with the share data.

    Different backends implement replication differently. Many
    of them assume that replicas are 'in_sync' with the primary
    if they have been synchronized within a particular window
    of time (sometimes referred to as 'recovery point objective').
    Since snapshots are point in time actions on a share, drivers
    must ensure that the replication of a snapshot begins as soon
    as it is available on the primary/'active' instance.

    To ensure that snapshots are indeed available across replicas:
    1) Track snapshots across replicas as different
        snapshot instances.
    2) Make an 'aggregate_status' property to convey the
        availability of a snapshot across all the active/in_sync
        replicas of a share.
    3) Provide all the information necessary for drivers to:
        - Create a snapshot on the primary and send it across
           to all replicas
        - Delete a snapshot on the primary and ensure that it is
           deleted on the replicas as well.
    4) Set snapshot instance to 'error' if it was in any transitional
        state when its replica was 'promoted' to become an 'active'
        instance.
    5) Pass down snapshot instances during create, delete and update
    replica driver calls.
    6) Update replica interfaces to pass in snapshot instance data. Always
    include 'available' snapshots in the update_replica call to ensure
    that drivers confirm their presence on the replica in order to report
    that the replica is 'in_sync'.

    Also, grab the share_type afresh from parent share/snapshot
    to allow 'replication_key' to be copied to the share model during
    share creation.

    Rename SnapshotNotFound to SnapshotResourceNotFound to
    signify a missing snapshot object on backends.

    APIImpact
    The 'status' attribute of the snapshot is now the 'aggregate_status'
    of the instances of the snapshot. No key changes have been made
    in the JSON response. However, API actions will be gated against
    'aggregate_status' of the snapshot instances when more than one
    instance exists.

    Closes-Bug: #1546303
    Closes-Bug: #1551064

    Change-Id: I63203df00904d209e9e92eda7c79206e5ef8d611

Changed in manila:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/manila 2.0.0.0rc1

This issue was fixed in the openstack/manila 2.0.0.0rc1 release candidate.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/manila 2.0.0

This issue was fixed in the openstack/manila 2.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.