Skip to content

Commit 2a26b60

Browse files
committed
K8SPS-73 - Add gr-self-healing test
1 parent c07ad53 commit 2a26b60

37 files changed

+1270
-0
lines changed

Jenkinsfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,7 @@ void prepareNode() {
275275
# v0.15.0 kuttl version
276276
kubectl krew install --manifest-url https://raw.githubusercontent.com/kubernetes-sigs/krew-index/a67f31ecb2e62f15149ca66d096357050f07b77d/plugins/kuttl.yaml
277277
printf "%s is installed" "$(kubectl kuttl --version)"
278+
kubectl krew install assert
278279
'''
279280
}
280281

e2e-tests/functions

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,10 @@ get_primary_from_haproxy() {
476476
run_mysql "SHOW VARIABLES LIKE '%hostname%';" "-h ${haproxy_pod_ip} -P3306 -uroot -proot_password" | awk '{print $2}'
477477
}
478478

479+
get_primary_from_group_replication() {
480+
run_mysql "SELECT MEMBER_HOST FROM performance_schema.replication_group_members where MEMBER_ROLE='PRIMARY';" "-h $(get_mysql_router_service $(get_cluster_name)) -P 6446 -uroot -proot_password" | cut -d'.' -f1
481+
}
482+
479483
verify_certificate_sans() {
480484
local certificate=$1
481485
local expected_sans=$2

e2e-tests/run-distro.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ gr-haproxy
77
gr-init-deploy
88
gr-one-pod
99
gr-scaling
10+
gr-self-healing
1011
gr-tls-cert-manager
1112
haproxy
1213
init-deploy

e2e-tests/run-minikube.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ gr-haproxy
77
gr-init-deploy
88
gr-one-pod
99
gr-scaling
10+
gr-self-healing
1011
gr-tls-cert-manager
1112
haproxy
1213
init-deploy

e2e-tests/run-pr.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ gr-ignore-annotations
1010
gr-init-deploy
1111
gr-one-pod
1212
gr-scaling
13+
gr-self-healing
1314
gr-tls-cert-manager
1415
haproxy
1516
init-deploy

e2e-tests/run-release.csv

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ gr-ignore-annotations
99
gr-init-deploy
1010
gr-one-pod
1111
gr-scaling
12+
gr-self-healing
1213
gr-tls-cert-manager
1314
haproxy
1415
init-deploy
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestAssert
3+
timeout: 120
4+
---
5+
apiVersion: apiextensions.k8s.io/v1
6+
kind: CustomResourceDefinition
7+
metadata:
8+
name: perconaservermysqls.ps.percona.com
9+
spec:
10+
group: ps.percona.com
11+
names:
12+
kind: PerconaServerMySQL
13+
listKind: PerconaServerMySQLList
14+
plural: perconaservermysqls
15+
shortNames:
16+
- ps
17+
singular: perconaservermysql
18+
scope: Namespaced
19+
---
20+
apiVersion: kuttl.dev/v1beta1
21+
kind: TestAssert
22+
metadata:
23+
name: check-operator-deploy-status
24+
timeout: 120
25+
commands:
26+
- script: kubectl assert exist-enhanced deployment percona-server-mysql-operator -n ${OPERATOR_NS:-$NAMESPACE} --field-selector status.readyReplicas=1
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
timeout: 10
4+
commands:
5+
- script: |-
6+
set -o errexit
7+
set -o xtrace
8+
9+
source ../../functions
10+
11+
deploy_operator
12+
deploy_non_tls_cluster_secrets
13+
deploy_tls_cluster_secrets
14+
deploy_client
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestAssert
3+
timeout: 120
4+
---
5+
apiVersion: apps/v1
6+
kind: Deployment
7+
metadata:
8+
name: chaos-controller-manager
9+
spec:
10+
replicas: 3
11+
status:
12+
availableReplicas: 3
13+
readyReplicas: 3
14+
replicas: 3
15+
updatedReplicas: 3
16+
---
17+
apiVersion: apps/v1
18+
kind: DaemonSet
19+
metadata:
20+
name: chaos-daemon
21+
status:
22+
currentNumberScheduled: 3
23+
desiredNumberScheduled: 3
24+
numberAvailable: 3
25+
numberMisscheduled: 0
26+
numberReady: 3
27+
updatedNumberScheduled: 3
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
timeout: 10
4+
commands:
5+
- script: |-
6+
set -o errexit
7+
set -o xtrace
8+
9+
source ../../functions
10+
11+
deploy_chaos_mesh

0 commit comments

Comments
 (0)