#28 Use new API for groovy base configuration
This commit is contained in:
parent
87fcc5f8a5
commit
6a3a68bec0
|
|
@ -807,27 +807,20 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsClient(meta metav1.Obje
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *ReconcileJenkinsBaseConfiguration) ensureBaseConfiguration(jenkinsClient jenkinsclient.Jenkins) (reconcile.Result, error) {
|
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)
|
customization := v1alpha2.GroovyScripts{
|
||||||
|
Customization: v1alpha2.Customization{
|
||||||
err := groovyClient.ConfigureJob()
|
Secret: v1alpha2.SecretRef{Name: ""},
|
||||||
if err != nil {
|
Configurations: []v1alpha2.ConfigMapRef{{Name: resources.GetBaseConfigurationConfigMapName(r.jenkins)}},
|
||||||
return reconcile.Result{}, err
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
configuration := &corev1.ConfigMap{}
|
groovyClient := groovy.New(jenkinsClient, r.k8sClient, r.logger, r.jenkins, "base-groovy", customization.Customization)
|
||||||
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)
|
|
||||||
}
|
|
||||||
|
|
||||||
done, err := groovyClient.Ensure(configuration.Data, r.jenkins)
|
requeue, err := groovyClient.Ensure(func(name string) bool {
|
||||||
if err != nil {
|
return strings.HasSuffix(name, ".groovy")
|
||||||
return reconcile.Result{}, err
|
}, func(groovyScript string) string {
|
||||||
}
|
return groovyScript
|
||||||
if !done {
|
})
|
||||||
return reconcile.Result{Requeue: true, RequeueAfter: time.Second * 10}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
return reconcile.Result{}, nil
|
return reconcile.Result{Requeue: requeue}, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
|
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
"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"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user"
|
"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 {
|
if err == jobs.ErrorUnrecoverableBuildFailed {
|
||||||
return reconcile.Result{Requeue: false}, nil
|
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 reconcile.Result{Requeue: true}, nil
|
||||||
}
|
}
|
||||||
return result, nil
|
return result, nil
|
||||||
|
|
@ -345,10 +349,6 @@ func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha2.Jenkins, logger logr.Lo
|
||||||
changed = true
|
changed = true
|
||||||
jenkins.Status.OperatorVersion = version.Version
|
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) {
|
if isResourceRequirementsNotSet(jenkinsContainer.Resources) {
|
||||||
logger.Info("Setting default Jenkins master container resource requirements")
|
logger.Info("Setting default Jenkins master container resource requirements")
|
||||||
changed = true
|
changed = true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue