From 5996e63db9bc045f124006458483fa4c15c75ca1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20S=C4=99k?= Date: Mon, 18 Feb 2019 22:00:54 +0100 Subject: [PATCH] Add information how much time take base and user phase --- pkg/apis/jenkinsio/v1alpha1/jenkins_types.go | 1 + pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go | 4 ++++ pkg/controller/jenkins/configuration/base/reconcile.go | 5 ++++- pkg/controller/jenkins/jenkins_controller.go | 6 ++++-- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pkg/apis/jenkinsio/v1alpha1/jenkins_types.go b/pkg/apis/jenkinsio/v1alpha1/jenkins_types.go index 8fe05885..f76fe27c 100644 --- a/pkg/apis/jenkinsio/v1alpha1/jenkins_types.go +++ b/pkg/apis/jenkinsio/v1alpha1/jenkins_types.go @@ -32,6 +32,7 @@ type JenkinsMaster struct { type JenkinsStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "operator-sdk generate k8s" to regenerate code after modifying this file + ProvisionStartTime *metav1.Time `json:"provisionStartTime,omitempty"` BaseConfigurationCompletedTime *metav1.Time `json:"baseConfigurationCompletedTime,omitempty"` UserConfigurationCompletedTime *metav1.Time `json:"userConfigurationCompletedTime,omitempty"` Builds []Build `json:"builds,omitempty"` diff --git a/pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go index 2aa2f6c9..8644e166 100644 --- a/pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go @@ -191,6 +191,10 @@ func (in *JenkinsSpec) DeepCopy() *JenkinsSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *JenkinsStatus) DeepCopyInto(out *JenkinsStatus) { *out = *in + if in.ProvisionStartTime != nil { + in, out := &in.ProvisionStartTime, &out.ProvisionStartTime + *out = (*in).DeepCopy() + } if in.BaseConfigurationCompletedTime != nil { in, out := &in.BaseConfigurationCompletedTime, &out.BaseConfigurationCompletedTime *out = (*in).DeepCopy() diff --git a/pkg/controller/jenkins/configuration/base/reconcile.go b/pkg/controller/jenkins/configuration/base/reconcile.go index 5fdb5020..75d70b05 100644 --- a/pkg/controller/jenkins/configuration/base/reconcile.go +++ b/pkg/controller/jenkins/configuration/base/reconcile.go @@ -303,7 +303,10 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsMasterPod(meta metav1.O if err != nil { return reconcile.Result{}, stackerr.WithStack(err) } - r.jenkins.Status = v1alpha1.JenkinsStatus{} + now := metav1.Now() + r.jenkins.Status = v1alpha1.JenkinsStatus{ + ProvisionStartTime: &now, + } err = r.updateResource(r.jenkins) if err != nil { return reconcile.Result{}, err // don't wrap error diff --git a/pkg/controller/jenkins/jenkins_controller.go b/pkg/controller/jenkins/jenkins_controller.go index 6fb2fbca..6c146440 100644 --- a/pkg/controller/jenkins/jenkins_controller.go +++ b/pkg/controller/jenkins/jenkins_controller.go @@ -168,7 +168,8 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg if err != nil { return reconcile.Result{}, errors.WithStack(err) } - logger.Info("Base configuration phase is complete") + logger.Info(fmt.Sprintf("Base configuration phase is complete, took %s", + jenkins.Status.BaseConfigurationCompletedTime.Sub(jenkins.Status.ProvisionStartTime.Time))) r.events.Emit(jenkins, event.TypeNormal, reasonBaseConfigurationSuccess, "Base configuration completed") } // Reconcile user configuration @@ -199,7 +200,8 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg if err != nil { return reconcile.Result{}, errors.WithStack(err) } - logger.Info("User configuration phase is complete") + logger.Info(fmt.Sprintf("User configuration phase is complete, took %s", + jenkins.Status.UserConfigurationCompletedTime.Sub(jenkins.Status.ProvisionStartTime.Time))) r.events.Emit(jenkins, event.TypeNormal, reasonUserConfigurationSuccess, "User configuration completed") }