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

Test ramen volsync integration #25

Open
wants to merge 62 commits into
base: ramen_volsync_integration
Choose a base branch
from

Conversation

BenamarMk
Copy link
Owner

No description provided.

BenamarMk and others added 30 commits April 21, 2022 12:08
Use one VRG for VolRep and VolSync instead of two. Also, Simplify DRPC orchestration
when setting up Replication Destination and Replication Source. This assumes that
Submariner will be used for enabling network connectivity between Kubernetes clusters.
- Functions to generate/reconcile a volsync rsync secret
- Functions to propagate the volsync rsync secret from hub to
mgd clusters
- Simplification that assumes submariner:
  - Use ClusterIP service type by default
  - Create ServiceExport with the ReplicationDestination to export
    the svc created by the RD by name

Signed-off-by: Tesshu Flower <[email protected]>
- Generate secret for volsync (per DRPC) on hub
- Propagate secret to clusters
- Do not pass secret name from drpc to vrg, will name based on
  the vrg name which == drpc name.  This way no mods to drpc/vrg spec
  and no need for updating vrg again via manifestwork just for the
  secret name
- updates to try to stay consistent with requeue (but may need changes)
- Try to be more consistent with reconcileRD and reconcileRS wrt
  returning and reqeueue
- in reconcileAsPrimary - remove old RDs before creating RSs to avoid
  issue with new RS connecting to an existing RD on the same cluster
  NOTE: will need to make sure rdspecs are removed in the spec itself
  prior to getting to reconcileVolSyncAsPrimary

Signed-off-by: Tesshu Flower <[email protected]>
- previously used finalizer on volumesnapshot, added additional
  ownerRef to snapshot instead (owner=VRG).  This solves issues
  with cleanup and also prevents deletion of VolumeSnapshot when
  the owning ReplicationDestination is deleted.
- For storageclasses that WaitforFirstConsumer, this was previously
  an issue as pvc would not create from snapshot if snapshot is
  in deleting state (even if it's prevented from actually deleting
  by a finalizer)

Signed-off-by: Tesshu Flower <[email protected]>
- includes unit test fix, wasn't properly catching this

Signed-off-by: Tesshu Flower <[email protected]>
  - Refactore volrep/volsync conditions
  - Split vrg file into volrep and volsync files
  - Add volsync final sync support for relocation
  - Fix 'waiting for status to mark completion'
For failover scenarios (secondary-> primary and primary->secondary):
- Remove RD for the PVC before attempting to create RS
- Take ownership of PVC (to VRG) before creating RS (may get moved
  to the relocate funcs eventually but no harm in doing this here)
- Remove RS for the PVC before attempting to create RD (done for
  consistency, so removed RS cleanup from vrg_volsync.go)
Also:
- Some fixes in convert function from mhd interval to crontab
  (max out at 28days to easily convert to a crontab schedule that
   makes sense)
- unit test updates for the above

Signed-off-by: Tesshu Flower <[email protected]>
- waits for acm reconcile-option annotation set to "merge" or not exist
- "takes over" ownership of the pvc by removing acm annotations
  and adding vrg as owner in ownerRefs

Signed-off-by: Tesshu Flower <[email protected]>
Signed-off-by: Tesshu Flower <[email protected]>
BenamarMk and others added 26 commits April 21, 2022 12:11
and does not match our desired datasource (i.e. desired snapshot)

Signed-off-by: Tesshu Flower <[email protected]>
@BenamarMk BenamarMk force-pushed the ramen_volsync_integration branch 2 times, most recently from 442854d to 8a0e154 Compare May 5, 2022 17:40
@BenamarMk BenamarMk force-pushed the ramen_volsync_integration branch 2 times, most recently from dff46a2 to 8ea33c7 Compare May 18, 2022 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants