mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-03 14:44:23 +02:00
#262 Allow configure Jenkins master pod labels
This commit is contained in:
@@ -621,6 +621,12 @@ func (r *ReconcileJenkinsBaseConfiguration) checkForPodRecreation(currentJenkins
|
||||
currentJenkinsMasterPod.Spec.NodeSelector, r.Configuration.Jenkins.Spec.Master.NodeSelector))
|
||||
}
|
||||
|
||||
if !compareMap(r.Configuration.Jenkins.Spec.Master.Labels, currentJenkinsMasterPod.Labels) {
|
||||
messages = append(messages, "Jenkins pod labels have changed")
|
||||
verbose = append(verbose, fmt.Sprintf("Jenkins pod labels have changed, actual '%+v' required '%+v'",
|
||||
currentJenkinsMasterPod.Labels, r.Configuration.Jenkins.Spec.Master.Labels))
|
||||
}
|
||||
|
||||
if !compareMap(r.Configuration.Jenkins.Spec.Master.Annotations, currentJenkinsMasterPod.ObjectMeta.Annotations) {
|
||||
messages = append(messages, "Jenkins pod annotations have changed")
|
||||
verbose = append(verbose, fmt.Sprintf("Jenkins pod annotations have changed, actual '%+v' required '%+v'",
|
||||
|
||||
@@ -295,11 +295,26 @@ func GetJenkinsMasterPodName(jenkins v1alpha2.Jenkins) string {
|
||||
return fmt.Sprintf("jenkins-%s", jenkins.Name)
|
||||
}
|
||||
|
||||
// GetJenkinsMasterPodLabels returns Jenkins pod labels for given CR
|
||||
func GetJenkinsMasterPodLabels(jenkins v1alpha2.Jenkins) map[string]string {
|
||||
var labels map[string]string
|
||||
if jenkins.Spec.Master.Labels == nil {
|
||||
labels = map[string]string{}
|
||||
} else {
|
||||
labels = jenkins.Spec.Master.Labels
|
||||
}
|
||||
for key, value := range BuildResourceLabels(&jenkins) {
|
||||
labels[key] = value
|
||||
}
|
||||
return labels
|
||||
}
|
||||
|
||||
// NewJenkinsMasterPod builds Jenkins Master Kubernetes Pod resource
|
||||
func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha2.Jenkins) *corev1.Pod {
|
||||
serviceAccountName := objectMeta.Name
|
||||
objectMeta.Annotations = jenkins.Spec.Master.Annotations
|
||||
objectMeta.Name = GetJenkinsMasterPodName(*jenkins)
|
||||
objectMeta.Labels = GetJenkinsMasterPodLabels(*jenkins)
|
||||
|
||||
return &corev1.Pod{
|
||||
TypeMeta: buildPodTypeMeta(),
|
||||
|
||||
Reference in New Issue
Block a user