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

Syncing latest changes from upstream main for ramen #386

Open
wants to merge 15 commits into
base: main
Choose a base branch
from

Conversation

df-build-team
Copy link

PR containing the latest commits from upstream main branch

Benamar Mekhissi and others added 15 commits November 1, 2024 09:08
Fix an issue where the VRG resource was frequently updated, causing the RDSpec
to alternate between an empty and non-empty list. This behavior directly impacted
failover and relocation. If the list was empty during these actions, PVC restore
was skipped, leading to incomplete recovery.

Signed-off-by: Benamar Mekhissi <[email protected]>
This commit modifies the utility function that creates the ManifestWork to return
an additional value indicating the last operation result alongside the error. The
result can be one of three values: created, updated, or none. This change is
needed to track whether the ManifestWork resource was newly created, updated, or
left unchanged.

Signed-off-by: Benamar Mekhissi <[email protected]>
In certain edge cases, ProtectedPVCs may fail to add the PVsRestored condition
permanently, causing the relocate process to get stuck in the WaitForReadiness
progression.

Signed-off-by: Benamar Mekhissi <[email protected]>
When ensuring the VRG ManifestWork, the process now begins by retrieving the VRG
from an existing ManifestWork, if available, and updating it as needed. If the
ManifestWork does not exist, it will be created. This update-instead-of-create
approach avoids overwriting other fields unintentionally and ensures consistency
by always starting from a base VRG state.

Signed-off-by: Benamar Mekhissi <[email protected]>
Changes in this commit include the implementation to generate peer
information per pair of clusters, given the various classes across
the clusters in a DRPolicy.

The methods to fetch the required classes from the clusters or to
update the DRPolicy status is yet to be implemented.

Signed-off-by: Shyamsundar Ranganathan <[email protected]>
This commit adds:
- Inspecting each DRCluster in the DRPolicy for related ManagedCluster
claims for various storage related classes
- Creating an MCV for such claims to fetch the corresponding class
- Updating classLists with the information fetched per cluster
- Pruning MCVs for classes that are no longer claimed
- Deleting MCVs when DRCluster is deleted
- Adding a watch for ManagedCluster and MCV in the DRPolicy reconciler

Signed-off-by: Shyamsundar Ranganathan <[email protected]>
Each entry in peerClasses denotes a relationship for a StorageClass
that has the same name across EXACTLY 2 clusters. This allows to
create multiple peer pairs to represent a cross sync or async
relationship. It also enables to represent more than 2 clusters
in a DRPolicy (in the future).

It is the value of the metadata.uid of the kube-system namespace,
and hence serves to isolate cluster identity to this ID rather than
its name on the hub cluster.

Signed-off-by: Shyamsundar Ranganathan <[email protected]>
Updation also prunes no longer existing peers from the policy status, and adds
new peers to the policy as required.

Signed-off-by: Shyamsundar Ranganathan <[email protected]>
@df-build-team df-build-team requested a review from a team November 2, 2024 08:02
Copy link

openshift-ci bot commented Nov 2, 2024

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: df-build-team

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

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