Small refactoring
This commit is contained in:
parent
02c04af6c5
commit
7281032be2
|
|
@ -56,7 +56,7 @@ func New(client client.Client, scheme *runtime.Scheme, logger logr.Logger,
|
|||
func (r *ReconcileJenkinsBaseConfiguration) Reconcile() (reconcile.Result, jenkinsclient.Jenkins, error) {
|
||||
metaObject := resources.NewResourceObjectMeta(r.jenkins)
|
||||
|
||||
err := r.ensureResourcesReuiredForJenkinsPod(metaObject)
|
||||
err := r.ensureResourcesRequiredForJenkinsPod(metaObject)
|
||||
if err != nil {
|
||||
return reconcile.Result{}, nil, err
|
||||
}
|
||||
|
|
@ -91,20 +91,14 @@ func (r *ReconcileJenkinsBaseConfiguration) Reconcile() (reconcile.Result, jenki
|
|||
}
|
||||
if !ok {
|
||||
r.logger.V(log.VWarn).Info("Please correct Jenkins CR (spec.master.plugins)")
|
||||
currentJenkinsMasterPod, err := r.getJenkinsMasterPod(metaObject)
|
||||
if err != nil {
|
||||
return reconcile.Result{}, nil, err
|
||||
}
|
||||
if err := r.k8sClient.Delete(context.TODO(), currentJenkinsMasterPod); err != nil {
|
||||
return reconcile.Result{}, nil, err
|
||||
}
|
||||
return reconcile.Result{Requeue: true}, nil, r.restartJenkinsMasterPod(metaObject)
|
||||
}
|
||||
|
||||
result, err = r.ensureBaseConfiguration(jenkinsClient)
|
||||
return result, jenkinsClient, err
|
||||
}
|
||||
|
||||
func (r *ReconcileJenkinsBaseConfiguration) ensureResourcesReuiredForJenkinsPod(metaObject metav1.ObjectMeta) error {
|
||||
func (r *ReconcileJenkinsBaseConfiguration) ensureResourcesRequiredForJenkinsPod(metaObject metav1.ObjectMeta) error {
|
||||
if err := r.createOperatorCredentialsSecret(metaObject); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -133,7 +127,7 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureResourcesReuiredForJenkinsPod(
|
|||
if err := r.createRBAC(metaObject); err != nil {
|
||||
return err
|
||||
}
|
||||
r.logger.V(log.VDebug).Info("User configuration config map is present")
|
||||
r.logger.V(log.VDebug).Info("Service account, role and role binding are present")
|
||||
|
||||
if err := r.createService(metaObject); err != nil {
|
||||
return err
|
||||
|
|
@ -339,16 +333,21 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsMasterPod(meta metav1.O
|
|||
}
|
||||
|
||||
if currentJenkinsMasterPod != nil && recreatePod && currentJenkinsMasterPod.ObjectMeta.DeletionTimestamp == nil {
|
||||
r.logger.Info(fmt.Sprintf("Terminating Jenkins Master Pod %s/%s", currentJenkinsMasterPod.Namespace, currentJenkinsMasterPod.Name))
|
||||
if err := r.k8sClient.Delete(context.TODO(), currentJenkinsMasterPod); err != nil {
|
||||
return reconcile.Result{}, err
|
||||
}
|
||||
return reconcile.Result{Requeue: true}, nil
|
||||
return reconcile.Result{Requeue: true}, r.restartJenkinsMasterPod(meta)
|
||||
}
|
||||
|
||||
return reconcile.Result{}, nil
|
||||
}
|
||||
|
||||
func (r *ReconcileJenkinsBaseConfiguration) restartJenkinsMasterPod(meta metav1.ObjectMeta) error {
|
||||
currentJenkinsMasterPod, err := r.getJenkinsMasterPod(meta)
|
||||
r.logger.Info(fmt.Sprintf("Terminating Jenkins Master Pod %s/%s", currentJenkinsMasterPod.Namespace, currentJenkinsMasterPod.Name))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return r.k8sClient.Delete(context.TODO(), currentJenkinsMasterPod)
|
||||
}
|
||||
|
||||
func (r *ReconcileJenkinsBaseConfiguration) waitForJenkins(meta metav1.ObjectMeta) (reconcile.Result, error) {
|
||||
jenkinsMasterPodStatus, err := r.getJenkinsMasterPod(meta)
|
||||
if err != nil {
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ def Jenkins jenkins = Jenkins.getInstance()
|
|||
|
||||
def seedViewName = 'seed-jobs'
|
||||
def nonSeedViewName = 'non-seed-jobs'
|
||||
def jenkinsViewName = 'jenkins'
|
||||
def jenkinsViewName = '` + constants.OperatorName + `'
|
||||
|
||||
if (jenkins.getView(seedViewName) == null) {
|
||||
def seedView = new ListView(seedViewName)
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import (
|
|||
|
||||
const installPluginsCommand = "install-plugins.sh"
|
||||
|
||||
// bash scripts installs single jenkins plugin with concrete version
|
||||
// bash scripts installs single jenkins plugin with specific version
|
||||
const installPluginsBashFmt = `#!/bin/bash -eu
|
||||
|
||||
# Resolve dependencies and download plugins given on the command line
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ type ReconcileJenkins struct {
|
|||
// 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) {
|
||||
logger := r.buildLogger(request.Name)
|
||||
logger.Info("Reconciling Jenkins")
|
||||
logger.V(log.VDebug).Info("Reconciling Jenkins")
|
||||
|
||||
result, err := r.reconcile(request, logger)
|
||||
if err != nil && errors.IsConflict(err) {
|
||||
|
|
@ -201,6 +201,7 @@ func (r *ReconcileJenkins) setDefaults(jenkins *virtuslabv1alpha1.Jenkins, logge
|
|||
}
|
||||
if len(jenkins.Spec.Backup) == 0 {
|
||||
logger.Info("Setting default backup strategy: " + virtuslabv1alpha1.JenkinsBackupTypeNoBackup)
|
||||
logger.V(log.VWarn).Info("Backup is disable !!! Please configure backup in '.spec.backup'")
|
||||
changed = true
|
||||
jenkins.Spec.Backup = virtuslabv1alpha1.JenkinsBackupTypeNoBackup
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,27 +1,20 @@
|
|||
package plugins
|
||||
|
||||
// BasePlugins returns map of plugins to install by operator
|
||||
func BasePlugins() (plugins map[string][]string) {
|
||||
plugins = map[string][]string{}
|
||||
|
||||
for rootPluginName, dependentPlugins := range BasePluginsMap {
|
||||
plugins[rootPluginName] = []string{}
|
||||
for _, pluginName := range dependentPlugins {
|
||||
plugins[rootPluginName] = append(plugins[rootPluginName], pluginName.String())
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
const (
|
||||
// ApacheComponentsClientPlugin is apache-httpcomponents-client-4-api Jenkins plugin with version
|
||||
ApacheComponentsClientPlugin = "apache-httpcomponents-client-4-api:4.5.5-3.0"
|
||||
// Jackson2ADIPlugin is jackson2-api-httpcomponents-client-4-api Jenkins plugin with version
|
||||
Jackson2ADIPlugin = "jackson2-api:2.9.8"
|
||||
)
|
||||
|
||||
// BasePluginsMap contains plugins to install by operator
|
||||
var BasePluginsMap = map[string][]Plugin{
|
||||
Must(New("kubernetes:1.13.8")).String(): {
|
||||
Must(New("apache-httpcomponents-client-4-api:4.5.5-3.0")),
|
||||
Must(New(ApacheComponentsClientPlugin)),
|
||||
Must(New("cloudbees-folder:6.7")),
|
||||
Must(New("credentials:2.1.18")),
|
||||
Must(New("durable-task:1.28")),
|
||||
Must(New("jackson2-api:2.9.8")),
|
||||
Must(New(Jackson2ADIPlugin)),
|
||||
Must(New("kubernetes-credentials:0.4.0")),
|
||||
Must(New("plain-credentials:1.5")),
|
||||
Must(New("structs:1.17")),
|
||||
|
|
@ -38,7 +31,7 @@ var BasePluginsMap = map[string][]Plugin{
|
|||
},
|
||||
Must(New("workflow-aggregator:2.6")).String(): {
|
||||
Must(New("ace-editor:1.1")),
|
||||
Must(New("apache-httpcomponents-client-4-api:4.5.5-3.0")),
|
||||
Must(New(ApacheComponentsClientPlugin)),
|
||||
Must(New("authentication-tokens:1.3")),
|
||||
Must(New("branch-api:2.1.2")),
|
||||
Must(New("cloudbees-folder:6.7")),
|
||||
|
|
@ -51,7 +44,7 @@ var BasePluginsMap = map[string][]Plugin{
|
|||
Must(New("git-client:2.7.6")),
|
||||
Must(New("git-server:1.7")),
|
||||
Must(New("handlebars:1.1.1")),
|
||||
Must(New("jackson2-api:2.9.8")),
|
||||
Must(New(Jackson2ADIPlugin)),
|
||||
Must(New("jquery-detached:1.2.1")),
|
||||
Must(New("jsch:0.1.55")),
|
||||
Must(New("junit:1.26.1")),
|
||||
|
|
@ -88,7 +81,7 @@ var BasePluginsMap = map[string][]Plugin{
|
|||
Must(New("workflow-support:3.0")),
|
||||
},
|
||||
Must(New("git:3.9.1")).String(): {
|
||||
Must(New("apache-httpcomponents-client-4-api:4.5.5-3.0")),
|
||||
Must(New(ApacheComponentsClientPlugin)),
|
||||
Must(New("credentials:2.1.18")),
|
||||
Must(New("display-url-api:2.3.0")),
|
||||
Must(New("git-client:2.7.6")),
|
||||
|
|
@ -114,3 +107,17 @@ var BasePluginsMap = map[string][]Plugin{
|
|||
},
|
||||
Must(New("simple-theme-plugin:0.5.1")).String(): {},
|
||||
}
|
||||
|
||||
// BasePlugins returns map of plugins to install by operator
|
||||
func BasePlugins() (plugins map[string][]string) {
|
||||
plugins = map[string][]string{}
|
||||
|
||||
for rootPluginName, dependentPlugins := range BasePluginsMap {
|
||||
plugins[rootPluginName] = []string{}
|
||||
for _, pluginName := range dependentPlugins {
|
||||
plugins[rootPluginName] = append(plugins[rootPluginName], pluginName.String())
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue