Merge pull request #381 from jkhelil/refactor_logs

Refactor log handling
This commit is contained in:
Tomasz Sęk 2020-05-14 09:25:01 +02:00 committed by GitHub
commit 2dea7124dd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 68 additions and 65 deletions

View File

@ -39,10 +39,10 @@ type ReconcileJenkinsBaseConfiguration struct {
} }
// New create structure which takes care of base configuration // New create structure which takes care of base configuration
func New(config configuration.Configuration, logger logr.Logger, jenkinsAPIConnectionSettings jenkinsclient.JenkinsAPIConnectionSettings) *ReconcileJenkinsBaseConfiguration { func New(config configuration.Configuration, jenkinsAPIConnectionSettings jenkinsclient.JenkinsAPIConnectionSettings) *ReconcileJenkinsBaseConfiguration {
return &ReconcileJenkinsBaseConfiguration{ return &ReconcileJenkinsBaseConfiguration{
Configuration: config, Configuration: config,
logger: logger, logger: log.Log.WithValues("cr", config.Jenkins.Name),
jenkinsAPIConnectionSettings: jenkinsAPIConnectionSettings, jenkinsAPIConnectionSettings: jenkinsAPIConnectionSettings,
} }
} }

View File

@ -105,7 +105,7 @@ func TestCompareVolumes(t *testing.T) {
Volumes: resources.GetJenkinsMasterPodBaseVolumes(jenkins), Volumes: resources.GetJenkinsMasterPodBaseVolumes(jenkins),
}, },
} }
reconciler := New(configuration.Configuration{Jenkins: jenkins}, nil, client.JenkinsAPIConnectionSettings{}) reconciler := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := reconciler.compareVolumes(pod) got := reconciler.compareVolumes(pod)
@ -129,7 +129,7 @@ func TestCompareVolumes(t *testing.T) {
Volumes: resources.GetJenkinsMasterPodBaseVolumes(jenkins), Volumes: resources.GetJenkinsMasterPodBaseVolumes(jenkins),
}, },
} }
reconciler := New(configuration.Configuration{Jenkins: jenkins}, nil, client.JenkinsAPIConnectionSettings{}) reconciler := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := reconciler.compareVolumes(pod) got := reconciler.compareVolumes(pod)
@ -153,7 +153,7 @@ func TestCompareVolumes(t *testing.T) {
Volumes: append(resources.GetJenkinsMasterPodBaseVolumes(jenkins), corev1.Volume{Name: "added"}), Volumes: append(resources.GetJenkinsMasterPodBaseVolumes(jenkins), corev1.Volume{Name: "added"}),
}, },
} }
reconciler := New(configuration.Configuration{Jenkins: jenkins}, nil, client.JenkinsAPIConnectionSettings{}) reconciler := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := reconciler.compareVolumes(pod) got := reconciler.compareVolumes(pod)
@ -636,7 +636,7 @@ func TestEnsureExtraRBAC(t *testing.T) {
Jenkins: jenkins, Jenkins: jenkins,
Scheme: scheme.Scheme, Scheme: scheme.Scheme,
} }
reconciler := New(config, log.Log, client.JenkinsAPIConnectionSettings{}) reconciler := New(config, client.JenkinsAPIConnectionSettings{})
metaObject := resources.NewResourceObjectMeta(jenkins) metaObject := resources.NewResourceObjectMeta(jenkins)
// when // when
@ -677,7 +677,7 @@ func TestEnsureExtraRBAC(t *testing.T) {
Jenkins: jenkins, Jenkins: jenkins,
Scheme: scheme.Scheme, Scheme: scheme.Scheme,
} }
reconciler := New(config, log.Log, client.JenkinsAPIConnectionSettings{}) reconciler := New(config, client.JenkinsAPIConnectionSettings{})
metaObject := resources.NewResourceObjectMeta(jenkins) metaObject := resources.NewResourceObjectMeta(jenkins)
// when // when
@ -724,7 +724,7 @@ func TestEnsureExtraRBAC(t *testing.T) {
Jenkins: jenkins, Jenkins: jenkins,
Scheme: scheme.Scheme, Scheme: scheme.Scheme,
} }
reconciler := New(config, log.Log, client.JenkinsAPIConnectionSettings{}) reconciler := New(config, client.JenkinsAPIConnectionSettings{})
metaObject := resources.NewResourceObjectMeta(jenkins) metaObject := resources.NewResourceObjectMeta(jenkins)
// when // when
@ -772,7 +772,7 @@ func TestEnsureExtraRBAC(t *testing.T) {
Jenkins: jenkins, Jenkins: jenkins,
Scheme: scheme.Scheme, Scheme: scheme.Scheme,
} }
reconciler := New(config, log.Log, client.JenkinsAPIConnectionSettings{}) reconciler := New(config, client.JenkinsAPIConnectionSettings{})
metaObject := resources.NewResourceObjectMeta(jenkins) metaObject := resources.NewResourceObjectMeta(jenkins)
// when // when

