Skip to content

Commit 97a6f79

Browse files
eleo007ptankov
authored andcommitted
Merge pull request #1714 from percona/release-1.18.0-push-test
Fix tests for 1.18.0 release
1 parent 43fe2ad commit 97a6f79

File tree

6 files changed

+229
-7
lines changed

6 files changed

+229
-7
lines changed

e2e-tests/data-at-rest-encryption/run

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ sleep 5
5757

5858
desc "check backup and restore -- minio"
5959
backup_dest_minio=$(get_backup_dest "$backup_name_minio")
60-
kubectl_bin run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- \
60+
retry 3 5 kubectl_bin run -i --rm aws-cli --image=perconalab/awscli --restart=Never -- \
6161
/usr/bin/env AWS_ACCESS_KEY_ID=some-access-key AWS_SECRET_ACCESS_KEY=some-secret-key AWS_DEFAULT_REGION=us-east-1 \
6262
/usr/bin/aws --endpoint-url http://minio-service:9000 s3 ls s3://${backup_dest_minio}/rs0/ \
6363
| grep myApp.test.gz

e2e-tests/demand-backup-physical-sharded/run

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ run_recovery_check() {
2929
local backup_name=$1
3030
local compare_suffix=${2:-"_restore"}
3131

32-
wait_restore "${backup_name}" "${cluster}" "requested" "0" "1200"
32+
wait_restore "${backup_name}" "${cluster}" "requested" "0" "3000"
3333
echo
3434

3535
compare_kubectl "statefulset/${cluster}-rs0" ${compare_suffix}
3636

3737
# we don't wait for cluster readiness here because the annotation gets removed then
38-
wait_restore "${backup_name}" "${cluster}" "ready" "0" "1800"
38+
wait_restore "${backup_name}" "${cluster}" "ready" "0" "3000"
3939
kubectl_bin get psmdb ${cluster} -o yaml
4040
if [ $(kubectl_bin get psmdb ${cluster} -o yaml | yq '.metadata.annotations."percona.com/resync-pbm"') == null ]; then
4141
echo "psmdb/${cluster} should be annotated with percona.com/resync-pbm after a physical restore"

e2e-tests/demand-backup-physical/run

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ run_recovery_check() {
2929
local backup_name=$1
3030
local compare_suffix=${2:-"_restore"}
3131

32-
wait_restore "${backup_name}" "${cluster}" "requested" "0" "1200"
32+
wait_restore "${backup_name}" "${cluster}" "requested" "0" "3000"
3333
echo
3434

3535
compare_kubectl "statefulset/${cluster}-rs0" ${compare_suffix}
3636

3737
# we don't wait for cluster readiness here because the annotation gets removed then
38-
wait_restore "${backup_name}" "${cluster}" "ready" "0" "1800"
38+
wait_restore "${backup_name}" "${cluster}" "ready" "0" "3000"
3939

4040
kubectl_bin get psmdb ${cluster} -o yaml
4141
if [ $(kubectl_bin get psmdb ${cluster} -o yaml | yq '.metadata.annotations."percona.com/resync-pbm"') == null ]; then

e2e-tests/pvc-resize/run

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,11 @@ if [[ $EKS == 1 || -n ${OPENSHIFT} ]]; then
157157
else
158158
spinup_psmdb "${cluster}-rs0" "$test_dir/conf/$cluster.yml"
159159
fi
160+
echo "Enabling PVC resize after recreating PSMDB cluster ${cluster} "
161+
kubectl_bin patch psmdb "${cluster}" --type=json -p='[{"op": "add", "path": "/spec/enableVolumeExpansion", "value":true }]'
162+
sleep 10
163+
164+
wait_cluster_consistency "$cluster"
160165
fi
161166

162167
desc 'create resourcequota'
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
annotations: {}
5+
generation: 1
6+
labels:
7+
app.kubernetes.io/component: mongod
8+
app.kubernetes.io/instance: mydb
9+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
10+
app.kubernetes.io/name: percona-server-mongodb
11+
app.kubernetes.io/part-of: percona-server-mongodb
12+
app.kubernetes.io/replset: rs0
13+
name: mydb-rs0
14+
ownerReferences:
15+
- controller: true
16+
kind: PerconaServerMongoDB
17+
name: mydb
18+
spec:
19+
podManagementPolicy: OrderedReady
20+
replicas: 1
21+
revisionHistoryLimit: 10
22+
selector:
23+
matchLabels:
24+
app.kubernetes.io/component: mongod
25+
app.kubernetes.io/instance: mydb
26+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
27+
app.kubernetes.io/name: percona-server-mongodb
28+
app.kubernetes.io/part-of: percona-server-mongodb
29+
app.kubernetes.io/replset: rs0
30+
serviceName: mydb-rs0
31+
template:
32+
metadata:
33+
annotations: {}
34+
labels:
35+
app.kubernetes.io/component: mongod
36+
app.kubernetes.io/instance: mydb
37+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
38+
app.kubernetes.io/name: percona-server-mongodb
39+
app.kubernetes.io/part-of: percona-server-mongodb
40+
app.kubernetes.io/replset: rs0
41+
spec:
42+
containers:
43+
- args:
44+
- --bind_ip_all
45+
- --auth
46+
- --dbpath=/data/db
47+
- --port=27017
48+
- --replSet=rs0
49+
- --storageEngine=wiredTiger
50+
- --relaxPermChecks
51+
- --sslAllowInvalidCertificates
52+
- --clusterAuthMode=keyFile
53+
- --keyFile=/etc/mongodb-secrets/mongodb-key
54+
- --tlsMode=allowTLS
55+
- --enableEncryption
56+
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
57+
- --wiredTigerCacheSizeGB=0.25
58+
- --wiredTigerIndexPrefixCompression=true
59+
- --config=/etc/mongodb-config/mongod.conf
60+
- --quiet
61+
command:
62+
- /opt/percona/ps-entry.sh
63+
env:
64+
- name: SERVICE_NAME
65+
value: mydb
66+
- name: MONGODB_PORT
67+
value: "27017"
68+
- name: MONGODB_REPLSET
69+
value: rs0
70+
envFrom:
71+
- secretRef:
72+
name: internal-mydb-users
73+
optional: false
74+
imagePullPolicy: Always
75+
livenessProbe:
76+
exec:
77+
command:
78+
- /opt/percona/mongodb-healthcheck
79+
- k8s
80+
- liveness
81+
- --ssl
82+
- --sslInsecure
83+
- --sslCAFile
84+
- /etc/mongodb-ssl/ca.crt
85+
- --sslPEMKeyFile
86+
- /tmp/tls.pem
87+
- --startupDelaySeconds
88+
- "7200"
89+
failureThreshold: 4
90+
initialDelaySeconds: 60
91+
periodSeconds: 30
92+
successThreshold: 1
93+
timeoutSeconds: 10
94+
name: mongod
95+
ports:
96+
- containerPort: 27017
97+
name: mongodb
98+
protocol: TCP
99+
readinessProbe:
100+
exec:
101+
command:
102+
- /opt/percona/mongodb-healthcheck
103+
- k8s
104+
- readiness
105+
- --component
106+
- mongod
107+
failureThreshold: 8
108+
initialDelaySeconds: 10
109+
periodSeconds: 3
110+
successThreshold: 1
111+
timeoutSeconds: 2
112+
resources:
113+
limits:
114+
cpu: 300m
115+
memory: 500M
116+
requests:
117+
cpu: 300m
118+
memory: 500M
119+
securityContext:
120+
runAsNonRoot: true
121+
terminationMessagePath: /dev/termination-log
122+
terminationMessagePolicy: File
123+
volumeMounts:
124+
- mountPath: /data/db
125+
name: mongod-data
126+
- mountPath: /etc/mongodb-secrets
127+
name: mydb-custom-mongodb-keyfile
128+
readOnly: true
129+
- mountPath: /etc/mongodb-ssl
130+
name: ssl
131+
readOnly: true
132+
- mountPath: /etc/mongodb-ssl-internal
133+
name: ssl-internal
134+
readOnly: true
135+
- mountPath: /etc/mongodb-config
136+
name: config
137+
- mountPath: /opt/percona
138+
name: bin
139+
- mountPath: /etc/mongodb-encryption
140+
name: mydb-custom-encryption-key
141+
readOnly: true
142+
- mountPath: /etc/users-secret
143+
name: users-secret-file
144+
workingDir: /data/db
145+
dnsPolicy: ClusterFirst
146+
initContainers:
147+
- command:
148+
- /init-entrypoint.sh
149+
imagePullPolicy: Always
150+
name: mongo-init
151+
resources:
152+
limits:
153+
cpu: 300m
154+
memory: 500M
155+
requests:
156+
cpu: 300m
157+
memory: 500M
158+
terminationMessagePath: /dev/termination-log
159+
terminationMessagePolicy: File
160+
volumeMounts:
161+
- mountPath: /data/db
162+
name: mongod-data
163+
- mountPath: /opt/percona
164+
name: bin
165+
restartPolicy: Always
166+
schedulerName: default-scheduler
167+
securityContext: {}
168+
serviceAccount: default
169+
serviceAccountName: default
170+
terminationGracePeriodSeconds: 60
171+
volumes:
172+
- name: mydb-custom-mongodb-keyfile
173+
secret:
174+
defaultMode: 288
175+
optional: false
176+
secretName: mydb-custom-mongodb-keyfile
177+
- emptyDir: {}
178+
name: bin
179+
- configMap:
180+
defaultMode: 420
181+
name: mydb-rs0-mongod
182+
optional: true
183+
name: config
184+
- name: mydb-custom-encryption-key
185+
secret:
186+
defaultMode: 288
187+
optional: false
188+
secretName: mydb-custom-encryption-key
189+
- name: ssl
190+
secret:
191+
defaultMode: 288
192+
optional: false
193+
secretName: mydb-custom-ssl
194+
- name: ssl-internal
195+
secret:
196+
defaultMode: 288
197+
optional: true
198+
secretName: mydb-custom-ssl-internal
199+
- name: users-secret-file
200+
secret:
201+
defaultMode: 420
202+
secretName: internal-mydb-users
203+
updateStrategy:
204+
rollingUpdate:
205+
partition: 0
206+
type: RollingUpdate
207+
volumeClaimTemplates:
208+
- metadata:
209+
name: mongod-data
210+
spec:
211+
accessModes:
212+
- ReadWriteOnce
213+
resources:
214+
requests:
215+
storage: 3Gi
216+
status:
217+
phase: Pending

e2e-tests/serviceless-external-nodes/run

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ apply_cluster "$test_dir/conf/main.yml"
2222
wait_for_running "$cluster-rs0" 1
2323
compare_kubectl statefulset/mydb-rs0
2424

25-
secrets_count=$(kubectl_bin get secret -o yaml | yq '.items | length')
25+
secrets_count=$(kubectl_bin get secret -o json | jq --arg pattern "$cluster" '[.items[] | select(.metadata.name | test($pattern))] | length')
2626
if [[ $secrets_count != 6 ]]; then
2727
echo "It's expected to have 6 secrets. Currently have $secrets_count"
2828
exit 1
@@ -41,7 +41,7 @@ apply_cluster "$test_dir/conf/external.yml"
4141
wait_pod ${cluster}-rs0-0
4242
wait_pod ${cluster}-rs0-1
4343

44-
secrets_count=$(kubectl_bin get secret -o yaml | yq '.items | length')
44+
secrets_count=$(kubectl_bin get secret -o json | jq --arg pattern "$cluster" '[.items[] | select(.metadata.name | test($pattern))] | length')
4545
if [[ $secrets_count != 6 ]]; then
4646
echo "It's expected to have 6 secrets. Currently have $secrets_count"
4747
exit 1

0 commit comments

Comments
 (0)