mirror of
https://github.com/jenkinsci/kubernetes-operator.git
synced 2026-10-21 04:23:25 +02:00
Fixed targetPort value
Made the targetPort in Jenkins pod a fixed value. Previously users encountered issue with changing values. Added test comparing expected and actual targetPort values.
This commit is contained in:
@@ -13,6 +13,7 @@ import (
|
||||
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/client"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/configuration"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/configuration/base/resources"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/constants"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/groovy"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
||||
"github.com/jenkinsci/kubernetes-operator/pkg/notifications/reason"
|
||||
@@ -175,12 +176,12 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureResourcesRequiredForJenkinsPod
|
||||
r.logger.V(log.VDebug).Info("Extra role bindings are present")
|
||||
|
||||
httpServiceName := resources.GetJenkinsHTTPServiceName(r.Configuration.Jenkins)
|
||||
if err := r.createService(metaObject, httpServiceName, r.Configuration.Jenkins.Spec.Service); err != nil {
|
||||
if err := r.createService(metaObject, httpServiceName, r.Configuration.Jenkins.Spec.Service, constants.DefaultHTTPPortInt32); err != nil {
|
||||
return err
|
||||
}
|
||||
r.logger.V(log.VDebug).Info("Jenkins HTTP Service is present")
|
||||
|
||||
if err := r.createService(metaObject, resources.GetJenkinsSlavesServiceName(r.Configuration.Jenkins), r.Configuration.Jenkins.Spec.SlaveService); err != nil {
|
||||
if err := r.createService(metaObject, resources.GetJenkinsSlavesServiceName(r.Configuration.Jenkins), r.Configuration.Jenkins.Spec.SlaveService, constants.DefaultSlavePortInt32); err != nil {
|
||||
return err
|
||||
}
|
||||
r.logger.V(log.VDebug).Info("Jenkins slave Service is present")
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
stackerr "github.com/pkg/errors"
|
||||
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/util/intstr"
|
||||
|
||||
"net"
|
||||
"strings"
|
||||
@@ -18,7 +19,7 @@ import (
|
||||
const ServiceKind = "Service"
|
||||
|
||||
// UpdateService returns new service with override fields from config
|
||||
func UpdateService(actual corev1.Service, config v1alpha2.Service) corev1.Service {
|
||||
func UpdateService(actual corev1.Service, config v1alpha2.Service, targetPort int32) corev1.Service {
|
||||
actual.ObjectMeta.Annotations = config.Annotations
|
||||
for key, value := range config.Labels {
|
||||
actual.ObjectMeta.Labels[key] = value
|
||||
@@ -30,6 +31,7 @@ func UpdateService(actual corev1.Service, config v1alpha2.Service) corev1.Servic
|
||||
actual.Spec.Ports = []corev1.ServicePort{{}}
|
||||
}
|
||||
actual.Spec.Ports[0].Port = config.Port
|
||||
actual.Spec.Ports[0].TargetPort = intstr.IntOrString{IntVal: targetPort, Type: intstr.Int}
|
||||
if config.NodePort != 0 {
|
||||
actual.Spec.Ports[0].NodePort = config.NodePort
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
)
|
||||
|
||||
func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta, name string, config v1alpha2.Service) error {
|
||||
func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta, name string, config v1alpha2.Service, targetPort int32) error {
|
||||
service := corev1.Service{}
|
||||
err := r.Client.Get(context.TODO(), types.NamespacedName{Name: name, Namespace: meta.Namespace}, &service)
|
||||
if err != nil && apierrors.IsNotFound(err) {
|
||||
@@ -26,7 +26,7 @@ func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta
|
||||
Spec: corev1.ServiceSpec{
|
||||
Selector: meta.Labels,
|
||||
},
|
||||
}, config)
|
||||
}, config, targetPort)
|
||||
if err = r.CreateResource(&service); err != nil {
|
||||
return stackerr.WithStack(err)
|
||||
}
|
||||
@@ -35,6 +35,6 @@ func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta
|
||||
}
|
||||
|
||||
service.Spec.Selector = meta.Labels // make sure that user won't break service by hand
|
||||
service = resources.UpdateService(service, config)
|
||||
service = resources.UpdateService(service, config, targetPort)
|
||||
return stackerr.WithStack(r.UpdateResource(&service))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user