Skip to content

K8SPSMDB-1705: Bump PBM go module to v2.15.0#2411

Draft
egegunes wants to merge 1 commit into
mainfrom
K8SPSMDB-1705
Draft

K8SPSMDB-1705: Bump PBM go module to v2.15.0#2411
egegunes wants to merge 1 commit into
mainfrom
K8SPSMDB-1705

Conversation

@egegunes

Copy link
Copy Markdown
Contributor

CHANGE DESCRIPTION

This PR bumps PBM go module to v2.15.0.

PBM migrated to mongo-driver v2 since v1 support is deprecated in upstream. We also migrate to v2 with this PR.

CHECKLIST

Jira

  • Is the Jira ticket created and referenced properly?
  • Does the Jira ticket have the proper statuses for documentation (Needs Doc) and QA (Needs QA)?
  • Does the Jira ticket link to the proper milestone (Fix Version field)?

Tests

  • Is an E2E test/test case added for the new feature/change?
  • Are unit tests added where appropriate?
  • Are OpenShift compare files changed for E2E tests (compare/*-oc.yml)?

Config/Logging/Testability

  • Are all needed new/changed options added to default YAML files?
  • Are all needed new/changed options added to the Helm Chart?
  • Did we add proper logging messages for operator actions?
  • Did we ensure compatibility with the previous version or cluster upgrade process?
  • Does the change support oldest and newest supported MongoDB version?
  • Does the change support oldest and newest supported Kubernetes version?

Copilot AI review requested due to automatic review settings June 22, 2026 11:02
@pull-request-size pull-request-size Bot added the size/L 100-499 lines label Jun 22, 2026
@egegunes egegunes added this to the v1.23.0 milestone Jun 22, 2026
@github-actions github-actions Bot added the dependencies Pull requests that update a dependency file label Jun 22, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the operator to use Percona Backup for MongoDB (PBM) v2.15.0 by bumping the percona-backup-mongodb module and migrating the operator codebase to go.mongodb.org/mongo-driver/v2 APIs.

Changes:

  • Bump github.com/percona/percona-backup-mongodb to v1.8.1-0.20260617122520-9641a911c853 (PBM v2.15.0) and migrate to go.mongodb.org/mongo-driver/v2.
  • Update MongoDB client abstractions, PBM interfaces, mocks, and tests to use new driver v2 types/signatures (e.g., bson.Timestamp, options.Lister[...]).
  • Refresh Go module metadata (go.mod / go.sum) to reflect new transitive dependencies.

Reviewed changes

Copilot reviewed 15 out of 18 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/psmdb/mongo/mongo.go Migrates mongo client wrapper to mongo-driver/v2 and updates connection/options signatures.
pkg/psmdb/mongo/models.go Replaces primitive.* BSON types with mongo-driver/v2 bson.* equivalents in models.
pkg/psmdb/mongo/fake/client.go Updates fake mongo client to mongo-driver/v2 packages and updated option types.
pkg/psmdb/backup/pbm.go Updates PBM interface and PITR timestamp usage to mongo-driver/v2 BSON types.
pkg/psmdb/backup/fake/pbm.go Updates PBM fake to match new PITR timestamp types.
pkg/controller/perconaservermongodbrestore/physical.go Updates BSON import path to mongo-driver/v2.
pkg/controller/perconaservermongodbrestore/mock_pbm.go Regenerates/updates gomock PBM signatures to use mongo-driver/v2 types.
pkg/controller/perconaservermongodbrestore/logical.go Updates PITR restore timestamp type to mongo-driver/v2 bson.Timestamp.
pkg/controller/perconaservermongodbbackup/snapshot_test.go Updates tests to use mongo-driver/v2 BSON timestamp types and gofmt import ordering.
pkg/controller/perconaservermongodbbackup/mock_pbm.go Regenerates/updates gomock PBM signatures to use mongo-driver/v2 types.
pkg/controller/perconaservermongodbbackup/backup_test.go Updates tests to use mongo-driver/v2 BSON timestamp types.
pkg/controller/perconaservermongodb/pbm.go Updates mongo-driver import paths (mongo, bsoncore) to v2.
pkg/controller/perconaservermongodb/mgo.go Updates topology import path and server-selection error detection for driver v2.
pkg/controller/perconaservermongodb/finalizers.go Updates PITR deletion timestamp type to mongo-driver/v2 bson.Timestamp.
cmd/mongodb-healthcheck/healthcheck/readiness.go Updates BSON import path to mongo-driver/v2.
cmd/mongodb-healthcheck/healthcheck/liveness.go Updates BSON import path to mongo-driver/v2.
go.mod Bumps PBM module and switches mongo-driver dependency to v2; updates indirect deps.
go.sum Updates dependency checksums consistent with the module/version bump.
Files not reviewed (2)
  • pkg/controller/perconaservermongodbbackup/mock_pbm.go: Generated file
  • pkg/controller/perconaservermongodbrestore/mock_pbm.go: Generated file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread pkg/psmdb/mongo/mongo.go
Comment on lines 112 to 116
if err != nil {
derr := client.Disconnect(tCtx)
derr := client.Disconnect(ctx)
if derr != nil {
log.Error(err, "failed to disconnect")
}
@JNKPercona

Copy link
Copy Markdown
Collaborator
Test Name Result Time
arbiter skipped 00:00:00
balancer skipped 00:00:00
cert-management-policy skipped 00:00:00
clustersync skipped 00:00:00
cross-site-sharded skipped 00:00:00
custom-replset-name skipped 00:00:00
custom-tls skipped 00:00:00
custom-users-roles skipped 00:00:00
custom-users-roles-sharded skipped 00:00:00
data-at-rest-encryption skipped 00:00:00
data-sharded skipped 00:00:00
demand-backup skipped 00:00:00
demand-backup-eks-credentials-irsa skipped 00:00:00
demand-backup-fs skipped 00:00:00
demand-backup-if-unhealthy skipped 00:00:00
demand-backup-incremental-aws skipped 00:00:00
demand-backup-incremental-azure skipped 00:00:00
demand-backup-incremental-gcp-native skipped 00:00:00
demand-backup-incremental-gcp-s3 skipped 00:00:00
demand-backup-incremental-minio skipped 00:00:00
demand-backup-incremental-sharded-aws skipped 00:00:00
demand-backup-incremental-sharded-azure skipped 00:00:00
demand-backup-incremental-sharded-gcp-native skipped 00:00:00
demand-backup-incremental-sharded-gcp-s3 skipped 00:00:00
demand-backup-incremental-sharded-minio skipped 00:00:00
demand-backup-logical-minio-native-tls skipped 00:00:00
demand-backup-physical-parallel skipped 00:00:00
demand-backup-physical-aws skipped 00:00:00
demand-backup-physical-azure skipped 00:00:00
demand-backup-physical-gcp-s3 skipped 00:00:00
demand-backup-physical-gcp-native skipped 00:00:00
demand-backup-physical-minio skipped 00:00:00
demand-backup-physical-minio-native skipped 00:00:00
demand-backup-physical-minio-native-tls skipped 00:00:00
demand-backup-physical-sharded-parallel skipped 00:00:00
demand-backup-physical-sharded-aws skipped 00:00:00
demand-backup-physical-sharded-azure skipped 00:00:00
demand-backup-physical-sharded-gcp-native skipped 00:00:00
demand-backup-physical-sharded-minio skipped 00:00:00
demand-backup-physical-sharded-minio-native skipped 00:00:00
demand-backup-sharded skipped 00:00:00
demand-backup-snapshot skipped 00:00:00
demand-backup-snapshot-vault skipped 00:00:00
disabled-auth skipped 00:00:00
expose-sharded skipped 00:00:00
finalizer skipped 00:00:00
ignore-labels-annotations skipped 00:00:00
init-deploy skipped 00:00:00
ldap skipped 00:00:00
ldap-tls skipped 00:00:00
limits skipped 00:00:00
liveness skipped 00:00:00
mongod-major-upgrade skipped 00:00:00
mongod-major-upgrade-sharded skipped 00:00:00
monitoring-2-0 skipped 00:00:00
monitoring-pmm3 skipped 00:00:00
multi-cluster-service skipped 00:00:00
multi-storage skipped 00:00:00
non-voting-and-hidden skipped 00:00:00
one-pod skipped 00:00:00
operator-self-healing-chaos skipped 00:00:00
pitr skipped 00:00:00
pitr-physical skipped 00:00:00
pitr-sharded skipped 00:00:00
pitr-to-new-cluster skipped 00:00:00
pitr-physical-backup-source skipped 00:00:00
preinit-updates skipped 00:00:00
pvc-auto-resize skipped 00:00:00
pvc-resize skipped 00:00:00
recover-no-primary skipped 00:00:00
replset-overrides skipped 00:00:00
replset-remapping skipped 00:00:00
replset-remapping-sharded skipped 00:00:00
rs-shard-migration skipped 00:00:00
scaling skipped 00:00:00
scheduled-backup skipped 00:00:00
security-context skipped 00:00:00
self-healing-chaos skipped 00:00:00
service-per-pod skipped 00:00:00
serviceless-external-nodes skipped 00:00:00
smart-update skipped 00:00:00
split-horizon skipped 00:00:00
split-horizon-manual-tls skipped 00:00:00
stable-resource-version skipped 00:00:00
storage skipped 00:00:00
tls-issue-cert-manager skipped 00:00:00
unsafe-psa skipped 00:00:00
upgrade skipped 00:00:00
upgrade-consistency skipped 00:00:00
upgrade-consistency-sharded-tls skipped 00:00:00
upgrade-sharded skipped 00:00:00
upgrade-partial-backup skipped 00:00:00
users skipped 00:00:00
users-vault skipped 00:00:00
vector-search skipped 00:00:00
vector-search-sharded skipped 00:00:00
version-service skipped 00:00:00
Summary Value
Tests Run 0/97
Job Duration 00:10:53
Total Test Time N/A

commit: 13ee849
image: perconalab/percona-server-mongodb-operator:PR-2411-13ee84933

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file size/L 100-499 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants