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

Enhancements to support multiple DRPC in a NS for epic-6681 #1834

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pruthvitd
Copy link
Member

@pruthvitd pruthvitd commented Feb 14, 2025

Allow the application users to have multiple DRPCs for the
same discovered application namespace(s). Remove the DRPC
conflict check to enable the Ramen operator to create o
multiple VRGs within the same namespace.

Eliminating the DRPC conflict check for discovered applications

@pruthvitd pruthvitd marked this pull request as ready for review February 18, 2025 08:37
@pruthvitd pruthvitd force-pushed the vmdrpc branch 3 times, most recently from f8562b2 to 1a63337 Compare February 18, 2025 12:16
Copy link
Contributor

@kseegerrh kseegerrh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/Its a valid Independent VM protection./It's a valid Independent VM protection./

Allow the application users to have multiple DRPCs for the
same discovered application namespace(s). Remove the DRPC
conflict check to enable the Ramen operator to create
multiple VRGs within the same namespace.

Signed-off-by: pruthvitd <prd@redhat.com>
@pruthvitd
Copy link
Member Author

Protecting discovered application using recipe till 4.18 OCP release.

  1. A recipe instance had to be created by the user on both the managed clusters.

  2. User had the ability to protect the application only at the namespace level. In other words, the unit of protection was restricted only to namespace.

  3. Whenever the user selects the NS to be protected from UI console, the “drpc” instance on hub and the corresponding  “vrg” instances on the managed clusters get created under the “ramenOpsNamespace” with the spec referencing to recipe instance, created by the user in the first step and also in the Spec.ProtectingNamespaces list containing target namespace.

  4. If more than one drpc instance created to protect the same namespace, the last created ’drpc’ instance request is not honored or will result in failure.



Protecting discovered application VM(virtual machine) using recipe post 4.18 OCP (through this PR).


  1. User will have the ability to select a VM or group a list VMs from the complete list of VMs in a NameSpace.

  2. For VM protection an inbuilt static recipe will be used within ramen-operator with the name “vm-recipe” , hence user need not create one manually.

  3. Upon user protecting VM/s from OCP UI console, a “drpc” instance will be created with the following Spec:

Spec:
  kubeObjectProtection:

      recipeRef:
        name: vm-recipe
        namespace: <ramenOpsNamespace>
      protectedNamespaces:
        - <name of the namespace owning the VMs>

  1. By using “vm-recipe” multiple ’drpc’ instances can be created to protect VM  resources belonging to same namespace though in this PR, validation is currently not included for common resources among multiple drpc’s. The conflicting resources will be handled by using label selectors in drpc.Spec.RecipeParameters in future code commits.

In short, this PR is only to allow multiple drpc's creation to protect different VM or group of VMs within a NameSpace.

The complete recipe template to protect VM resources will be delivered in upcoming PRs.

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