Skip to content

Commit 2414443

Browse files
pooknullhors
andauthored
K8SPG-619: restart backup jobs on failure (#969)
* K8SPG-619: restart backup jobs on failure https://perconadev.atlassian.net/browse/K8SPG-619 * fix unit-test * Add backoffLimit and restartPolicy to .spec.backups.pgbackrest.jobs * fix unit-tests * fix upgrade-minor test * fix unit-tests * keep defaults --------- Co-authored-by: Viacheslav Sarzhan <[email protected]>
1 parent 463bf42 commit 2414443

23 files changed

+172
-47
lines changed

build/crd/crunchy/generated/postgres-operator.crunchydata.com_pgupgrades.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: pgupgrades.postgres-operator.crunchydata.com
88
spec:
99
group: postgres-operator.crunchydata.com

build/crd/crunchy/generated/postgres-operator.crunchydata.com_postgresclusters.yaml

+11-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: postgresclusters.postgres-operator.crunchydata.com
88
spec:
99
group: postgres-operator.crunchydata.com
@@ -1331,6 +1331,9 @@ spec:
13311331
x-kubernetes-list-type: atomic
13321332
type: object
13331333
type: object
1334+
backoffLimit:
1335+
format: int32
1336+
type: integer
13341337
priorityClassName:
13351338
description: |-
13361339
Priority class name for the pgBackRest backup Job pods.
@@ -1398,6 +1401,13 @@ spec:
13981401
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
13991402
type: object
14001403
type: object
1404+
restartPolicy:
1405+
description: |-
1406+
RestartPolicy describes how the container should be restarted.
1407+
Only one of the following restart policies may be specified.
1408+
If none of the following policies is specified, the default one
1409+
is RestartPolicyAlways.
1410+
type: string
14011411
securityContext:
14021412
description: SecurityContext defines the security settings
14031413
for PGBackRest pod.

build/crd/percona/generated/pgv2.percona.com_perconapgbackups.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: perconapgbackups.pgv2.percona.com
88
spec:
99
group: pgv2.percona.com

build/crd/percona/generated/pgv2.percona.com_perconapgclusters.yaml

+11-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: perconapgclusters.pgv2.percona.com
88
spec:
99
group: pgv2.percona.com
@@ -1487,6 +1487,9 @@ spec:
14871487
x-kubernetes-list-type: atomic
14881488
type: object
14891489
type: object
1490+
backoffLimit:
1491+
format: int32
1492+
type: integer
14901493
priorityClassName:
14911494
description: |-
14921495
Priority class name for the pgBackRest backup Job pods.
@@ -1554,6 +1557,13 @@ spec:
15541557
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
15551558
type: object
15561559
type: object
1560+
restartPolicy:
1561+
description: |-
1562+
RestartPolicy describes how the container should be restarted.
1563+
Only one of the following restart policies may be specified.
1564+
If none of the following policies is specified, the default one
1565+
is RestartPolicyAlways.
1566+
type: string
15571567
securityContext:
15581568
description: SecurityContext defines the security settings
15591569
for PGBackRest pod.

build/crd/percona/generated/pgv2.percona.com_perconapgrestores.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: perconapgrestores.pgv2.percona.com
88
spec:
99
group: pgv2.percona.com

build/crd/percona/generated/pgv2.percona.com_perconapgupgrades.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.16.5
77
name: perconapgupgrades.pgv2.percona.com
88
spec:
99
group: pgv2.percona.com

config/crd/bases/pgv2.percona.com_perconapgclusters.yaml

+14-4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
name: perconapgbackups.pgv2.percona.com
77
spec:
88
group: pgv2.percona.com
@@ -409,7 +409,7 @@ apiVersion: apiextensions.k8s.io/v1
409409
kind: CustomResourceDefinition
410410
metadata:
411411
annotations:
412-
controller-gen.kubebuilder.io/version: v0.16.3
412+
controller-gen.kubebuilder.io/version: v0.16.5
413413
name: perconapgclusters.pgv2.percona.com
414414
spec:
415415
group: pgv2.percona.com
@@ -1893,6 +1893,9 @@ spec:
18931893
x-kubernetes-list-type: atomic
18941894
type: object
18951895
type: object
1896+
backoffLimit:
1897+
format: int32
1898+
type: integer
18961899
priorityClassName:
18971900
description: |-
18981901
Priority class name for the pgBackRest backup Job pods.
@@ -1960,6 +1963,13 @@ spec:
19601963
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
19611964
type: object
19621965
type: object
1966+
restartPolicy:
1967+
description: |-
1968+
RestartPolicy describes how the container should be restarted.
1969+
Only one of the following restart policies may be specified.
1970+
If none of the following policies is specified, the default one
1971+
is RestartPolicyAlways.
1972+
type: string
19631973
securityContext:
19641974
description: SecurityContext defines the security settings
19651975
for PGBackRest pod.
@@ -17969,7 +17979,7 @@ apiVersion: apiextensions.k8s.io/v1
1796917979
kind: CustomResourceDefinition
1797017980
metadata:
1797117981
annotations:
17972-
controller-gen.kubebuilder.io/version: v0.16.3
17982+
controller-gen.kubebuilder.io/version: v0.16.5
1797317983
name: perconapgrestores.pgv2.percona.com
1797417984
spec:
1797517985
group: pgv2.percona.com
@@ -18067,7 +18077,7 @@ apiVersion: apiextensions.k8s.io/v1
1806718077
kind: CustomResourceDefinition
1806818078
metadata:
1806918079
annotations:
18070-
controller-gen.kubebuilder.io/version: v0.16.3
18080+
controller-gen.kubebuilder.io/version: v0.16.5
1807118081
name: perconapgupgrades.pgv2.percona.com
1807218082
spec:
1807318083
group: pgv2.percona.com

config/crd/bases/postgres-operator.crunchydata.com_crunchybridgeclusters.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
labels:
77
app.kubernetes.io/name: pgo
88
app.kubernetes.io/version: latest

config/crd/bases/postgres-operator.crunchydata.com_pgadmins.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
labels:
77
app.kubernetes.io/name: pgo
88
app.kubernetes.io/version: latest

config/crd/bases/postgres-operator.crunchydata.com_pgupgrades.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
labels:
77
app.kubernetes.io/name: pgo
88
app.kubernetes.io/version: latest

config/crd/bases/postgres-operator.crunchydata.com_postgresclusters.yaml

+11-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
labels:
77
app.kubernetes.io/name: pgo
88
app.kubernetes.io/version: 5.4.2
@@ -1323,6 +1323,9 @@ spec:
13231323
x-kubernetes-list-type: atomic
13241324
type: object
13251325
type: object
1326+
backoffLimit:
1327+
format: int32
1328+
type: integer
13261329
priorityClassName:
13271330
description: |-
13281331
Priority class name for the pgBackRest backup Job pods.
@@ -1390,6 +1393,13 @@ spec:
13901393
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
13911394
type: object
13921395
type: object
1396+
restartPolicy:
1397+
description: |-
1398+
RestartPolicy describes how the container should be restarted.
1399+
Only one of the following restart policies may be specified.
1400+
If none of the following policies is specified, the default one
1401+
is RestartPolicyAlways.
1402+
type: string
13931403
securityContext:
13941404
description: SecurityContext defines the security settings
13951405
for PGBackRest pod.

deploy/bundle.yaml

+28-8
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1
22
kind: CustomResourceDefinition
33
metadata:
44
annotations:
5-
controller-gen.kubebuilder.io/version: v0.16.3
5+
controller-gen.kubebuilder.io/version: v0.16.5
66
labels:
77
app.kubernetes.io/name: pgo
88
app.kubernetes.io/version: latest
@@ -295,7 +295,7 @@ apiVersion: apiextensions.k8s.io/v1
295295
kind: CustomResourceDefinition
296296
metadata:
297297
annotations:
298-
controller-gen.kubebuilder.io/version: v0.16.3
298+
controller-gen.kubebuilder.io/version: v0.16.5
299299
name: perconapgbackups.pgv2.percona.com
300300
spec:
301301
group: pgv2.percona.com
@@ -702,7 +702,7 @@ apiVersion: apiextensions.k8s.io/v1
702702
kind: CustomResourceDefinition
703703
metadata:
704704
annotations:
705-
controller-gen.kubebuilder.io/version: v0.16.3
705+
controller-gen.kubebuilder.io/version: v0.16.5
706706
name: perconapgclusters.pgv2.percona.com
707707
spec:
708708
group: pgv2.percona.com
@@ -2186,6 +2186,9 @@ spec:
21862186
x-kubernetes-list-type: atomic
21872187
type: object
21882188
type: object
2189+
backoffLimit:
2190+
format: int32
2191+
type: integer
21892192
priorityClassName:
21902193
description: |-
21912194
Priority class name for the pgBackRest backup Job pods.
@@ -2253,6 +2256,13 @@ spec:
22532256
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
22542257
type: object
22552258
type: object
2259+
restartPolicy:
2260+
description: |-
2261+
RestartPolicy describes how the container should be restarted.
2262+
Only one of the following restart policies may be specified.
2263+
If none of the following policies is specified, the default one
2264+
is RestartPolicyAlways.
2265+
type: string
22562266
securityContext:
22572267
description: SecurityContext defines the security settings
22582268
for PGBackRest pod.
@@ -18262,7 +18272,7 @@ apiVersion: apiextensions.k8s.io/v1
1826218272
kind: CustomResourceDefinition
1826318273
metadata:
1826418274
annotations:
18265-
controller-gen.kubebuilder.io/version: v0.16.3
18275+
controller-gen.kubebuilder.io/version: v0.16.5
1826618276
name: perconapgrestores.pgv2.percona.com
1826718277
spec:
1826818278
group: pgv2.percona.com
@@ -18360,7 +18370,7 @@ apiVersion: apiextensions.k8s.io/v1
1836018370
kind: CustomResourceDefinition
1836118371
metadata:
1836218372
annotations:
18363-
controller-gen.kubebuilder.io/version: v0.16.3
18373+
controller-gen.kubebuilder.io/version: v0.16.5
1836418374
name: perconapgupgrades.pgv2.percona.com
1836518375
spec:
1836618376
group: pgv2.percona.com
@@ -21072,7 +21082,7 @@ apiVersion: apiextensions.k8s.io/v1
2107221082
kind: CustomResourceDefinition
2107321083
metadata:
2107421084
annotations:
21075-
controller-gen.kubebuilder.io/version: v0.16.3
21085+
controller-gen.kubebuilder.io/version: v0.16.5
2107621086
labels:
2107721087
app.kubernetes.io/name: pgo
2107821088
app.kubernetes.io/version: latest
@@ -22976,7 +22986,7 @@ apiVersion: apiextensions.k8s.io/v1
2297622986
kind: CustomResourceDefinition
2297722987
metadata:
2297822988
annotations:
22979-
controller-gen.kubebuilder.io/version: v0.16.3
22989+
controller-gen.kubebuilder.io/version: v0.16.5
2298022990
labels:
2298122991
app.kubernetes.io/name: pgo
2298222992
app.kubernetes.io/version: latest
@@ -25677,7 +25687,7 @@ apiVersion: apiextensions.k8s.io/v1
2567725687
kind: CustomResourceDefinition
2567825688
metadata:
2567925689
annotations:
25680-
controller-gen.kubebuilder.io/version: v0.16.3
25690+
controller-gen.kubebuilder.io/version: v0.16.5
2568125691
labels:
2568225692
app.kubernetes.io/name: pgo
2568325693
app.kubernetes.io/version: 5.4.2
@@ -26998,6 +27008,9 @@ spec:
2699827008
x-kubernetes-list-type: atomic
2699927009
type: object
2700027010
type: object
27011+
backoffLimit:
27012+
format: int32
27013+
type: integer
2700127014
priorityClassName:
2700227015
description: |-
2700327016
Priority class name for the pgBackRest backup Job pods.
@@ -27065,6 +27078,13 @@ spec:
2706527078
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
2706627079
type: object
2706727080
type: object
27081+
restartPolicy:
27082+
description: |-
27083+
RestartPolicy describes how the container should be restarted.
27084+
Only one of the following restart policies may be specified.
27085+
If none of the following policies is specified, the default one
27086+
is RestartPolicyAlways.
27087+
type: string
2706827088
securityContext:
2706927089
description: SecurityContext defines the security settings
2707027090
for PGBackRest pod.

deploy/cr.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,8 @@ spec:
336336
# - secret:
337337
# name: cluster1-pgbackrest-secrets
338338
# jobs:
339+
# restartPolicy: OnFailure
340+
# backoffLimit: 2
339341
# priorityClassName: high-priority
340342
# resources:
341343
# limits:

0 commit comments

Comments
 (0)