Skip to content

Commit 5021b09

Browse files
committed
Use RestartPolicy: Never for the jobs
With RestartPolicy: OnFailure new pods are not created[1], but the containers in esiting pod are restarted. We were using RestartPolicy: Never with openstack-ansibleee-operator. This was changed when we switched to drop it's usage. [1] https://kubernetes.io/docs/concepts/workloads/controllers/job/#handling-pod-and-container-failures Signed-off-by: rabi <[email protected]>
1 parent 749d164 commit 5021b09

File tree

16 files changed

+49
-59
lines changed

16 files changed

+49
-59
lines changed

pkg/dataplane/deployment.go

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ func (d *Deployer) ConditionalDeploy(
197197

198198
}
199199

200+
var ansibleCondition *batchv1.JobCondition
200201
if nsConditions.IsFalse(readyCondition) {
201202
var ansibleEE *batchv1.Job
202203
_, labelSelector := dataplaneutil.GetAnsibleExecutionNameAndLabels(&foundService, d.Deployment.Name, d.NodeSet.Name)
@@ -221,19 +222,14 @@ func (d *Deployer) ConditionalDeploy(
221222
nsConditions.Set(condition.TrueCondition(
222223
readyCondition,
223224
readyMessage))
224-
}
225-
226-
if ansibleEE.Status.Active > 0 {
225+
} else if ansibleEE.Status.Active > 0 {
227226
log.Info(fmt.Sprintf("AnsibleEE job is not yet completed: Execution: %s, Active pods: %d", ansibleEE.Name, ansibleEE.Status.Active))
228227
nsConditions.Set(condition.FalseCondition(
229228
readyCondition,
230229
condition.RequestedReason,
231230
condition.SeverityInfo,
232231
readyWaitingMessage))
233-
}
234-
235-
var ansibleCondition *batchv1.JobCondition
236-
if ansibleEE.Status.Failed > 0 {
232+
} else if ansibleEE.Status.Failed > 0 {
237233
errorMsg := fmt.Sprintf("execution.name %s execution.namespace %s failed pods: %d", ansibleEE.Name, ansibleEE.Namespace, ansibleEE.Status.Failed)
238234
for _, condition := range ansibleEE.Status.Conditions {
239235
if condition.Type == batchv1.JobFailed {

pkg/dataplane/util/ansible_execution.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,6 @@ func (a *EEJob) BuildAeeJobSpec(
178178
service *dataplanev1.OpenStackDataPlaneService,
179179
nodeSet client.Object,
180180
) {
181-
const jobRestartPolicy string = "OnFailure"
182-
183181
if aeeSpec.DNSConfig != nil {
184182
a.DNSConfig = aeeSpec.DNSConfig
185183
}
@@ -195,7 +193,6 @@ func (a *EEJob) BuildAeeJobSpec(
195193
}
196194

197195
a.BackoffLimit = deployment.Spec.BackoffLimit
198-
a.RestartPolicy = jobRestartPolicy
199196
a.FormatAEECmdLineArguments(aeeSpec)
200197
a.FormatAEEExtraVars(aeeSpec, service, deployment, nodeSet)
201198
a.DetermineAeeImage(aeeSpec)

pkg/dataplane/util/ansibleee.go

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,6 @@ type EEJob struct {
3030
Namespace string `json:"namespace,omitempty"`
3131
// EnvConfigMapName is the name of the k8s config map that contains the ansible env variables
3232
EnvConfigMapName string `json:"envConfigMapName,omitempty"`
33-
// RestartPolicy is the policy applied to the Job on whether it needs to restart the Pod. It can be "OnFailure" or "Never".
34-
// RestartPolicy default: Never
35-
RestartPolicy string `json:"restartPolicy,omitempty"`
3633
// CmdLine is the command line passed to ansible-runner
3734
CmdLine string `json:"cmdLine,omitempty"`
3835
// ServiceAccountName allows to specify what ServiceAccountName do we want the ansible execution run with. Without specifying,
@@ -103,9 +100,9 @@ func (a *EEJob) JobForOpenStackAnsibleEE(h *helper.Helper) (*batchv1.Job, error)
103100
}
104101

105102
podSpec := corev1.PodSpec{
106-
RestartPolicy: corev1.RestartPolicy(a.RestartPolicy),
103+
RestartPolicy: corev1.RestartPolicyNever,
107104
Containers: []corev1.Container{{
108-
ImagePullPolicy: "Always",
105+
ImagePullPolicy: corev1.PullAlways,
109106
Image: a.Image,
110107
Name: a.Name,
111108
Args: args,

tests/kuttl/tests/dataplane-deploy-global-service-test/01-assert.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ spec:
153153
- mountPath: /runner/inventory/inventory-0
154154
name: inventory-0
155155
subPath: inventory-0
156-
restartPolicy: OnFailure
156+
restartPolicy: Never
157157
schedulerName: default-scheduler
158158
securityContext: {}
159159
serviceAccount: edpm-compute-global
@@ -258,7 +258,7 @@ spec:
258258
- mountPath: /runner/inventory/hosts
259259
name: inventory
260260
subPath: inventory
261-
restartPolicy: OnFailure
261+
restartPolicy: Never
262262
schedulerName: default-scheduler
263263
securityContext: {}
264264
serviceAccount: edpm-compute-global
@@ -365,7 +365,7 @@ spec:
365365
- mountPath: /runner/inventory/hosts
366366
name: inventory
367367
subPath: inventory
368-
restartPolicy: OnFailure
368+
restartPolicy: Never
369369
schedulerName: default-scheduler
370370
securityContext: {}
371371
serviceAccount: edpm-compute-global
@@ -473,7 +473,7 @@ spec:
473473
- mountPath: /runner/inventory/hosts
474474
name: inventory
475475
subPath: inventory
476-
restartPolicy: OnFailure
476+
restartPolicy: Never
477477
schedulerName: default-scheduler
478478
securityContext: {}
479479
serviceAccount: edpm-compute-global
@@ -581,7 +581,7 @@ spec:
581581
- mountPath: /runner/inventory/hosts
582582
name: inventory
583583
subPath: inventory
584-
restartPolicy: OnFailure
584+
restartPolicy: Never
585585
schedulerName: default-scheduler
586586
securityContext: {}
587587
serviceAccount: edpm-compute-global
@@ -689,7 +689,7 @@ spec:
689689
- mountPath: /runner/inventory/hosts
690690
name: inventory
691691
subPath: inventory
692-
restartPolicy: OnFailure
692+
restartPolicy: Never
693693
schedulerName: default-scheduler
694694
securityContext: {}
695695
serviceAccount: edpm-compute-global
@@ -797,7 +797,7 @@ spec:
797797
- mountPath: /runner/inventory/hosts
798798
name: inventory
799799
subPath: inventory
800-
restartPolicy: OnFailure
800+
restartPolicy: Never
801801
schedulerName: default-scheduler
802802
securityContext: {}
803803
serviceAccount: edpm-compute-global
@@ -899,7 +899,7 @@ spec:
899899
- mountPath: /runner/inventory/hosts
900900
name: inventory
901901
subPath: inventory
902-
restartPolicy: OnFailure
902+
restartPolicy: Never
903903
schedulerName: default-scheduler
904904
securityContext: {}
905905
serviceAccount: edpm-compute-global
@@ -1017,7 +1017,7 @@ spec:
10171017
- mountPath: /runner/inventory/hosts
10181018
name: inventory
10191019
subPath: inventory
1020-
restartPolicy: OnFailure
1020+
restartPolicy: Never
10211021
schedulerName: default-scheduler
10221022
securityContext: {}
10231023
serviceAccount: edpm-compute-global
@@ -1147,7 +1147,7 @@ spec:
11471147
- mountPath: /runner/inventory/hosts
11481148
name: inventory
11491149
subPath: inventory
1150-
restartPolicy: OnFailure
1150+
restartPolicy: Never
11511151
schedulerName: default-scheduler
11521152
securityContext: {}
11531153
serviceAccount: edpm-compute-global
@@ -1256,7 +1256,7 @@ spec:
12561256
- mountPath: /runner/inventory/hosts
12571257
name: inventory
12581258
subPath: inventory
1259-
restartPolicy: OnFailure
1259+
restartPolicy: Never
12601260
schedulerName: default-scheduler
12611261
securityContext: {}
12621262
serviceAccount: edpm-compute-global
@@ -1365,7 +1365,7 @@ spec:
13651365
- mountPath: /runner/inventory/hosts
13661366
name: inventory
13671367
subPath: inventory
1368-
restartPolicy: OnFailure
1368+
restartPolicy: Never
13691369
schedulerName: default-scheduler
13701370
securityContext: {}
13711371
serviceAccount: edpm-compute-global
@@ -1474,7 +1474,7 @@ spec:
14741474
- mountPath: /runner/inventory/hosts
14751475
name: inventory
14761476
subPath: inventory
1477-
restartPolicy: OnFailure
1477+
restartPolicy: Never
14781478
schedulerName: default-scheduler
14791479
securityContext: {}
14801480
serviceAccount: edpm-compute-global
@@ -1592,7 +1592,7 @@ spec:
15921592
- mountPath: /runner/inventory/hosts
15931593
name: inventory
15941594
subPath: inventory
1595-
restartPolicy: OnFailure
1595+
restartPolicy: Never
15961596
schedulerName: default-scheduler
15971597
securityContext: {}
15981598
serviceAccount: edpm-compute-global

tests/kuttl/tests/dataplane-deploy-global-service-test/02-assert.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ spec:
149149
- mountPath: /runner/inventory/hosts
150150
name: inventory
151151
subPath: inventory
152-
restartPolicy: OnFailure
152+
restartPolicy: Never
153153
schedulerName: default-scheduler
154154
securityContext: {}
155155
serviceAccount: edpm-compute-beta-nodeset
@@ -255,7 +255,7 @@ spec:
255255
- mountPath: /runner/inventory/hosts
256256
name: inventory
257257
subPath: inventory
258-
restartPolicy: OnFailure
258+
restartPolicy: Never
259259
schedulerName: default-scheduler
260260
securityContext: {}
261261
serviceAccount: edpm-compute-beta-nodeset

tests/kuttl/tests/dataplane-deploy-multiple-secrets/02-assert.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ spec:
189189
- mountPath: /runner/inventory/hosts
190190
name: inventory
191191
subPath: inventory
192-
restartPolicy: OnFailure
192+
restartPolicy: Never
193193
schedulerName: default-scheduler
194194
securityContext: {}
195195
serviceAccount: openstack-edpm-tls
@@ -313,7 +313,7 @@ spec:
313313
- mountPath: /runner/inventory/hosts
314314
name: inventory
315315
subPath: inventory
316-
restartPolicy: OnFailure
316+
restartPolicy: Never
317317
schedulerName: default-scheduler
318318
securityContext: {}
319319
serviceAccount: openstack-edpm-tls

tests/kuttl/tests/dataplane-deploy-no-nodes-test/01-assert.yaml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ spec:
144144
- mountPath: /runner/inventory/hosts
145145
name: inventory
146146
subPath: inventory
147-
restartPolicy: OnFailure
147+
restartPolicy: Never
148148
schedulerName: default-scheduler
149149
securityContext: {}
150150
serviceAccount: edpm-compute-no-nodes
@@ -252,7 +252,7 @@ spec:
252252
- mountPath: /runner/inventory/hosts
253253
name: inventory
254254
subPath: inventory
255-
restartPolicy: OnFailure
255+
restartPolicy: Never
256256
schedulerName: default-scheduler
257257
securityContext: {}
258258
serviceAccount: edpm-compute-no-nodes
@@ -361,7 +361,7 @@ spec:
361361
- mountPath: /runner/inventory/hosts
362362
name: inventory
363363
subPath: inventory
364-
restartPolicy: OnFailure
364+
restartPolicy: Never
365365
schedulerName: default-scheduler
366366
securityContext: {}
367367
serviceAccount: edpm-compute-no-nodes
@@ -470,7 +470,7 @@ spec:
470470
- mountPath: /runner/inventory/hosts
471471
name: inventory
472472
subPath: inventory
473-
restartPolicy: OnFailure
473+
restartPolicy: Never
474474
schedulerName: default-scheduler
475475
securityContext: {}
476476
serviceAccount: edpm-compute-no-nodes
@@ -579,7 +579,7 @@ spec:
579579
- mountPath: /runner/inventory/hosts
580580
name: inventory
581581
subPath: inventory
582-
restartPolicy: OnFailure
582+
restartPolicy: Never
583583
schedulerName: default-scheduler
584584
securityContext: {}
585585
serviceAccount: edpm-compute-no-nodes
@@ -688,7 +688,7 @@ spec:
688688
- mountPath: /runner/inventory/hosts
689689
name: inventory
690690
subPath: inventory
691-
restartPolicy: OnFailure
691+
restartPolicy: Never
692692
schedulerName: default-scheduler
693693
securityContext: {}
694694
serviceAccount: edpm-compute-no-nodes
@@ -791,7 +791,7 @@ spec:
791791
- mountPath: /runner/inventory/hosts
792792
name: inventory
793793
subPath: inventory
794-
restartPolicy: OnFailure
794+
restartPolicy: Never
795795
schedulerName: default-scheduler
796796
securityContext: {}
797797
serviceAccount: edpm-compute-no-nodes
@@ -910,7 +910,7 @@ spec:
910910
- mountPath: /runner/inventory/hosts
911911
name: inventory
912912
subPath: inventory
913-
restartPolicy: OnFailure
913+
restartPolicy: Never
914914
schedulerName: default-scheduler
915915
securityContext: {}
916916
serviceAccount: edpm-compute-no-nodes
@@ -1041,7 +1041,7 @@ spec:
10411041
- mountPath: /runner/inventory/hosts
10421042
name: inventory
10431043
subPath: inventory
1044-
restartPolicy: OnFailure
1044+
restartPolicy: Never
10451045
schedulerName: default-scheduler
10461046
securityContext: {}
10471047
serviceAccount: edpm-compute-no-nodes
@@ -1151,7 +1151,7 @@ spec:
11511151
- mountPath: /runner/inventory/hosts
11521152
name: inventory
11531153
subPath: inventory
1154-
restartPolicy: OnFailure
1154+
restartPolicy: Never
11551155
schedulerName: default-scheduler
11561156
securityContext: {}
11571157
serviceAccount: edpm-compute-no-nodes
@@ -1261,7 +1261,7 @@ spec:
12611261
- mountPath: /runner/inventory/hosts
12621262
name: inventory
12631263
subPath: inventory
1264-
restartPolicy: OnFailure
1264+
restartPolicy: Never
12651265
schedulerName: default-scheduler
12661266
securityContext: {}
12671267
serviceAccount: edpm-compute-no-nodes
@@ -1371,7 +1371,7 @@ spec:
13711371
- mountPath: /runner/inventory/hosts
13721372
name: inventory
13731373
subPath: inventory
1374-
restartPolicy: OnFailure
1374+
restartPolicy: Never
13751375
schedulerName: default-scheduler
13761376
securityContext: {}
13771377
serviceAccount: edpm-compute-no-nodes
@@ -1490,7 +1490,7 @@ spec:
14901490
- mountPath: /runner/inventory/hosts
14911491
name: inventory
14921492
subPath: inventory
1493-
restartPolicy: OnFailure
1493+
restartPolicy: Never
14941494
schedulerName: default-scheduler
14951495
securityContext: {}
14961496
serviceAccount: edpm-compute-no-nodes

tests/kuttl/tests/dataplane-deploy-no-nodes-test/02-assert.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ spec:
8787
name: inventory
8888
subPath: inventory
8989
dnsPolicy: ClusterFirst
90-
restartPolicy: OnFailure
90+
restartPolicy: Never
9191
schedulerName: default-scheduler
9292
securityContext: {}
9393
serviceAccount: edpm-compute-no-nodes

tests/kuttl/tests/dataplane-deploy-no-nodes-test/04-assert.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ spec:
148148
name: inventory
149149
subPath: inventory
150150
dnsPolicy: ClusterFirst
151-
restartPolicy: OnFailure
151+
restartPolicy: Never
152152
schedulerName: default-scheduler
153153
securityContext: {}
154154
serviceAccount: edpm-compute-no-nodes

tests/kuttl/tests/dataplane-deploy-no-nodes-test/06-assert.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,7 @@ spec:
147147
name: inventory
148148
subPath: inventory
149149
dnsPolicy: ClusterFirst
150-
restartPolicy: OnFailure
150+
restartPolicy: Never
151151
schedulerName: default-scheduler
152152
securityContext: {}
153153
serviceAccount: edpm-compute-beta-nodeset
@@ -256,7 +256,7 @@ spec:
256256
name: inventory
257257
subPath: inventory
258258
dnsPolicy: ClusterFirst
259-
restartPolicy: OnFailure
259+
restartPolicy: Never
260260
schedulerName: default-scheduler
261261
securityContext: {}
262262
serviceAccount: edpm-compute-beta-nodeset

0 commit comments

Comments
 (0)