From 28a7c11f8c5463be6439d4fbc4cb064f3693ed6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20S=C4=99k?= Date: Tue, 31 Dec 2019 09:13:09 +0100 Subject: [PATCH] #239 Allow to set tolerations for the Jenkins master pod --- pkg/apis/jenkins/v1alpha2/jenkins_types.go | 4 ++++ pkg/apis/jenkins/v1alpha2/zz_generated.deepcopy.go | 7 +++++++ pkg/controller/jenkins/configuration/base/resources/pod.go | 3 +-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/pkg/apis/jenkins/v1alpha2/jenkins_types.go b/pkg/apis/jenkins/v1alpha2/jenkins_types.go index e1f7c2fa..9fd2f7a1 100644 --- a/pkg/apis/jenkins/v1alpha2/jenkins_types.go +++ b/pkg/apis/jenkins/v1alpha2/jenkins_types.go @@ -295,6 +295,10 @@ type JenkinsMaster struct { // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` + // If specified, the pod's tolerations. + // +optional + Tolerations []corev1.Toleration `json:"tolerations,omitempty"` + // BasePlugins contains plugins required by operator // Defaults to : // - name: kubernetes diff --git a/pkg/apis/jenkins/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/jenkins/v1alpha2/zz_generated.deepcopy.go index 74432e05..7175530d 100644 --- a/pkg/apis/jenkins/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/jenkins/v1alpha2/zz_generated.deepcopy.go @@ -317,6 +317,13 @@ func (in *JenkinsMaster) DeepCopyInto(out *JenkinsMaster) { (*in)[i].DeepCopyInto(&(*out)[i]) } } + if in.Tolerations != nil { + in, out := &in.Tolerations, &out.Tolerations + *out = make([]v1.Toleration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } if in.BasePlugins != nil { in, out := &in.BasePlugins, &out.BasePlugins *out = make([]Plugin, len(*in)) diff --git a/pkg/controller/jenkins/configuration/base/resources/pod.go b/pkg/controller/jenkins/configuration/base/resources/pod.go index 0c479d7f..98b37992 100644 --- a/pkg/controller/jenkins/configuration/base/resources/pod.go +++ b/pkg/controller/jenkins/configuration/base/resources/pod.go @@ -38,8 +38,6 @@ const ( httpPortName = "http" slavePortName = "slavelistener" - // HTTPPortInt defines Jenkins master HTTP port - HTTPPortInt = 8080 ) func buildPodTypeMeta() metav1.TypeMeta { @@ -309,6 +307,7 @@ func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha2.Jenkins Volumes: append(GetJenkinsMasterPodBaseVolumes(jenkins), jenkins.Spec.Master.Volumes...), SecurityContext: jenkins.Spec.Master.SecurityContext, ImagePullSecrets: jenkins.Spec.Master.ImagePullSecrets, + Tolerations: jenkins.Spec.Master.Tolerations, }, } }