Skip to content

Commit d2d4158

Browse files
K8SPSMDB-1035 test case for PR1377 (#1426)
* K8SPSMDB-1035 test case for #1377 * Update e2e-tests/pitr-sharded/run Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Update e2e-tests/pitr-sharded/run Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 2d9b438 commit d2d4158

File tree

3 files changed

+205
-7
lines changed

3 files changed

+205
-7
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: psmdb.percona.com/v1
2+
kind: PerconaServerMongoDBBackup
3+
metadata:
4+
name:
5+
spec:
6+
clusterName: some-name
7+
storageName: aws-s3
Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
apiVersion: psmdb.percona.com/v1
2+
kind: PerconaServerMongoDB
3+
metadata:
4+
name: some-name
5+
spec:
6+
#platform: openshift
7+
image:
8+
imagePullPolicy: Always
9+
backup:
10+
enabled: true
11+
image: perconalab/percona-server-mongodb-operator:1.1.0-backup
12+
storages:
13+
aws-s3:
14+
type: s3
15+
s3:
16+
region: us-east-1
17+
bucket: operator-testing
18+
prefix: psmdb-pitr-demand-backup-eks-credentials
19+
pitr:
20+
enabled: false
21+
oplogSpanMin: 2
22+
runtimeClassName: container-rc
23+
sharding:
24+
enabled: true
25+
26+
configsvrReplSet:
27+
size: 3
28+
volumeSpec:
29+
persistentVolumeClaim:
30+
resources:
31+
requests:
32+
storage: 3Gi
33+
sidecars:
34+
- image: busybox
35+
command: ["/bin/sh"]
36+
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
37+
name: cfg-sidecar-1
38+
runtimeClassName: container-rc
39+
40+
mongos:
41+
size: 3
42+
expose:
43+
exposeType: ClusterIP
44+
sidecars:
45+
- image: busybox
46+
command: ["/bin/sh"]
47+
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
48+
name: mongos-sidecar-1
49+
runtimeClassName: container-rc
50+
51+
52+
replsets:
53+
- name: rs0
54+
affinity:
55+
antiAffinityTopologyKey: none
56+
resources:
57+
limits:
58+
cpu: 500m
59+
memory: 1G
60+
requests:
61+
cpu: 100m
62+
memory: 0.1G
63+
volumeSpec:
64+
persistentVolumeClaim:
65+
resources:
66+
requests:
67+
storage: 1Gi
68+
runtimeClassName: container-rc
69+
size: 3
70+
configuration: |
71+
operationProfiling:
72+
mode: slowOp
73+
slowOpThresholdMs: 100
74+
security:
75+
enableEncryption: true
76+
redactClientLogData: false
77+
setParameter:
78+
ttlMonitorSleepSecs: 60
79+
wiredTigerConcurrentReadTransactions: 128
80+
wiredTigerConcurrentWriteTransactions: 128
81+
storage:
82+
engine: wiredTiger
83+
wiredTiger:
84+
collectionConfig:
85+
blockCompressor: snappy
86+
engineConfig:
87+
directoryForIndexes: false
88+
journalCompressor: snappy
89+
indexConfig:
90+
prefixCompression: true
91+
- name: rs1
92+
affinity:
93+
antiAffinityTopologyKey: none
94+
resources:
95+
limits:
96+
cpu: 500m
97+
memory: 1G
98+
requests:
99+
cpu: 100m
100+
memory: 0.1G
101+
volumeSpec:
102+
persistentVolumeClaim:
103+
resources:
104+
requests:
105+
storage: 1Gi
106+
size: 3
107+
configuration: |
108+
operationProfiling:
109+
mode: slowOp
110+
slowOpThresholdMs: 100
111+
security:
112+
enableEncryption: true
113+
redactClientLogData: false
114+
setParameter:
115+
ttlMonitorSleepSecs: 60
116+
wiredTigerConcurrentReadTransactions: 128
117+
wiredTigerConcurrentWriteTransactions: 128
118+
storage:
119+
engine: wiredTiger
120+
wiredTiger:
121+
collectionConfig:
122+
blockCompressor: snappy
123+
engineConfig:
124+
directoryForIndexes: false
125+
journalCompressor: snappy
126+
indexConfig:
127+
prefixCompression: true
128+
- name: rs2
129+
affinity:
130+
antiAffinityTopologyKey: none
131+
resources:
132+
limits:
133+
cpu: 500m
134+
memory: 1G
135+
requests:
136+
cpu: 100m
137+
memory: 0.1G
138+
volumeSpec:
139+
persistentVolumeClaim:
140+
resources:
141+
requests:
142+
storage: 1Gi
143+
size: 3
144+
configuration: |
145+
operationProfiling:
146+
mode: slowOp
147+
slowOpThresholdMs: 100
148+
security:
149+
enableEncryption: true
150+
redactClientLogData: false
151+
setParameter:
152+
ttlMonitorSleepSecs: 60
153+
wiredTigerConcurrentReadTransactions: 128
154+
wiredTigerConcurrentWriteTransactions: 128
155+
storage:
156+
engine: wiredTiger
157+
wiredTiger:
158+
collectionConfig:
159+
blockCompressor: snappy
160+
engineConfig:
161+
directoryForIndexes: false
162+
journalCompressor: snappy
163+
indexConfig:
164+
prefixCompression: true
165+
sidecars:
166+
- image: busybox
167+
command: ["/bin/sh"]
168+
args: ["-c", "while true; do echo echo $(date -u) 'test' >> /dev/null; sleep 5;done"]
169+
name: rs-sidecar-1
170+
secrets:
171+
users: some-users

e2e-tests/pitr-sharded/run

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,11 @@ main() {
9595

9696
cluster="some-name"
9797
desc "create first PSMDB cluster $cluster"
98-
apply_cluster $test_dir/conf/$cluster-rs0.yml
98+
if [ $EKS -eq 0 ]; then
99+
apply_cluster $test_dir/conf/$cluster-rs0.yml
100+
else
101+
apply_cluster $test_dir/conf/eks-$cluster-rs0.yml
102+
fi
99103

100104
desc 'check if all 3 Pods started'
101105
wait_for_running $cluster-rs0 3
@@ -121,19 +125,35 @@ main() {
121125
wait_backup_agent $cluster-rs2-1
122126
wait_backup_agent $cluster-rs2-2
123127

124-
backup_name_minio="backup-minio"
125-
run_backup $backup_name_minio 0
128+
if [ $EKS -eq 0 ]; then
129+
backup_name_minio="backup-minio"
130+
run_backup $backup_name_minio 0
131+
else
132+
kubectl_bin patch psmdb some-name --type=merge -p '{"spec":{"backup":{"pitr":{"enabled":true}}}}'
133+
kubectl_bin exec some-name-rs0-0 -it -c backup-agent -- pbm status
134+
exit_status=$?
135+
if [ $exit_status -gt 0 ]; then
136+
exit 1
137+
fi
138+
backup_name_aws="backup-aws-s3"
139+
run_backup $backup_name_aws 0
140+
fi
126141

127142
write_document "-2nd"
128143
sleep 2
129144

130145
time_now=$(run_mongos 'new Date().toISOString()' "myApp:myPass@$cluster-mongos.$namespace" "mongodb" "" "--quiet" | grep -E -v 'I NETWORK|W NETWORK|Error saving history file|Percona Server for MongoDB|connecting to:|Unable to reach primary for set|Implicit session:|versions do not match|Error saving history file:' | cut -c1-19 | tr T " ")
131146

132-
check_recovery $backup_name_minio-0 date "$time_now" "-2nd" "$cluster"
133-
134-
run_backup $backup_name_minio 1
147+
if [ $EKS -eq 0 ]; then
148+
check_recovery $backup_name_minio-0 date "$time_now" "-2nd" "$cluster"
149+
run_backup $backup_name_minio 1
150+
check_recovery $backup_name_minio-1 latest "" "-3rd" "$cluster"
151+
else
152+
check_recovery $backup_name_aws-0 date "$time_now" "-2nd" "$cluster"
153+
run_backup $backup_name_aws 1
154+
check_recovery $backup_name_aws-1 latest "" "-3rd" "$cluster"
135155

136-
check_recovery $backup_name_minio-1 latest "" "-3rd" "$cluster"
156+
fi
137157

138158
desc 'delete custom RuntimeClass'
139159
kubectl_bin delete -f "$conf_dir/container-rc.yaml"

0 commit comments

Comments
 (0)