-
Notifications
You must be signed in to change notification settings - Fork 21
CLOUDP-329178 - Support Project Migration in Sharded Clusters #399
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
base: master
Are you sure you want to change the base?
Conversation
MCK 1.3.0 Release NotesNew FeaturesMulti-Architecture SupportWe've added comprehensive multi-architecture support for the kubernetes operator. This enhancement enables deployment on IBM Power (ppc64le) and IBM Z (s390x) architectures alongside
Bug Fixes
Other Changes
|
this is blocked on: https://jira.mongodb.org/browse/CLOUDP-328217 |
Summary
This pull request introduces process ID persistence for MongoDB sharded cluster deployments, ensuring that process IDs for replica sets are correctly maintained across reconciliation cycles and during migration scenarios (such as project changes). This is achieved by storing process IDs in the deployment state and updating the controller logic and tests accordingly.
Process ID Persistence for Sharded Clusters:
ProcessIds
field to theShardedClusterDeploymentState
struct to store process IDs for each replica set, enabling persistence across reconciliation cycles and project migrations.buildReplicaSetFromProcesses
function and its call sites to retrieve and use persisted process IDs from the deployment state when process IDs are missing (e.g., during migration).Controller Logic Enhancements:
Testing Improvements:
mongodbshardedcluster_controller_test.go
to verify process ID persistence, retrieval, edge cases, and JSON serialization/deserialization for state store compatibility. Also, tested the integration with the updatedbuildReplicaSetFromProcesses
and the new process ID persistence logic.End-to-End (E2E) Test Enhancements:
multi_cluster_sharded_scaling.py
to verify that process IDs are preserved during project migration scenarios, including the creation of non-sequential member IDs and asserting that replica set member IDs remain unchanged after migration.These changes collectively improve the robustness of sharded cluster management, particularly in scenarios involving cluster migration or changes to Ops Manager configuration.
Proof of Work
Checklist
skip-changelog
label if not needed