-
Notifications
You must be signed in to change notification settings - Fork 23
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
Generates VolRepClasses based on the RamenDR replication schedule resource #177
base: main
Are you sure you want to change the base?
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: raaizik The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
597255c
to
7a6fc7b
Compare
626d539
to
f0ceee7
Compare
08910fd
to
8ee12ce
Compare
VolRepClass
based on the RamenDR replication schedule resource
66dca4f
to
27ee9da
Compare
VolRepClass
based on the RamenDR replication schedule resource
Depends on #2727 |
4eb8312
to
0f8ca79
Compare
/cc @Madhu-1 |
go.mod
Outdated
@@ -19,18 +20,21 @@ exclude ( | |||
|
|||
require ( | |||
github.com/ceph/ceph-csi-operator/api v0.0.0-20240812072523-4d50cf3a32a0 | |||
github.com/csi-addons/kubernetes-csi-addons v0.8.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use 0.10.0
return []reconcile.Request{} | ||
} | ||
|
||
// Return name and namespace of the StorageClaim object |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
update the comment as there is no namespace as its clusterscoped resouces
err = utils.CreateOrReplace(r.ctx, r.Client, volumeReplicationClassFlattenMode, func() error { | ||
utils.AddLabels(volumeReplicationClassFlattenMode, resource.Labels) | ||
utils.AddAnnotation(volumeReplicationClassFlattenMode, storageClaimAnnotation, r.storageClaim.Name) | ||
utils.AddAnnotations(volumeReplicationClassFlattenMode, resource.Annotations) | ||
volumeReplicationClassFlattenMode.Spec.Parameters = data |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This class needs a parameters flattenMode, i see we dont have any check to see what parameters need to set, if we VolumeReplicationClass
we are just going and creating 2 classes. one should have flattenMode set to never and another one should have flattenMode set to force
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
551ad68
to
3c18bf7
Compare
Testing:
@Madhu-1 could you verify that vrc has the right parameters/labels/annotations? |
@rewantsoni parameters looks good, am not sure about the annotations/labels |
@@ -424,6 +469,44 @@ func (r *StorageClaimReconciler) reconcilePhases() (reconcile.Result, error) { | |||
if err != nil { | |||
return reconcile.Result{}, fmt.Errorf("failed to create or update VolumeSnapshotClass: %s", err) | |||
} | |||
case "VolumeReplicationClass": |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What happens when the drClusterConfig is deleted? Will the VRC's get deleted as well?
a640d1e
to
8de6b52
Compare
} | ||
// check if DRClusterConfig has been removed | ||
if len(drclusterconfigs.Items) == 0 { | ||
vrcs := &replicationv1alpha1.VolumeReplicationClassList{} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just set the owneRef of VolumeReplicationClass as the drclusterconfig as both are clusterscoped resouces?
} | ||
} | ||
drclusterconfig := &drclusterconfigs.Items[0] | ||
for interval := range drclusterconfig.Spec.ReplicationSchedules { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what will happen when specific ReplicationSchedules are deleted?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missed that, added ✔️
- Creates VolRepClass in response to changes made to DRClusterConfig - k8s csi addons bump Signed-off-by: raaizik <[email protected]>
Changess
VolumeReplicationClass
in response to changes made toDRClusterConfig
-- the RamenDR replication schedule CR. VRCs are generated per each sched interval detailed inDRClusterConfig
, for both flatten and non-flatten mode VRC types.RHSTOR-5753