View File

@ -18,14 +18,14 @@ import (
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/client/fake" "sigs.k8s.io/controller-runtime/pkg/client/fake"
logf "sigs.k8s.io/controller-runtime/pkg/log/zap"
) )
const defaultNamespace = "default" const defaultNamespace = "default"
func TestValidatePlugins(t *testing.T) { func TestValidatePlugins(t *testing.T) {
log.SetupLogger(true) log.SetupLogger(true)
baseReconcileLoop := New(configuration.Configuration{}, log.Log, client.JenkinsAPIConnectionSettings{}) jenkins := &v1alpha2.Jenkins{ObjectMeta: metav1.ObjectMeta{Name: "example"}}
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
t.Run("empty", func(t *testing.T) { t.Run("empty", func(t *testing.T) {
var requiredBasePlugins []plugins.Plugin var requiredBasePlugins []plugins.Plugin
var basePlugins []v1alpha2.Plugin var basePlugins []v1alpha2.Plugin
@ -168,7 +168,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateImagePullSecrets() got, err := baseReconcileLoop.validateImagePullSecrets()
fmt.Println(got) fmt.Println(got)
@ -192,7 +192,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, nil, client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, _ := baseReconcileLoop.validateImagePullSecrets() got, _ := baseReconcileLoop.validateImagePullSecrets()
@ -228,7 +228,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, nil, client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, _ := baseReconcileLoop.validateImagePullSecrets() got, _ := baseReconcileLoop.validateImagePullSecrets()
@ -264,7 +264,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, _ := baseReconcileLoop.validateImagePullSecrets() got, _ := baseReconcileLoop.validateImagePullSecrets()
@ -300,7 +300,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, _ := baseReconcileLoop.validateImagePullSecrets() got, _ := baseReconcileLoop.validateImagePullSecrets()
@ -336,7 +336,7 @@ func TestReconcileJenkinsBaseConfiguration_validateImagePullSecrets(t *testing.T
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, _ := baseReconcileLoop.validateImagePullSecrets() got, _ := baseReconcileLoop.validateImagePullSecrets()
@ -369,7 +369,7 @@ func TestValidateJenkinsMasterPodEnvs(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterPodEnvs() got := baseReconcileLoop.validateJenkinsMasterPodEnvs()
assert.Nil(t, got) assert.Nil(t, got)
}) })
@ -392,7 +392,7 @@ func TestValidateJenkinsMasterPodEnvs(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterPodEnvs() got := baseReconcileLoop.validateJenkinsMasterPodEnvs()
assert.Equal(t, got, []string{"Jenkins Master container env 'JAVA_OPTS' doesn't have required flag '-Djava.awt.headless=true'"}) assert.Equal(t, got, []string{"Jenkins Master container env 'JAVA_OPTS' doesn't have required flag '-Djava.awt.headless=true'"})
@ -416,7 +416,7 @@ func TestValidateJenkinsMasterPodEnvs(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterPodEnvs() got := baseReconcileLoop.validateJenkinsMasterPodEnvs()
assert.Equal(t, got, []string{"Jenkins Master container env 'JAVA_OPTS' doesn't have required flag '-Djenkins.install.runSetupWizard=false'"}) assert.Equal(t, got, []string{"Jenkins Master container env 'JAVA_OPTS' doesn't have required flag '-Djenkins.install.runSetupWizard=false'"})
@ -438,7 +438,7 @@ func TestValidateReservedVolumes(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateReservedVolumes() got := baseReconcileLoop.validateReservedVolumes()
assert.Nil(t, got) assert.Nil(t, got)
}) })
@ -456,7 +456,7 @@ func TestValidateReservedVolumes(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateReservedVolumes() got := baseReconcileLoop.validateReservedVolumes()
assert.Equal(t, got, []string{"Jenkins Master pod volume 'jenkins-home' is reserved please choose different one"}) assert.Equal(t, got, []string{"Jenkins Master pod volume 'jenkins-home' is reserved please choose different one"})
@ -472,7 +472,7 @@ func TestValidateContainerVolumeMounts(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateContainerVolumeMounts(v1alpha2.Container{}) got := baseReconcileLoop.validateContainerVolumeMounts(v1alpha2.Container{})
assert.Nil(t, got) assert.Nil(t, got)
}) })
@ -500,7 +500,7 @@ func TestValidateContainerVolumeMounts(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0]) got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0])
assert.Nil(t, got) assert.Nil(t, got)
}) })
@ -528,7 +528,7 @@ func TestValidateContainerVolumeMounts(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0]) got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0])
assert.Equal(t, got, []string{"mountPath not set for 'example' volume mount in container ''"}) assert.Equal(t, got, []string{"mountPath not set for 'example' volume mount in container ''"})
}) })
@ -551,7 +551,7 @@ func TestValidateContainerVolumeMounts(t *testing.T) {
} }
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &jenkins, Jenkins: &jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0]) got := baseReconcileLoop.validateContainerVolumeMounts(jenkins.Spec.Master.Containers[0])
assert.Equal(t, got, []string{"Not found volume for 'missing-volume' volume mount in container ''"}) assert.Equal(t, got, []string{"Not found volume for 'missing-volume' volume mount in container ''"})
@ -570,9 +570,11 @@ func TestValidateConfigMapVolume(t *testing.T) {
}, },
} }
fakeClient := fake.NewFakeClient() fakeClient := fake.NewFakeClient()
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &v1alpha2.Jenkins{ObjectMeta: metav1.ObjectMeta{Name: "example"}},
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateConfigMapVolume(volume) got, err := baseReconcileLoop.validateConfigMapVolume(volume)
@ -600,7 +602,7 @@ func TestValidateConfigMapVolume(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: jenkins, Jenkins: jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateConfigMapVolume(volume) got, err := baseReconcileLoop.validateConfigMapVolume(volume)
@ -626,7 +628,7 @@ func TestValidateConfigMapVolume(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: jenkins, Jenkins: jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateConfigMapVolume(volume) got, err := baseReconcileLoop.validateConfigMapVolume(volume)
@ -649,8 +651,9 @@ func TestValidateSecretVolume(t *testing.T) {
} }
fakeClient := fake.NewFakeClient() fakeClient := fake.NewFakeClient()
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: &v1alpha2.Jenkins{ObjectMeta: metav1.ObjectMeta{Name: "example"}},
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateSecretVolume(volume) got, err := baseReconcileLoop.validateSecretVolume(volume)
@ -676,7 +679,7 @@ func TestValidateSecretVolume(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: jenkins, Jenkins: jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateSecretVolume(volume) got, err := baseReconcileLoop.validateSecretVolume(volume)
@ -700,7 +703,7 @@ func TestValidateSecretVolume(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Client: fakeClient, Client: fakeClient,
Jenkins: jenkins, Jenkins: jenkins,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateSecretVolume(volume) got, err := baseReconcileLoop.validateSecretVolume(volume)
assert.NoError(t, err) assert.NoError(t, err)
@ -723,7 +726,7 @@ func TestValidateCustomization(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: jenkins, Jenkins: jenkins,
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
got, err := baseReconcileLoop.validateCustomization(customization, "spec.groovyScripts") got, err := baseReconcileLoop.validateCustomization(customization, "spec.groovyScripts")
@ -745,7 +748,7 @@ func TestValidateCustomization(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: jenkins, Jenkins: jenkins,
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
err := fakeClient.Create(context.TODO(), secret) err := fakeClient.Create(context.TODO(), secret)
require.NoError(t, err) require.NoError(t, err)
@ -776,7 +779,7 @@ func TestValidateCustomization(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: jenkins, Jenkins: jenkins,
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
err := fakeClient.Create(context.TODO(), secret) err := fakeClient.Create(context.TODO(), secret)
require.NoError(t, err) require.NoError(t, err)
err = fakeClient.Create(context.TODO(), configMap) err = fakeClient.Create(context.TODO(), configMap)
@ -803,7 +806,7 @@ func TestValidateCustomization(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: jenkins, Jenkins: jenkins,
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
err := fakeClient.Create(context.TODO(), configMap) err := fakeClient.Create(context.TODO(), configMap)
require.NoError(t, err) require.NoError(t, err)
@ -828,7 +831,7 @@ func TestValidateCustomization(t *testing.T) {
baseReconcileLoop := New(configuration.Configuration{ baseReconcileLoop := New(configuration.Configuration{
Jenkins: jenkins, Jenkins: jenkins,
Client: fakeClient, Client: fakeClient,
}, logf.Logger(false), client.JenkinsAPIConnectionSettings{}) }, client.JenkinsAPIConnectionSettings{})
err := fakeClient.Create(context.TODO(), secret) err := fakeClient.Create(context.TODO(), secret)
require.NoError(t, err) require.NoError(t, err)
@ -844,7 +847,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
log.SetupLogger(true) log.SetupLogger(true)
t.Run("no Jenkins master container", func(t *testing.T) { t.Run("no Jenkins master container", func(t *testing.T) {
jenkins := &v1alpha2.Jenkins{} jenkins := &v1alpha2.Jenkins{}
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()
@ -862,7 +865,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
}, },
}, },
} }
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()
@ -885,7 +888,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
}, },
}, },
} }
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()
@ -904,7 +907,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
}, },
}, },
} }
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()
@ -928,7 +931,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
}, },
}, },
} }
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()
@ -952,7 +955,7 @@ func TestValidateJenkinsMasterContainerCommand(t *testing.T) {
}, },
}, },
} }
baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, log.Log, client.JenkinsAPIConnectionSettings{}) baseReconcileLoop := New(configuration.Configuration{Jenkins: jenkins}, client.JenkinsAPIConnectionSettings{})
got := baseReconcileLoop.validateJenkinsMasterContainerCommand() got := baseReconcileLoop.validateJenkinsMasterContainerCommand()

