Skip to content

volsync: Add MoverConfig to local ReplicationSource#1

Open
pruthvitd wants to merge 1 commit intomainfrom
rgs-moverconfig-update
Open

volsync: Add MoverConfig to local ReplicationSource#1
pruthvitd wants to merge 1 commit intomainfrom
rgs-moverconfig-update

Conversation

@pruthvitd
Copy link
Copy Markdown
Owner

Problem:
During VolSync rollback operations (failover scenarios), the local
ReplicationSource created by reconcileLocalRS() was missing MoverConfig
settings. This caused the local RS mover pods to run with default
security contexts instead of the configured ones, leading to permission
errors when accessing PVCs with specific security requirements (e.g.,
fsGroup, runAsUser, custom service accounts).

Root Cause:
The reconcileLocalRS() function did not accept or apply MoverConfig
parameters, unlike the primary RS creation path in createOrUpdateRS()
which properly handles MoverConfig.

Solution:
Apply MoverConfig to local RS RsyncTLS spec using the same pattern
as createOrUpdateRS()

Fix VolSync mover configuration for locally created
ReplicationSources during failover.

This PR ensures that the local ReplicationSource (RS)i
 created during failover—used for syncing data from the
ReplicationDestination snapshot back to the peer cluster—correctly
inherits the configured MoverConfig. Previously, MoverSecurityContext
 and MoverServiceAccount were not propagated to the local RS, causing
 mover pods to start with incorrect permissions or without the required
ServiceAccount. This led to permission denied errors, mover startup
 failures, and failover operations getting stuck.
The fix updates reconcileLocalRS() in volsync/vshandler.go to properly
 initialize and apply the full MoverConfig to the locally generated
RS specification.

Signed-off-by: pruthvitd <prd@redhat.com>
@pruthvitd pruthvitd force-pushed the rgs-moverconfig-update branch from 8f2ac3d to 697a01a Compare March 6, 2026 15:23
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.

1 participant