Skip to content

Commit 44c9db2

Browse files
authored
CLOUD-612 Test for default cr (percona#562)
* CLOUD-612 Test for default cr We need to test cluster startup for deploy/cr.yaml to be sure that our changes won't affect our users * CLOUD-612 Tomislav suggested improvements * CLOUD-612 Convert indentation to tabs * CLOUD-612 Start cluster with check-dev version service * CLOUD-612 Review adjustments * CLOUD-612 Test file minor upgrade * CLOUD-612 Upgrade GKE cluster version * CLOUD-612 Test minimal cr * CLOUD-612 Comply GKE version with main
1 parent 655d9f7 commit 44c9db2

11 files changed

+1526
-2
lines changed

Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ void CreateCluster(String CLUSTER_PREFIX) {
88
gcloud auth activate-service-account --key-file $CLIENT_SECRET_FILE
99
gcloud config set project $GCP_PROJECT
1010
gcloud container clusters list --filter $CLUSTER_NAME-${CLUSTER_PREFIX} --zone $GKERegion --format='csv[no-heading](name)' | xargs gcloud container clusters delete --zone $GKERegion --quiet || true
11-
gcloud container clusters create --zone $GKERegion $CLUSTER_NAME-${CLUSTER_PREFIX} --cluster-version=1.18 --machine-type=n1-standard-4 --preemptible --num-nodes=3 --network=jenkins-vpc --subnetwork=jenkins-${CLUSTER_PREFIX} --no-enable-autoupgrade
11+
gcloud container clusters create --zone $GKERegion $CLUSTER_NAME-${CLUSTER_PREFIX} --cluster-version=1.20 --machine-type=n1-standard-4 --preemptible --num-nodes=3 --network=jenkins-vpc --subnetwork=jenkins-${CLUSTER_PREFIX} --no-enable-autoupgrade
1212
kubectl create clusterrolebinding cluster-admin-binding --clusterrole cluster-admin --user jenkins@"$GCP_PROJECT".iam.gserviceaccount.com
1313
"""
1414
}
+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
switched to db myApp
2+
{ "_id" : , "x" : 100500 }
3+
bye
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,200 @@
1+
apiVersion: apps/v1
2+
kind: StatefulSet
3+
metadata:
4+
annotations: {}
5+
generation: 1
6+
labels:
7+
app.kubernetes.io/component: cfg
8+
app.kubernetes.io/instance: minimal-cluster
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: cfg
13+
name: minimal-cluster-cfg
14+
ownerReferences:
15+
- controller: true
16+
kind: PerconaServerMongoDB
17+
name: minimal-cluster
18+
spec:
19+
podManagementPolicy: OrderedReady
20+
replicas: 1
21+
revisionHistoryLimit: 10
22+
selector:
23+
matchLabels:
24+
app.kubernetes.io/component: cfg
25+
app.kubernetes.io/instance: minimal-cluster
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: cfg
30+
serviceName: minimal-cluster-cfg
31+
template:
32+
metadata:
33+
annotations: {}
34+
labels:
35+
app.kubernetes.io/component: cfg
36+
app.kubernetes.io/instance: minimal-cluster
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: cfg
41+
spec:
42+
affinity:
43+
podAntiAffinity:
44+
requiredDuringSchedulingIgnoredDuringExecution:
45+
- labelSelector:
46+
matchLabels:
47+
app.kubernetes.io/component: cfg
48+
app.kubernetes.io/instance: minimal-cluster
49+
app.kubernetes.io/managed-by: percona-server-mongodb-operator
50+
app.kubernetes.io/name: percona-server-mongodb
51+
app.kubernetes.io/part-of: percona-server-mongodb
52+
app.kubernetes.io/replset: cfg
53+
topologyKey: kubernetes.io/hostname
54+
containers:
55+
- args:
56+
- --bind_ip_all
57+
- --auth
58+
- --dbpath=/data/db
59+
- --port=27017
60+
- --replSet=cfg
61+
- --storageEngine=wiredTiger
62+
- --relaxPermChecks
63+
- --sslAllowInvalidCertificates
64+
- --clusterAuthMode=keyFile
65+
- --keyFile=/etc/mongodb-secrets/mongodb-key
66+
- --configsvr
67+
- --slowms=0
68+
- --profile=1
69+
- --enableEncryption
70+
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
71+
- --wiredTigerIndexPrefixCompression=true
72+
command:
73+
- /data/db/ps-entry.sh
74+
env:
75+
- name: SERVICE_NAME
76+
value: minimal-cluster
77+
- name: MONGODB_PORT
78+
value: "27017"
79+
- name: MONGODB_REPLSET
80+
value: cfg
81+
envFrom:
82+
- secretRef:
83+
name: internal-minimal-cluster-users
84+
optional: false
85+
imagePullPolicy: Always
86+
livenessProbe:
87+
exec:
88+
command:
89+
- /data/db/mongodb-healthcheck
90+
- k8s
91+
- liveness
92+
- --ssl
93+
- --sslInsecure
94+
- --sslCAFile
95+
- /etc/mongodb-ssl/ca.crt
96+
- --sslPEMKeyFile
97+
- /tmp/tls.pem
98+
- --startupDelaySeconds
99+
- "7200"
100+
failureThreshold: 4
101+
initialDelaySeconds: 60
102+
periodSeconds: 30
103+
successThreshold: 1
104+
timeoutSeconds: 10
105+
name: mongod
106+
ports:
107+
- containerPort: 27017
108+
name: mongodb
109+
protocol: TCP
110+
readinessProbe:
111+
failureThreshold: 8
112+
initialDelaySeconds: 10
113+
periodSeconds: 3
114+
successThreshold: 1
115+
tcpSocket:
116+
port: 27017
117+
timeoutSeconds: 2
118+
resources: {}
119+
securityContext:
120+
runAsNonRoot: true
121+
runAsUser: 1001
122+
terminationMessagePath: /dev/termination-log
123+
terminationMessagePolicy: File
124+
volumeMounts:
125+
- mountPath: /data/db
126+
name: mongod-data
127+
- mountPath: /etc/mongodb-secrets
128+
name: minimal-cluster-mongodb-keyfile
129+
readOnly: true
130+
- mountPath: /etc/mongodb-ssl
131+
name: ssl
132+
readOnly: true
133+
- mountPath: /etc/mongodb-ssl-internal
134+
name: ssl-internal
135+
readOnly: true
136+
- mountPath: /etc/mongodb-encryption
137+
name: minimal-cluster-mongodb-encryption-key
138+
readOnly: true
139+
- mountPath: /etc/users-secret
140+
name: users-secret-file
141+
workingDir: /data/db
142+
dnsPolicy: ClusterFirst
143+
initContainers:
144+
- command:
145+
- /init-entrypoint.sh
146+
imagePullPolicy: Always
147+
name: mongo-init
148+
resources: {}
149+
terminationMessagePath: /dev/termination-log
150+
terminationMessagePolicy: File
151+
volumeMounts:
152+
- mountPath: /data/db
153+
name: mongod-data
154+
restartPolicy: Always
155+
schedulerName: default-scheduler
156+
securityContext:
157+
fsGroup: 1001
158+
serviceAccount: default
159+
serviceAccountName: default
160+
terminationGracePeriodSeconds: 30
161+
volumes:
162+
- name: minimal-cluster-mongodb-keyfile
163+
secret:
164+
defaultMode: 288
165+
optional: false
166+
secretName: minimal-cluster-mongodb-keyfile
167+
- name: minimal-cluster-mongodb-encryption-key
168+
secret:
169+
defaultMode: 288
170+
optional: false
171+
secretName: minimal-cluster-mongodb-encryption-key
172+
- name: ssl
173+
secret:
174+
defaultMode: 288
175+
optional: true
176+
secretName: minimal-cluster-ssl
177+
- name: ssl-internal
178+
secret:
179+
defaultMode: 288
180+
optional: true
181+
secretName: minimal-cluster-ssl-internal
182+
- name: users-secret-file
183+
secret:
184+
defaultMode: 420
185+
secretName: internal-minimal-cluster-users
186+
updateStrategy:
187+
rollingUpdate:
188+
partition: 0
189+
type: RollingUpdate
190+
volumeClaimTemplates:
191+
- metadata:
192+
name: mongod-data
193+
spec:
194+
accessModes:
195+
- ReadWriteOnce
196+
resources:
197+
requests:
198+
storage: 3Gi
199+
status:
200+
phase: Pending

0 commit comments

Comments
 (0)