View File

@ -3,6 +3,7 @@ package user
import ( import (
"strings" "strings"
"github.com/go-logr/logr"
jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/backuprestore" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/backuprestore"
@ -10,8 +11,7 @@ import (
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user/casc" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user/casc"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user/seedjobs" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user/seedjobs"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/groovy"
"github.com/jenkinsci/kubernetes-operator/pkg/log"
"github.com/go-logr/logr"
"sigs.k8s.io/controller-runtime/pkg/reconcile" "sigs.k8s.io/controller-runtime/pkg/reconcile"
) )
@ -23,11 +23,11 @@ type ReconcileUserConfiguration struct {
} }
// New create structure which takes care of user configuration // New create structure which takes care of user configuration
func New(configuration configuration.Configuration, jenkinsClient jenkinsclient.Jenkins, logger logr.Logger) *ReconcileUserConfiguration { func New(configuration configuration.Configuration, jenkinsClient jenkinsclient.Jenkins) *ReconcileUserConfiguration {
return &ReconcileUserConfiguration{ return &ReconcileUserConfiguration{
Configuration: configuration, Configuration: configuration,
jenkinsClient: jenkinsClient, jenkinsClient: jenkinsClient,
logger: logger, logger: log.Log.WithValues("cr", configuration.Jenkins.Name),
} }
} }

