Skip to content

Conversation

@Joeavaikath
Copy link
Contributor

Why the changes were made

Adds support for the kubevirt-datamover plugin as a new default plugin option in the DataProtectionApplication CRD. This plugin enables data movement capabilities for KubeVirt virtual machines during backup and restore operations.

Changes include:

  • Add DefaultPluginKubeVirtDataMover constant to DefaultPlugin enum
  • Add KubeVirtDatamoverImageKey to unsupportedOverrides configuration
  • Add plugin image constant and name mapping in pkg/common
  • Add credentials and image retrieval logic in pkg/credentials
  • Update CRD validation to accept 'kubevirt-datamover' plugin value
  • Update bundle manifests with new plugin enum value

Users can now specify 'kubevirt-datamover' in the DPA spec:
spec:
configuration:
velero:
defaultPlugins:
- kubevirt-datamover

This will close #2065

How to test the changes made

Once the kubevirt-datamover image exists to be tested, supplying the kubevirt-datamover in defaultPlugins should work

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 26, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 26, 2026

Walkthrough

Adds support for a new KubeVirt data mover plugin variant to OADP by introducing plugin constants, extending CRD schemas to include the plugin identifier in default plugins and unsupported image overrides, and configuring plugin-specific metadata.

Changes

Cohort / File(s) Summary
API Type Definitions
api/v1alpha1/dataprotectionapplication_types.go
Adds DefaultPluginKubeVirtDataMover constant ("kubevirt-datamover") and KubeVirtDatamoverImageKey constant ("kubevirtDatamoverPluginImageFqin") to support plugin enumeration and image override configuration.
CRD Manifest & Bases
bundle/manifests/oadp.openshift.io_dataprotectionapplications.yaml
config/crd/bases/oadp.openshift.io_dataprotectionapplications.yaml
Extends CRD validation schemas by adding "kubevirt-datamover" to defaultPlugins array and "kubevirtDatamoverPluginImageFqin" to unsupportedOverrides map in both manifest and base configurations.
Plugin Configuration
pkg/common/common.go
pkg/credentials/credentials.go
Adds KubeVirtDatamoverPluginImage and KubeVirtDatamoverPlugin constants in common package; extends PluginSpecificFields map with KubeVirt datamover configuration and updates GetPluginImage switch-case to handle the new plugin variant.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Assessment against linked issues

Objective Addressed Explanation
DPA changes for KubeVirt data mover plugin support [#2065]
Plugin new fields and configuration [#2065]
Unsupported overrides for controller plugins [#2065]
✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Adds support for the kubevirt-datamover plugin as a new default plugin
option in the DataProtectionApplication CRD. This plugin enables data
movement capabilities for KubeVirt virtual machines during backup and
restore operations.

Changes include:
- Add DefaultPluginKubeVirtDataMover constant to DefaultPlugin enum
- Add KubeVirtDatamoverImageKey to unsupportedOverrides configuration
- Add plugin image constant and name mapping in pkg/common
- Add credentials and image retrieval logic in pkg/credentials
- Update CRD validation to accept 'kubevirt-datamover' plugin value
- Update bundle manifests with new plugin enum value

Users can now specify 'kubevirt-datamover' in the DPA spec:
  spec:
    configuration:
      velero:
        defaultPlugins:
        - kubevirt-datamover

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Joseph <jvaikath@redhat.com>
@Joeavaikath Joeavaikath force-pushed the kubevirt-datamover-dpa branch from 7b870c1 to 9a94818 Compare January 26, 2026 19:17
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 26, 2026
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 27, 2026
@kaovilai kaovilai added the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2026
@kaovilai
Copy link
Member

/test 4.21-e2e-test-cli-aws

testing optional, should timeout faster and not hit 2hr mark

{"component":"entrypoint","error":"process timed out","file":"sigs.k8s.io/prow/pkg/entrypoint/run.go:84","func":"sigs.k8s.io/prow/pkg/entrypoint.Options.internalRun","level":"error","msg":"Error executing test process","severity":"error","time":"2026-01-26T22:38:30Z"}

@openshift-ci
Copy link

openshift-ci bot commented Jan 27, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Joeavaikath, kaovilai, shubham-pampattiwar, sseago

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [kaovilai,shubham-pampattiwar,sseago]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot bot merged commit b23a69e into openshift:oadp-dev Jan 27, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

kubevirt-dm: DPA updates

5 participants