Skip to content

Commit efec8a9

Browse files
Set nodeSelector on jobs/cronjobs
1 parent f05652c commit efec8a9

File tree

6 files changed

+46
-4
lines changed

6 files changed

+46
-4
lines changed

pkg/nova/celldelete.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,9 @@ func CellDeleteJob(
8282
},
8383
}
8484

85+
if cell.Spec.NodeSelector != nil && len(*cell.Spec.NodeSelector) > 0 {
86+
job.Spec.Template.Spec.NodeSelector = *cell.Spec.NodeSelector
87+
}
88+
8589
return job
8690
}

pkg/nova/cellmapping.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,5 +82,9 @@ func CellMappingJob(
8282
},
8383
}
8484

85+
if cell.Spec.NodeSelector != nil && len(*cell.Spec.NodeSelector) > 0 {
86+
job.Spec.Template.Spec.NodeSelector = *cell.Spec.NodeSelector
87+
}
88+
8589
return job
8690
}

pkg/nova/host_discover.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,5 +94,9 @@ func HostDiscoveryJob(
9494
},
9595
}
9696

97+
if instance.Spec.NodeSelector != nil && len(*instance.Spec.NodeSelector) > 0 {
98+
job.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
99+
}
100+
97101
return job
98102
}

pkg/novaconductor/dbpurge.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,9 @@ func DBPurgeCronJob(
9595
},
9696
}
9797

98+
if instance.Spec.NodeSelector != nil && len(*instance.Spec.NodeSelector) > 0 {
99+
cron.Spec.JobTemplate.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
100+
}
101+
98102
return cron
99103
}

pkg/novaconductor/dbsync.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,5 +93,10 @@ func CellDBSyncJob(
9393
},
9494
},
9595
}
96+
97+
if instance.Spec.NodeSelector != nil && len(*instance.Spec.NodeSelector) > 0 {
98+
job.Spec.Template.Spec.NodeSelector = *instance.Spec.NodeSelector
99+
}
100+
96101
return job
97102
}

test/functional/nova_reconfiguration_test.go

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,14 +333,17 @@ var _ = Describe("Nova reconfiguration", func() {
333333
nova.Spec.NodeSelector = &newSelector
334334

335335
g.Expect(k8sClient.Update(ctx, nova)).To(Succeed())
336-
novaDeploymentName := serviceNameFunc()
337-
th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName)
338-
th.SimulateStatefulSetReplicaReady(novaDeploymentName)
339336
SimulateReadyOfNovaTopServices()
337+
th.SimulateJobSuccess(cell1.DBSyncJobName)
338+
th.SimulateJobSuccess(cell2.DBSyncJobName)
340339

341-
serviceDeployment := th.GetStatefulSet(novaDeploymentName)
340+
serviceDeployment := th.GetStatefulSet(serviceNameFunc())
342341
g.Expect(serviceDeployment.Spec.Template.Spec.NodeSelector).To(Equal(newSelector))
343342

343+
g.Expect(th.GetJob(cell0.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(newSelector))
344+
g.Expect(th.GetJob(cell1.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(newSelector))
345+
g.Expect(th.GetJob(cell2.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(newSelector))
346+
344347
}, timeout, interval).Should(Succeed())
345348

346349
// Now reset it back to empty and see that it is propagates too
@@ -353,10 +356,17 @@ var _ = Describe("Nova reconfiguration", func() {
353356
g.Expect(k8sClient.Update(ctx, nova)).To(Succeed())
354357

355358
serviceDeploymentName := serviceNameFunc()
359+
th.SimulateJobSuccess(cell0.DBSyncJobName)
360+
th.SimulateJobSuccess(cell1.DBSyncJobName)
361+
th.SimulateJobSuccess(cell2.DBSyncJobName)
356362
th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName)
357363
th.SimulateStatefulSetReplicaReady(serviceDeploymentName)
358364
serviceDeployment := th.GetStatefulSet(serviceDeploymentName)
359365
g.Expect(serviceDeployment.Spec.Template.Spec.NodeSelector).To(BeNil())
366+
367+
g.Expect(th.GetJob(cell0.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(BeNil())
368+
g.Expect(th.GetJob(cell1.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(BeNil())
369+
g.Expect(th.GetJob(cell2.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(BeNil())
360370
}, timeout, interval).Should(Succeed())
361371
},
362372
Entry("the nova api pods",
@@ -403,8 +413,11 @@ var _ = Describe("Nova reconfiguration", func() {
403413

404414
}
405415
g.Expect(k8sClient.Update(ctx, nova)).To(Succeed())
416+
th.SimulateJobSuccess(cell0.DBSyncJobName)
406417
th.SimulateStatefulSetReplicaReady(cell0.ConductorStatefulSetName)
418+
th.SimulateJobSuccess(cell1.DBSyncJobName)
407419
th.SimulateStatefulSetReplicaReady(cell1.ConductorStatefulSetName)
420+
th.SimulateJobSuccess(cell2.DBSyncJobName)
408421
th.SimulateStatefulSetReplicaReady(cell2.ConductorStatefulSetName)
409422

410423
apiDeployment := th.GetStatefulSet(novaNames.APIStatefulSetName)
@@ -420,6 +433,10 @@ var _ = Describe("Nova reconfiguration", func() {
420433
g.Expect(conductorDeployment.Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
421434
conductorDeployment = th.GetStatefulSet(cell2.ConductorStatefulSetName)
422435
g.Expect(conductorDeployment.Spec.Template.Spec.NodeSelector).To(BeNil())
436+
437+
g.Expect(th.GetJob(cell0.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
438+
g.Expect(th.GetJob(cell1.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
439+
g.Expect(th.GetJob(cell2.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(BeNil())
423440
}, timeout, interval).Should(Succeed())
424441
SimulateReadyOfNovaTopServices()
425442

@@ -446,6 +463,10 @@ var _ = Describe("Nova reconfiguration", func() {
446463
g.Expect(conductorDeployment.Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
447464
conductorDeployment = th.GetStatefulSet(cell2.ConductorStatefulSetName)
448465
g.Expect(conductorDeployment.Spec.Template.Spec.NodeSelector).To(BeNil())
466+
467+
g.Expect(th.GetJob(cell0.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
468+
g.Expect(th.GetJob(cell1.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(Equal(conductorSelector))
469+
g.Expect(th.GetJob(cell2.DBSyncJobName).Spec.Template.Spec.NodeSelector).To(BeNil())
449470
}, timeout, interval).Should(Succeed())
450471
})
451472
})

0 commit comments

Comments
 (0)