Skip to content

Commit b1d371b

Browse files
track replsetname in status
Signed-off-by: Mayank Shah <mayank.shah@percona.com>
1 parent b2a8491 commit b1d371b

9 files changed

Lines changed: 30 additions & 18 deletions

File tree

config/crd/bases/psmdb.percona.com_perconaservermongodbbackups.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ spec:
261261
snapshots:
262262
items:
263263
properties:
264-
nodeName:
264+
replsetName:
265265
type: string
266266
snapshotName:
267267
type: string

config/crd/bases/psmdb.percona.com_perconaservermongodbrestores.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ spec:
219219
snapshots:
220220
items:
221221
properties:
222-
nodeName:
222+
replsetName:
223223
type: string
224224
snapshotName:
225225
type: string

deploy/bundle.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ spec:
265265
snapshots:
266266
items:
267267
properties:
268-
nodeName:
268+
replsetName:
269269
type: string
270270
snapshotName:
271271
type: string
@@ -512,7 +512,7 @@ spec:
512512
snapshots:
513513
items:
514514
properties:
515-
nodeName:
515+
replsetName:
516516
type: string
517517
snapshotName:
518518
type: string
@@ -26736,7 +26736,7 @@ spec:
2673626736
serviceAccountName: percona-server-mongodb-operator
2673726737
containers:
2673826738
- name: percona-server-mongodb-operator
26739-
image: asia-south1-docker.pkg.dev/cloud-dev-112233/mayankshah/psmdb-operator:K8SPSMDB-1363
26739+
image: perconalab/percona-server-mongodb-operator:main
2674026740
imagePullPolicy: Always
2674126741
livenessProbe:
2674226742
failureThreshold: 3

deploy/crd.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ spec:
265265
snapshots:
266266
items:
267267
properties:
268-
nodeName:
268+
replsetName:
269269
type: string
270270
snapshotName:
271271
type: string
@@ -512,7 +512,7 @@ spec:
512512
snapshots:
513513
items:
514514
properties:
515-
nodeName:
515+
replsetName:
516516
type: string
517517
snapshotName:
518518
type: string

deploy/cw-bundle.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ spec:
265265
snapshots:
266266
items:
267267
properties:
268-
nodeName:
268+
replsetName:
269269
type: string
270270
snapshotName:
271271
type: string
@@ -512,7 +512,7 @@ spec:
512512
snapshots:
513513
items:
514514
properties:
515-
nodeName:
515+
replsetName:
516516
type: string
517517
snapshotName:
518518
type: string

e2e-tests/version-service/conf/crd.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ spec:
265265
snapshots:
266266
items:
267267
properties:
268-
nodeName:
268+
replsetName:
269269
type: string
270270
snapshotName:
271271
type: string
@@ -512,7 +512,7 @@ spec:
512512
snapshots:
513513
items:
514514
properties:
515-
nodeName:
515+
replsetName:
516516
type: string
517517
snapshotName:
518518
type: string

pkg/apis/psmdb/v1/perconaservermongodbbackup_types.go

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ type PerconaServerMongoDBBackupStatus struct {
5555
PBMname string `json:"pbmName,omitempty"`
5656
Size string `json:"size,omitempty"`
5757

58-
Snapshots []SnapshotInfo `json:"snapshots,omitempty"`
58+
Snapshots SnapshotInfos `json:"snapshots,omitempty"`
5959

6060
// Deprecated: Use PBMPods instead
6161
PBMPod string `json:"pbmPod,omitempty"`
@@ -69,11 +69,22 @@ type PerconaServerMongoDBBackupStatus struct {
6969
LatestRestorableTime *metav1.Time `json:"latestRestorableTime,omitempty"`
7070
}
7171

72+
type SnapshotInfos []SnapshotInfo
73+
7274
type SnapshotInfo struct {
73-
NodeName string `json:"nodeName,omitempty"`
75+
ReplsetName string `json:"replsetName,omitempty"`
7476
SnapshotName string `json:"snapshotName,omitempty"`
7577
}
7678

79+
func (s SnapshotInfos) GetSnapshotInfo(replsetName string) *SnapshotInfo {
80+
for _, info := range s {
81+
if info.ReplsetName == replsetName {
82+
return &info
83+
}
84+
}
85+
return nil
86+
}
87+
7788
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
7889

7990
// PerconaServerMongoDBBackup is the Schema for the perconaservermongodbbackups API

pkg/controller/perconaservermongodbbackup/snapshot.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,13 @@ func (b *snapshotBackups) Start(ctx context.Context, k8sclient client.Client, cl
8787
func (b *snapshotBackups) reconcileSnapshot(
8888
ctx context.Context,
8989
cl client.Client,
90+
rsName string,
9091
pvc string,
9192
bcp *api.PerconaServerMongoDBBackup,
9293
) (*volumesnapshotv1.VolumeSnapshot, error) {
9394
volumeSnapshot := &volumesnapshotv1.VolumeSnapshot{
9495
ObjectMeta: metav1.ObjectMeta{
95-
Name: naming.VolumeSnapshotName(bcp, pvc),
96+
Name: naming.VolumeSnapshotName(bcp, rsName),
9697
Namespace: bcp.GetNamespace(),
9798
},
9899
}
@@ -150,7 +151,7 @@ func (b *snapshotBackups) reconcileSnapshots(
150151

151152
// ensure snapshot is created.
152153
pvcName := config.MongodDataVolClaimName + "-" + podName
153-
snapshot, err := b.reconcileSnapshot(ctx, cl, pvcName, bcp)
154+
snapshot, err := b.reconcileSnapshot(ctx, cl, rs.Name, pvcName, bcp)
154155
if err != nil {
155156
return false, nil, errors.Wrap(err, "reconcile snapshot")
156157
}
@@ -165,7 +166,7 @@ func (b *snapshotBackups) reconcileSnapshots(
165166
return false, nil, errors.Errorf("snapshot error: %s", ptr.Deref(snapshot.Status.Error.Message, ""))
166167
}
167168
snapshots = append(snapshots, api.SnapshotInfo{
168-
NodeName: rs.Node,
169+
ReplsetName: rs.Name,
169170
SnapshotName: snapshot.GetName(),
170171
})
171172
}

pkg/naming/naming.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,6 @@ func PBMHookScriptConfigMapName(cr *psmdbv1.PerconaServerMongoDB) string {
8585
return fmt.Sprintf("%s-pbm-hookscript", cr.Name)
8686
}
8787

88-
func VolumeSnapshotName(bcp *psmdbv1.PerconaServerMongoDBBackup, pvc string) string {
89-
return fmt.Sprintf("%s-%s", bcp.Name, pvc)
88+
func VolumeSnapshotName(bcp *psmdbv1.PerconaServerMongoDBBackup, rsName string) string {
89+
return fmt.Sprintf("%s-%s", bcp.Name, rsName)
9090
}

0 commit comments

Comments
 (0)