Fix generating Jenkins API token

This commit is contained in:
Tomasz Sęk 2019-01-14 18:24:11 +01:00
parent c9370cda00
commit e18764078c
No known key found for this signature in database
GPG Key ID: DC356D23F6A644D0
4 changed files with 16 additions and 6 deletions

View File

@ -221,7 +221,7 @@ func (r *ReconcileJenkinsBaseConfiguration) createUserConfigurationConfigMap(met
currentConfigMap := &corev1.ConfigMap{} currentConfigMap := &corev1.ConfigMap{}
err := r.k8sClient.Get(context.TODO(), types.NamespacedName{Name: resources.GetUserConfigurationConfigMapName(r.jenkins), Namespace: r.jenkins.Namespace}, currentConfigMap) err := r.k8sClient.Get(context.TODO(), types.NamespacedName{Name: resources.GetUserConfigurationConfigMapName(r.jenkins), Namespace: r.jenkins.Namespace}, currentConfigMap)
if err != nil && errors.IsNotFound(err) { 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 { } else if err != nil {
return err return err
} }
@ -253,7 +253,7 @@ func (r *ReconcileJenkinsBaseConfiguration) createRBAC(meta metav1.ObjectMeta) e
} }
func (r *ReconcileJenkinsBaseConfiguration) createService(meta metav1.ObjectMeta) error { 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) { if err != nil && !apierrors.IsAlreadyExists(err) {
return err return err
} }

View File

@ -14,10 +14,10 @@ func buildServiceTypeMeta() metav1.TypeMeta {
} }
// NewService builds the Kubernetes service resource // 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{ service := &corev1.Service{
TypeMeta: buildServiceTypeMeta(), TypeMeta: buildServiceTypeMeta(),
ObjectMeta: *meta, ObjectMeta: meta,
Spec: corev1.ServiceSpec{ Spec: corev1.ServiceSpec{
Selector: meta.Labels, Selector: meta.Labels,
// The first port have to be Jenkins http port because when run with minikube // The first port have to be Jenkins http port because when run with minikube

View File

@ -2,10 +2,11 @@ package resources
import ( import (
"fmt" "fmt"
virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1" virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
"github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/constants" "github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/constants"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
) )
const configureTheme = ` const configureTheme = `
@ -36,7 +37,8 @@ func GetUserConfigurationConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) strin
} }
// NewUserConfigurationConfigMap builds Kubernetes config map used to user configuration // 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.Name = GetUserConfigurationConfigMapName(jenkins)
meta.Labels[constants.LabelWatchKey] = constants.LabelWatchValue // add watch for resource meta.Labels[constants.LabelWatchKey] = constants.LabelWatchValue // add watch for resource

View File

@ -2,6 +2,7 @@ package jenkins
import ( import (
"context" "context"
"fmt"
virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1" virtuslabv1alpha1 "github.com/VirtusLab/jenkins-operator/pkg/apis/virtuslab/v1alpha1"
"github.com/VirtusLab/jenkins-operator/pkg/controller/jenkins/configuration/base" "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) { if err != nil && errors.IsConflict(err) {
logger.V(log.VWarn).Info(err.Error()) logger.V(log.VWarn).Info(err.Error())
return reconcile.Result{Requeue: true}, nil 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 return result, err
} }
@ -131,12 +135,14 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
return *result, nil return *result, nil
} }
if jenkins.Status.BaseConfigurationCompletedTime == nil { if jenkins.Status.BaseConfigurationCompletedTime == nil {
logger.Info("Base configuration phase is complete")
now := metav1.Now() now := metav1.Now()
jenkins.Status.BaseConfigurationCompletedTime = &now jenkins.Status.BaseConfigurationCompletedTime = &now
err = r.client.Update(context.TODO(), jenkins) err = r.client.Update(context.TODO(), jenkins)
if err != nil { if err != nil {
return reconcile.Result{}, err return reconcile.Result{}, err
} }
logger.Info("Base configuration completed time has been updated")
} }
// Reconcile user configuration // Reconcile user configuration
@ -157,12 +163,14 @@ func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logg
return *result, nil return *result, nil
} }
if jenkins.Status.UserConfigurationCompletedTime == nil { if jenkins.Status.UserConfigurationCompletedTime == nil {
logger.Info("User configuration phase is complete")
now := metav1.Now() now := metav1.Now()
jenkins.Status.UserConfigurationCompletedTime = &now jenkins.Status.UserConfigurationCompletedTime = &now
err = r.client.Update(context.TODO(), jenkins) err = r.client.Update(context.TODO(), jenkins)
if err != nil { if err != nil {
return reconcile.Result{}, err return reconcile.Result{}, err
} }
logger.Info("User configuration completed time has been updated")
} }
return reconcile.Result{}, nil return reconcile.Result{}, nil