View File

@ -18,8 +18,6 @@ import (
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications/reason" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications/reason"
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins"
"github.com/jenkinsci/kubernetes-operator/pkg/log" "github.com/jenkinsci/kubernetes-operator/pkg/log"
"github.com/go-logr/logr"
"github.com/pkg/errors" "github.com/pkg/errors"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors" apierrors "k8s.io/apimachinery/pkg/api/errors"
@ -44,6 +42,8 @@ type reconcileError struct {
var reconcileErrors = map[string]reconcileError{} var reconcileErrors = map[string]reconcileError{}
var logx = log.Log
// Add creates a new Jenkins Controller and adds it to the Manager. The Manager will set fields on the Controller // Add creates a new Jenkins Controller and adds it to the Manager. The Manager will set fields on the Controller
// and Start it when the Manager is Started. // and Start it when the Manager is Started.
func Add(mgr manager.Manager, jenkinsAPIConnectionSettings jenkinsclient.JenkinsAPIConnectionSettings, clientSet kubernetes.Clientset, config rest.Config, notificationEvents *chan event.Event) error { func Add(mgr manager.Manager, jenkinsAPIConnectionSettings jenkinsclient.JenkinsAPIConnectionSettings, clientSet kubernetes.Clientset, config rest.Config, notificationEvents *chan event.Event) error {
@ -124,10 +124,10 @@ type ReconcileJenkins struct {
// Reconcile it's a main reconciliation loop which maintain desired state based on Jenkins.Spec. // Reconcile it's a main reconciliation loop which maintain desired state based on Jenkins.Spec.
func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Result, error) { func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Result, error) {
reconcileFailLimit := uint64(10) reconcileFailLimit := uint64(10)
logger := r.buildLogger(request.Name) logger := logx.WithValues("cr", request.Name)
logger.V(log.VDebug).Info("Reconciling Jenkins") logger.V(log.VDebug).Info("Reconciling Jenkins")
result, jenkins, err := r.reconcile(request, logger) result, jenkins, err := r.reconcile(request)
if err != nil && apierrors.IsConflict(err) { if err != nil && apierrors.IsConflict(err) {
return reconcile.Result{Requeue: true}, nil return reconcile.Result{Requeue: true}, nil
} else if err != nil { } else if err != nil {
@ -192,7 +192,8 @@ func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Resul
return result, nil return result, nil
} }
func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logger) (reconcile.Result, *v1alpha2.Jenkins, error) { func (r *ReconcileJenkins) reconcile(request reconcile.Request) (reconcile.Result, *v1alpha2.Jenkins, error) {
logger := logx.WithValues("cr", request.Name)
// Fetch the Jenkins instance // Fetch the Jenkins instance
jenkins := &v1alpha2.Jenkins{} jenkins := &v1alpha2.Jenkins{}
var err error var err error
@ -208,7 +209,7 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
return reconcile.Result{}, nil, errors.WithStack(err) return reconcile.Result{}, nil, errors.WithStack(err)
} }
var requeue bool var requeue bool
requeue, err = r.setDefaults(jenkins, logger) requeue, err = r.setDefaults(jenkins)
if err != nil { if err != nil {
return reconcile.Result{}, jenkins, err return reconcile.Result{}, jenkins, err
} }
@ -216,7 +217,7 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
return reconcile.Result{Requeue: true}, jenkins, nil return reconcile.Result{Requeue: true}, jenkins, nil
} }
requeue, err = r.handleDeprecatedData(jenkins, logger) requeue, err = r.handleDeprecatedData(jenkins)
if err != nil { if err != nil {
return reconcile.Result{}, jenkins, err return reconcile.Result{}, jenkins, err
} }
@ -235,7 +236,7 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
} }
// Reconcile base configuration // Reconcile base configuration
baseConfiguration := base.New(config, logger, r.jenkinsAPIConnectionSettings) baseConfiguration := base.New(config, r.jenkinsAPIConnectionSettings)
var baseMessages []string var baseMessages []string
baseMessages, err = baseConfiguration.Validate(jenkins) baseMessages, err = baseConfiguration.Validate(jenkins)
@ -289,7 +290,7 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
logger.Info(message) logger.Info(message)
} }
// Reconcile user configuration // Reconcile user configuration
userConfiguration := user.New(config, jenkinsClient, logger) userConfiguration := user.New(config, jenkinsClient)
var messages []string var messages []string
messages, err = userConfiguration.Validate(jenkins) messages, err = userConfiguration.Validate(jenkins)
@ -341,12 +342,9 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
return reconcile.Result{}, jenkins, nil return reconcile.Result{}, jenkins, nil
} }
func (r *ReconcileJenkins) buildLogger(jenkinsName string) logr.Logger { func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha2.Jenkins) (requeue bool, err error) {
return log.Log.WithValues("cr", jenkinsName)
}
func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha2.Jenkins, logger logr.Logger) (requeue bool, err error) {
changed := false changed := false
logger := logx.WithValues("cr", jenkins.Name)
var jenkinsContainer v1alpha2.Container var jenkinsContainer v1alpha2.Container
if len(jenkins.Spec.Master.Containers) == 0 { if len(jenkins.Spec.Master.Containers) == 0 {
@ -455,7 +453,7 @@ func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha2.Jenkins, logger logr.Lo
} }
if len(jenkins.Spec.Master.Containers) > 1 { if len(jenkins.Spec.Master.Containers) > 1 {
for i, container := range jenkins.Spec.Master.Containers[1:] { for i, container := range jenkins.Spec.Master.Containers[1:] {
if setDefaultsForContainer(jenkins, i+1, logger.WithValues("container", container.Name)) { if r.setDefaultsForContainer(jenkins, container.Name, i+1) {
changed = true changed = true
} }
} }
@ -502,8 +500,9 @@ func isJavaOpsVariableNotSet(container v1alpha2.Container) bool {
return true return true
} }
func setDefaultsForContainer(jenkins *v1alpha2.Jenkins, containerIndex int, logger logr.Logger) bool { func (r *ReconcileJenkins) setDefaultsForContainer(jenkins *v1alpha2.Jenkins, containerName string, containerIndex int) bool {
changed := false changed := false
logger := logx.WithValues("cr", jenkins.Name, "container", containerName)
if len(jenkins.Spec.Master.Containers[containerIndex].ImagePullPolicy) == 0 { if len(jenkins.Spec.Master.Containers[containerIndex].ImagePullPolicy) == 0 {
logger.Info(fmt.Sprintf("Setting default container image pull policy: %s", corev1.PullAlways)) logger.Info(fmt.Sprintf("Setting default container image pull policy: %s", corev1.PullAlways))
@ -539,8 +538,9 @@ func basePlugins() (result []v1alpha2.Plugin) {
return return
} }
func (r *ReconcileJenkins) handleDeprecatedData(jenkins *v1alpha2.Jenkins, logger logr.Logger) (requeue bool, err error) { func (r *ReconcileJenkins) handleDeprecatedData(jenkins *v1alpha2.Jenkins) (requeue bool, err error) {
changed := false changed := false
logger := logx.WithValues("cr", jenkins.Name)
if len(jenkins.Spec.Master.AnnotationsDeprecated) > 0 { if len(jenkins.Spec.Master.AnnotationsDeprecated) > 0 {
changed = true changed = true

View File

@ -163,7 +163,7 @@ func createJenkinsAPIClientFromServiceAccount(t *testing.T, jenkins *v1alpha2.Je
return nil, err return nil, err
} }
config := configuration.Configuration{Jenkins: jenkins, ClientSet: *clientSet, Config: framework.Global.KubeConfig} config := configuration.Configuration{Jenkins: jenkins, ClientSet: *clientSet, Config: framework.Global.KubeConfig}
r := base.New(config, nil, jenkinsclient.JenkinsAPIConnectionSettings{}) r := base.New(config, jenkinsclient.JenkinsAPIConnectionSettings{})
token, _, err := r.Configuration.Exec(podName, resources.JenkinsMasterContainerName, []string{"cat", "/var/run/secrets/kubernetes.io/serviceaccount/token"}) token, _, err := r.Configuration.Exec(podName, resources.JenkinsMasterContainerName, []string{"cat", "/var/run/secrets/kubernetes.io/serviceaccount/token"})
if err != nil { if err != nil {