diff --git a/pkg/controller/jenkins/configuration/base/reconcile.go b/pkg/controller/jenkins/configuration/base/reconcile.go index a134dcc1..8c5b47b6 100644 --- a/pkg/controller/jenkins/configuration/base/reconcile.go +++ b/pkg/controller/jenkins/configuration/base/reconcile.go @@ -221,7 +221,7 @@ func (r *ReconcileJenkinsBaseConfiguration) createUserConfigurationConfigMap(met currentConfigMap := &corev1.ConfigMap{} err := r.k8sClient.Get(context.TODO(), types.NamespacedName{Name: resources.GetUserConfigurationConfigMapName(r.jenkins), Namespace: r.jenkins.Namespace}, currentConfigMap) if err != nil && errors.IsNotFound(err) { - return r.k8sClient.Create(context.TODO(), resources.NewUserConfigurationConfigMap(meta, r.jenkins)) + return r.k8sClient.Create(context.TODO(), resources.NewUserConfigurationConfigMap(r.jenkins)) } else if err != nil { return err } @@ -253,7 +253,7 @@ func (r *ReconcileJenkinsBaseConfiguration) createRBAC(meta metav1.ObjectMeta) e } func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta) error { - err := r.createResource(resources.NewService(&meta, r.minikube)) + err := r.createResource(resources.NewService(meta, r.minikube)) if err != nil && !apierrors.IsAlreadyExists(err) { return err } diff --git a/pkg/controller/jenkins/configuration/base/resources/service.go b/pkg/controller/jenkins/configuration/base/resources/service.go index 88d44a17..e37981e3 100644 --- a/pkg/controller/jenkins/configuration/base/resources/service.go +++ b/pkg/controller/jenkins/configuration/base/resources/service.go @@ -14,10 +14,10 @@ func buildServiceTypeMeta() metav1.TypeMeta { } // NewService builds the Kubernetes service resource -func NewService(meta *metav1.ObjectMeta, minikube bool) *corev1.Service { +func NewService(meta metav1.ObjectMeta, minikube bool) *corev1.Service { service := &corev1.Service{ TypeMeta: buildServiceTypeMeta(), - ObjectMeta: *meta, + ObjectMeta: meta, Spec: corev1.ServiceSpec{ Selector: meta.Labels, // The first port have to be Jenkins http port because when run with minikube diff --git a/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go b/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go index d918c4e9..fdf9be08 100644 --- a/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go +++ b/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go @@ -2,10 +2,11 @@ package resources import ( "fmt" + virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1" "github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/constants" + corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) const configureTheme = ` @@ -36,7 +37,8 @@ func GetUserConfigurationConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) strin } // NewUserConfigurationConfigMap builds Kubernetes config map used to user configuration -func NewUserConfigurationConfigMap(meta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) *corev1.ConfigMap { +func NewUserConfigurationConfigMap(jenkins *virtuslabv1alpha1.Jenkins) *corev1.ConfigMap { + meta := NewResourceObjectMeta(jenkins) meta.Name = GetUserConfigurationConfigMapName(jenkins) meta.Labels[constants.LabelWatchKey] = constants.LabelWatchValue // add watch for resource diff --git a/pkg/controller/jenkins/jenkins_controller.go b/pkg/controller/jenkins/jenkins_controller.go index 1cdd9440..1189eda2 100644 --- a/pkg/controller/jenkins/jenkins_controller.go +++ b/pkg/controller/jenkins/jenkins_controller.go @@ -2,6 +2,7 @@ package jenkins import ( "context" + "fmt" virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1" "github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/configuration/base" @@ -93,6 +94,9 @@ func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Resul if err != nil && errors.IsConflict(err) { logger.V(log.VWarn).Info(err.Error()) return reconcile.Result{Requeue: true}, nil + } else if err != nil { + logger.V(log.VWarn).Info(fmt.Sprintf("Reconcile loop failed: %+v", err)) + return reconcile.Result{Requeue: true}, nil } return result, err } @@ -131,12 +135,14 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg return *result, nil } if jenkins.Status.BaseConfigurationCompletedTime == nil { + logger.Info("Base configuration phase is complete") now := metav1.Now() jenkins.Status.BaseConfigurationCompletedTime = &now err = r.client.Update(context.TODO(), jenkins) if err != nil { return reconcile.Result{}, err } + logger.Info("Base configuration completed time has been updated") } // Reconcile user configuration @@ -157,12 +163,14 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg return *result, nil } if jenkins.Status.UserConfigurationCompletedTime == nil { + logger.Info("User configuration phase is complete") now := metav1.Now() jenkins.Status.UserConfigurationCompletedTime = &now err = r.client.Update(context.TODO(), jenkins) if err != nil { return reconcile.Result{}, err } + logger.Info("User configuration completed time has been updated") } return reconcile.Result{}, nil