diff --git a/pkg/controller/jenkins/configuration/base/reconcile.go b/pkg/controller/jenkins/configuration/base/reconcile.go index 713ebada..1efd89f8 100644 --- a/pkg/controller/jenkins/configuration/base/reconcile.go +++ b/pkg/controller/jenkins/configuration/base/reconcile.go @@ -807,27 +807,20 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsClient(meta metav1.Obje } func (r *ReconcileJenkinsBaseConfiguration) ensureBaseConfiguration(jenkinsClient jenkinsclient.Jenkins) (reconcile.Result, error) { - groovyClient := groovy.New(jenkinsClient, r.k8sClient, r.logger, fmt.Sprintf("%s-base-configuration", constants.OperatorName), resources.JenkinsBaseConfigurationVolumePath) - - err := groovyClient.ConfigureJob() - if err != nil { - return reconcile.Result{}, err + customization := v1alpha2.GroovyScripts{ + Customization: v1alpha2.Customization{ + Secret: v1alpha2.SecretRef{Name: ""}, + Configurations: []v1alpha2.ConfigMapRef{{Name: resources.GetBaseConfigurationConfigMapName(r.jenkins)}}, + }, } - configuration := &corev1.ConfigMap{} - namespaceName := types.NamespacedName{Namespace: r.jenkins.Namespace, Name: resources.GetBaseConfigurationConfigMapName(r.jenkins)} - err = r.k8sClient.Get(context.TODO(), namespaceName, configuration) - if err != nil { - return reconcile.Result{}, stackerr.WithStack(err) - } + groovyClient := groovy.New(jenkinsClient, r.k8sClient, r.logger, r.jenkins, "base-groovy", customization.Customization) - done, err := groovyClient.Ensure(configuration.Data, r.jenkins) - if err != nil { - return reconcile.Result{}, err - } - if !done { - return reconcile.Result{Requeue: true, RequeueAfter: time.Second * 10}, nil - } + requeue, err := groovyClient.Ensure(func(name string) bool { + return strings.HasSuffix(name, ".groovy") + }, func(groovyScript string) string { + return groovyScript + }) - return reconcile.Result{}, nil + return reconcile.Result{Requeue: requeue}, err } diff --git a/pkg/controller/jenkins/jenkins_controller.go b/pkg/controller/jenkins/jenkins_controller.go index d19203cf..ea56a719 100644 --- a/pkg/controller/jenkins/jenkins_controller.go +++ b/pkg/controller/jenkins/jenkins_controller.go @@ -6,6 +6,7 @@ import ( "reflect" "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2" + jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user" @@ -171,6 +172,9 @@ func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Resul if err == jobs.ErrorUnrecoverableBuildFailed { return reconcile.Result{Requeue: false}, nil } + if _, ok := err.(*jenkinsclient.GroovyScriptExecutionFailed); ok { + return reconcile.Result{Requeue: false}, nil + } return reconcile.Result{Requeue: true}, nil } return result, nil @@ -345,10 +349,6 @@ func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha2.Jenkins, logger logr.Lo changed = true jenkins.Status.OperatorVersion = version.Version } - if len(jenkins.Spec.Master.Plugins) == 0 { - changed = true - jenkins.Spec.Master.Plugins = []v1alpha2.Plugin{{Name: "simple-theme-plugin", Version: "0.5.1"}} - } if isResourceRequirementsNotSet(jenkinsContainer.Resources) { logger.Info("Setting default Jenkins master container resource requirements") changed = true