#263 Execute user scripts before seed jobs (#345)

This commit is contained in:
Jakub Al-Khalili
2020-04-27 14:22:49 +02:00
committed by GitHub
parent 075b25b3db
commit fe9cb921bc
15 changed files with 40 additions and 27 deletions
@@ -57,4 +57,3 @@ func (r *ReconcileJenkinsBaseConfiguration) addLabelForWatchesResources(customiz
}
return nil
}
@@ -8,9 +8,8 @@ import (
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins"
"github.com/jenkinsci/kubernetes-operator/pkg/log"
stackerr "github.com/pkg/errors"
"github.com/bndr/gojenkins"
stackerr "github.com/pkg/errors"
)
func (r *ReconcileJenkinsBaseConfiguration) verifyPlugins(jenkinsClient jenkinsclient.Jenkins) (bool, error) {
@@ -1,8 +1,8 @@
package base
import (
"fmt"
"context"
"fmt"
"reflect"
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
@@ -140,8 +140,6 @@ func (r *ReconcileJenkinsBaseConfiguration) checkForPodRecreation(currentJenkins
return reason.NewPodRestart(reason.OperatorSource, messages, verbose...)
}
func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsMasterPod(meta metav1.ObjectMeta) (reconcile.Result, error) {
userAndPasswordHash, err := r.calculateUserAndPasswordHash()
if err != nil {
@@ -222,4 +220,3 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsMasterPod(meta metav1.O
return reconcile.Result{}, nil
}
@@ -89,5 +89,3 @@ func getExtraRoleBindingName(serviceAccountName string, roleRef rbacv1.RoleRef)
}
return fmt.Sprintf("%s-%s-%s", serviceAccountName, typeName, roleRef.Name)
}
@@ -229,8 +229,6 @@ func (r *ReconcileJenkinsBaseConfiguration) calculateUserAndPasswordHash() (stri
return base64.StdEncoding.EncodeToString(hash.Sum(nil)), nil
}
func compareImagePullSecrets(expected, actual []corev1.LocalObjectReference) bool {
for _, expected := range expected {
found := false
@@ -96,4 +96,4 @@ func isRunningInCluster() (bool, error) {
return true, nil
}
return false, stackerr.WithStack(err)
}
}
@@ -38,4 +38,3 @@ func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta
service = resources.UpdateService(service, config)
return stackerr.WithStack(r.UpdateResource(&service))
}
@@ -4,7 +4,7 @@ import (
"context"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
stackerr "github.com/pkg/errors"
corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
@@ -35,7 +35,15 @@ func New(configuration configuration.Configuration, jenkinsClient jenkinsclient.
func (r *ReconcileUserConfiguration) Reconcile() (reconcile.Result, error) {
backupAndRestore := backuprestore.New(r.Configuration, r.logger)
result, err := r.ensureSeedJobs()
result, err := r.ensureUserConfiguration(r.jenkinsClient)
if err != nil {
return reconcile.Result{}, err
}
if result.Requeue {
return result, nil
}
result, err = r.ensureSeedJobs()
if err != nil {
return reconcile.Result{}, err
}
@@ -47,14 +55,6 @@ func (r *ReconcileUserConfiguration) Reconcile() (reconcile.Result, error) {
return reconcile.Result{}, err
}
result, err = r.ensureUserConfiguration(r.jenkinsClient)
if err != nil {
return reconcile.Result{}, err
}
if result.Requeue {
return result, nil
}
if err := backupAndRestore.Backup(); err != nil {
return reconcile.Result{}, err
}
@@ -54,7 +54,9 @@ func (s *SeedJobs) ValidateSeedJobs(jenkins v1alpha2.Jenkins) ([]string, error)
messages = append(messages, fmt.Sprintf("seedJob `%s` Jenkins credential must be set while using ssh repository url", seedJob.ID))
}
if seedJob.JenkinsCredentialType == v1alpha2.BasicSSHCredentialType || seedJob.JenkinsCredentialType == v1alpha2.UsernamePasswordCredentialType {
if seedJob.JenkinsCredentialType == v1alpha2.BasicSSHCredentialType ||
seedJob.JenkinsCredentialType == v1alpha2.UsernamePasswordCredentialType ||
seedJob.JenkinsCredentialType == v1alpha2.ExternalCredentialType {
secret := &v1.Secret{}
namespaceName := types.NamespacedName{Namespace: jenkins.Namespace, Name: seedJob.CredentialID}
err := s.Client.Get(context.TODO(), namespaceName, secret)