From 621bcee86072d9f35499afb1a848eb5c08bf47af Mon Sep 17 00:00:00 2001
From: Jacob Blain Christen <dweomer5@gmail.com>
Date: Mon, 13 Sep 2021 08:02:15 -0700
Subject: [PATCH] job parallelism is zero unless in applying list (#145)
Attempting to address #134
Signed-off-by: Jacob Blain Christen <jacob@rancher.com>
---
pkg/upgrade/job/job.go | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/pkg/upgrade/job/job.go b/pkg/upgrade/job/job.go
index 21a268e5..fd71e5ed 100644
--- a/pkg/upgrade/job/job.go
+++ b/pkg/upgrade/job/job.go
@@ -2,6 +2,7 @@ package job
import (
"os"
+ "sort"
"strconv"
"github.com/rancher/system-upgrade-controller/pkg/apis/condition"
@@ -94,6 +95,7 @@ var (
func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *batchv1.Job {
hostPathDirectory := corev1.HostPathDirectory
labelPlanName := upgradeapi.LabelPlanName(plan.Name)
+ nodeHostname := upgradenode.Hostname(node)
job := &batchv1.Job{
ObjectMeta: metav1.ObjectMeta{
Name: name.SafeConcatName("apply", plan.Name, "on", node.Name, "with", plan.Status.LatestHash),
@@ -136,7 +138,7 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
Key: corev1.LabelHostname,
Operator: corev1.NodeSelectorOpIn,
Values: []string{
- upgradenode.Hostname(node),
+ nodeHostname,
},
}},
}},
@@ -184,8 +186,16 @@ func New(plan *upgradeapiv1.Plan, node *corev1.Node, controllerName string) *bat
}},
},
},
+ Completions: new(int32),
+ Parallelism: new(int32),
},
}
+
+ *job.Spec.Completions = 1
+ if i := sort.SearchStrings(plan.Status.Applying, nodeHostname); i < len(plan.Status.Applying) && plan.Status.Applying[i] == nodeHostname {
+ *job.Spec.Parallelism = 1
+ }
+
podTemplate := &job.Spec.Template
// setup secrets volumes
for _, secret := range plan.Spec.Secrets {
--
GitLab