From da17e1a011ce3174d7af5f1763d1791238aff310 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20S=C4=99k?= Date: Tue, 12 Feb 2019 19:50:22 +0100 Subject: [PATCH] Rename virtuslab.com to jenkins.io --- Makefile | 4 +- ...aml => jenkinsio_v1alpha1_jenkins_cr.yaml} | 2 +- ...ml => jenkinsio_v1alpha1_jenkins_crd.yaml} | 4 +- deploy/role.yaml | 2 +- docs/developer-guide.md | 4 +- docs/getting-started.md | 6 +- docs/installation.md | 2 +- ...1.go => addtoscheme_jenkinsio_v1alpha1.go} | 2 +- pkg/apis/jenkinsio/v1alpha1/doc.go | 4 ++ .../v1alpha1/jenkins_types.go | 0 .../v1alpha1/register.go | 6 +- .../v1alpha1/zz_generated.deepcopy.go | 0 pkg/apis/virtuslab/v1alpha1/doc.go | 4 -- pkg/controller/jenkins/backup/aws/s3.go | 10 ++-- pkg/controller/jenkins/backup/aws/s3_test.go | 38 ++++++------ pkg/controller/jenkins/backup/backup.go | 20 +++---- .../jenkins/backup/nobackup/nobackup.go | 10 ++-- .../jenkins/configuration/base/reconcile.go | 8 +-- .../configuration/base/reconcile_test.go | 30 +++++----- .../resources/backup_credentials_secret.go | 6 +- .../resources/base_configuration_configmap.go | 6 +- .../resources/init_configuration_configmap.go | 6 +- .../configuration/base/resources/meta.go | 10 ++-- .../resources/operator_credentials_secret.go | 6 +- .../configuration/base/resources/pod.go | 4 +- .../base/resources/scripts_configmap.go | 6 +- .../resources/user_configuration_configmap.go | 6 +- .../jenkins/configuration/base/validate.go | 10 ++-- .../configuration/base/validate_test.go | 26 ++++----- .../jenkins/configuration/user/reconcile.go | 6 +- .../configuration/user/seedjobs/seedjobs.go | 8 +-- .../user/seedjobs/seedjobs_test.go | 22 +++---- .../jenkins/configuration/user/validate.go | 6 +- .../configuration/user/validate_test.go | 58 +++++++++---------- pkg/controller/jenkins/groovy/groovy.go | 4 +- pkg/controller/jenkins/jenkins_controller.go | 14 ++--- pkg/controller/jenkins/jobs/jobs.go | 44 +++++++------- pkg/controller/jenkins/jobs/jobs_test.go | 48 +++++++-------- test/e2e/aws_s3_backup_test.go | 14 ++--- test/e2e/base_configuration_test.go | 4 +- test/e2e/jenkins.go | 32 +++++----- test/e2e/main_test.go | 8 +-- test/e2e/restart_pod_test.go | 6 +- test/e2e/user_configuration_test.go | 4 +- test/e2e/wait.go | 18 +++--- 45 files changed, 269 insertions(+), 269 deletions(-) rename deploy/crds/{virtuslab_v1alpha1_jenkins_cr.yaml => jenkinsio_v1alpha1_jenkins_cr.yaml} (89%) rename deploy/crds/{virtuslab_v1alpha1_jenkins_crd.yaml => jenkinsio_v1alpha1_jenkins_crd.yaml} (80%) rename pkg/apis/{addtoscheme_virtuslab_v1alpha1.go => addtoscheme_jenkinsio_v1alpha1.go} (77%) create mode 100644 pkg/apis/jenkinsio/v1alpha1/doc.go rename pkg/apis/{virtuslab => jenkinsio}/v1alpha1/jenkins_types.go (100%) rename pkg/apis/{virtuslab => jenkinsio}/v1alpha1/register.go (70%) rename pkg/apis/{virtuslab => jenkinsio}/v1alpha1/zz_generated.deepcopy.go (100%) delete mode 100644 pkg/apis/virtuslab/v1alpha1/doc.go diff --git a/Makefile b/Makefile index 4de7ea7a..969512b7 100644 --- a/Makefile +++ b/Makefile @@ -159,7 +159,7 @@ ifeq ($(ENVIRONMENT),minikube) endif @RUNNING_TESTS=1 go test -parallel=1 "./test/e2e/" -tags "$(BUILDTAGS) cgo" -v -timeout 30m \ - -root=$(CURRENT_DIRECTORY) -kubeconfig=$(HOME)/.kube/config -globalMan deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml -namespacedMan deploy/namespace-init.yaml $(EXTRA_ARGS) + -root=$(CURRENT_DIRECTORY) -kubeconfig=$(HOME)/.kube/config -globalMan deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml -namespacedMan deploy/namespace-init.yaml $(EXTRA_ARGS) .PHONY: vet vet: ## Verifies `go vet` passes @@ -307,7 +307,7 @@ minikube-run: export OPERATOR_NAME = $(NAME) minikube-run: start-minikube ## Run the operator locally and use minikube as Kubernetes cluster, you can use EXTRA_ARGS @echo "+ $@" kubectl config use-context minikube - kubectl apply -f deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml + kubectl apply -f deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml @echo "Watching '$(WATCH_NAMESPACE)' namespace" build/_output/bin/jenkins-operator $(EXTRA_ARGS) diff --git a/deploy/crds/virtuslab_v1alpha1_jenkins_cr.yaml b/deploy/crds/jenkinsio_v1alpha1_jenkins_cr.yaml similarity index 89% rename from deploy/crds/virtuslab_v1alpha1_jenkins_cr.yaml rename to deploy/crds/jenkinsio_v1alpha1_jenkins_cr.yaml index 05c7471b..bf25fa4c 100644 --- a/deploy/crds/virtuslab_v1alpha1_jenkins_cr.yaml +++ b/deploy/crds/jenkinsio_v1alpha1_jenkins_cr.yaml @@ -1,4 +1,4 @@ -apiVersion: virtuslab.com/v1alpha1 +apiVersion: jenkins.io/v1alpha1 kind: Jenkins metadata: name: example diff --git a/deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml b/deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml similarity index 80% rename from deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml rename to deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml index deecc881..64788636 100644 --- a/deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml +++ b/deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml @@ -1,9 +1,9 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - name: jenkins.virtuslab.com + name: jenkins.jenkins.io spec: - group: virtuslab.com + group: jenkins.io names: kind: Jenkins listKind: JenkinsList diff --git a/deploy/role.yaml b/deploy/role.yaml index 03e92daf..a015c65e 100644 --- a/deploy/role.yaml +++ b/deploy/role.yaml @@ -5,7 +5,7 @@ metadata: name: jenkins-operator rules: - apiGroups: - - virtuslab.com + - jenkins.io resources: - '*' verbs: diff --git a/docs/developer-guide.md b/docs/developer-guide.md index c51c7395..75bc5fac 100644 --- a/docs/developer-guide.md +++ b/docs/developer-guide.md @@ -32,7 +32,7 @@ make build && make minikube-run EXTRA_ARGS='--minikube --local' Once minikube and **jenkins-operator** are up and running, apply Jenkins custom resource: ```bash -kubectl apply -f deploy/crds/virtuslab_v1alpha1_jenkins_cr.yaml +kubectl apply -f deploy/crds/jenkinsio_v1alpha1_jenkins_cr.yaml kubectl get jenkins -o yaml kubectl get po ``` @@ -63,7 +63,7 @@ To be able to work with the docker daemon on `minikube` machine run the followin eval $(minikube docker-env) ``` -### When `pkg/apis/virtuslab/v1alpha1/jenkins_types.go` has changed +### When `pkg/apis/jenkinsio/v1alpha1/jenkins_types.go` has changed Run: diff --git a/docs/getting-started.md b/docs/getting-started.md index af3cf51d..de7c29df 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -21,7 +21,7 @@ Once jenkins-operator is up and running let's deploy actual Jenkins instance. Let's use example below: ```bash -apiVersion: virtuslab.com/v1alpha1 +apiVersion: jenkins.io/v1alpha1 kind: Jenkins metadata: name: example @@ -149,7 +149,7 @@ podTemplate(label: label, Jenkins Seed Jobs are configured using `Jenkins.spec.seedJobs` section from your custom resource manifest: ``` -apiVersion: virtuslab.com/v1alpha1 +apiVersion: jenkins.io/v1alpha1 kind: Jenkins metadata: name: example @@ -167,7 +167,7 @@ spec: If your GitHub repository is **private** you have to configure corresponding **privateKey** and Kubernetes Secret: ``` -apiVersion: virtuslab.com/v1alpha1 +apiVersion: jenkins.io/v1alpha1 kind: Jenkins metadata: name: example diff --git a/docs/installation.md b/docs/installation.md index 6f387f72..98507f7f 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -14,7 +14,7 @@ To run **jenkins-operator**, you will need: Install Jenkins Custom Resource Definition: ```bash -kubectl apply -f deploy/crds/virtuslab_v1alpha1_jenkins_crd.yaml +kubectl apply -f deploy/crds/jenkinsio_v1alpha1_jenkins_crd.yaml ``` ## Deploy jenkins-operator diff --git a/pkg/apis/addtoscheme_virtuslab_v1alpha1.go b/pkg/apis/addtoscheme_jenkinsio_v1alpha1.go similarity index 77% rename from pkg/apis/addtoscheme_virtuslab_v1alpha1.go rename to pkg/apis/addtoscheme_jenkinsio_v1alpha1.go index 3485aaac..6133bfcd 100644 --- a/pkg/apis/addtoscheme_virtuslab_v1alpha1.go +++ b/pkg/apis/addtoscheme_jenkinsio_v1alpha1.go @@ -1,7 +1,7 @@ package apis import ( - "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" ) func init() { diff --git a/pkg/apis/jenkinsio/v1alpha1/doc.go b/pkg/apis/jenkinsio/v1alpha1/doc.go new file mode 100644 index 00000000..d3ec8c1d --- /dev/null +++ b/pkg/apis/jenkinsio/v1alpha1/doc.go @@ -0,0 +1,4 @@ +// Package v1alpha1 contains API Schema definitions for the jenkins.io v1alpha1 API group +// +k8s:deepcopy-gen=package,register +// +groupName=jenkins.io +package v1alpha1 diff --git a/pkg/apis/virtuslab/v1alpha1/jenkins_types.go b/pkg/apis/jenkinsio/v1alpha1/jenkins_types.go similarity index 100% rename from pkg/apis/virtuslab/v1alpha1/jenkins_types.go rename to pkg/apis/jenkinsio/v1alpha1/jenkins_types.go diff --git a/pkg/apis/virtuslab/v1alpha1/register.go b/pkg/apis/jenkinsio/v1alpha1/register.go similarity index 70% rename from pkg/apis/virtuslab/v1alpha1/register.go rename to pkg/apis/jenkinsio/v1alpha1/register.go index 92948670..32403ec4 100644 --- a/pkg/apis/virtuslab/v1alpha1/register.go +++ b/pkg/apis/jenkinsio/v1alpha1/register.go @@ -1,8 +1,8 @@ // NOTE: Boilerplate only. Ignore this file. -// Package v1alpha1 contains API Schema definitions for the virtuslab v1alpha1 API group +// Package v1alpha1 contains API Schema definitions for the jenkins.io v1alpha1 API group // +k8s:deepcopy-gen=package,register -// +groupName=virtuslab.com +// +groupName=jenkins.io package v1alpha1 import ( @@ -17,7 +17,7 @@ const ( var ( // SchemeGroupVersion is group version used to register these objects - SchemeGroupVersion = schema.GroupVersion{Group: "virtuslab.com", Version: "v1alpha1"} + SchemeGroupVersion = schema.GroupVersion{Group: "jenkins.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} diff --git a/pkg/apis/virtuslab/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from pkg/apis/virtuslab/v1alpha1/zz_generated.deepcopy.go rename to pkg/apis/jenkinsio/v1alpha1/zz_generated.deepcopy.go diff --git a/pkg/apis/virtuslab/v1alpha1/doc.go b/pkg/apis/virtuslab/v1alpha1/doc.go deleted file mode 100644 index 2b8825d0..00000000 --- a/pkg/apis/virtuslab/v1alpha1/doc.go +++ /dev/null @@ -1,4 +0,0 @@ -// Package v1alpha1 contains API Schema definitions for the virtuslab v1alpha1 API group -// +k8s:deepcopy-gen=package,register -// +groupName=virtuslab.com -package v1alpha1 diff --git a/pkg/controller/jenkins/backup/aws/s3.go b/pkg/controller/jenkins/backup/aws/s3.go index 619c2012..c307ed8c 100644 --- a/pkg/controller/jenkins/backup/aws/s3.go +++ b/pkg/controller/jenkins/backup/aws/s3.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" @@ -21,7 +21,7 @@ import ( type AmazonS3Backup struct{} // GetRestoreJobXML returns Jenkins restore backup job config XML -func (b *AmazonS3Backup) GetRestoreJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) { +func (b *AmazonS3Backup) GetRestoreJobXML(jenkins v1alpha1.Jenkins) (string, error) { return ` @@ -106,7 +106,7 @@ node('master') { } // GetBackupJobXML returns Jenkins backup job config XML -func (b *AmazonS3Backup) GetBackupJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) { +func (b *AmazonS3Backup) GetBackupJobXML(jenkins v1alpha1.Jenkins) (string, error) { return ` @@ -188,7 +188,7 @@ node('master') { } // IsConfigurationValidForBasePhase validates if user provided valid configuration of backup for base phase -func (b *AmazonS3Backup) IsConfigurationValidForBasePhase(jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) bool { +func (b *AmazonS3Backup) IsConfigurationValidForBasePhase(jenkins v1alpha1.Jenkins, logger logr.Logger) bool { if len(jenkins.Spec.BackupAmazonS3.BucketName) == 0 { logger.V(log.VWarn).Info("Bucket name not set in 'spec.backupAmazonS3.bucketName'") return false @@ -208,7 +208,7 @@ func (b *AmazonS3Backup) IsConfigurationValidForBasePhase(jenkins virtuslabv1alp } // IsConfigurationValidForUserPhase validates if user provided valid configuration of backup for user phase -func (b *AmazonS3Backup) IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) (bool, error) { +func (b *AmazonS3Backup) IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins v1alpha1.Jenkins, logger logr.Logger) (bool, error) { backupSecretName := resources.GetBackupCredentialsSecretName(&jenkins) backupSecret := &corev1.Secret{} err := k8sClient.Get(context.TODO(), types.NamespacedName{Namespace: jenkins.Namespace, Name: backupSecretName}, backupSecret) diff --git a/pkg/controller/jenkins/backup/aws/s3_test.go b/pkg/controller/jenkins/backup/aws/s3_test.go index 64104b77..c8443e31 100644 --- a/pkg/controller/jenkins/backup/aws/s3_test.go +++ b/pkg/controller/jenkins/backup/aws/s3_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" "github.com/stretchr/testify/assert" @@ -17,14 +17,14 @@ import ( func TestAmazonS3Backup_IsConfigurationValidForBasePhase(t *testing.T) { tests := []struct { name string - jenkins virtuslabv1alpha1.Jenkins + jenkins v1alpha1.Jenkins want bool }{ { name: "happy", - jenkins: virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - BackupAmazonS3: virtuslabv1alpha1.JenkinsBackupAmazonS3{ + jenkins: v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + BackupAmazonS3: v1alpha1.JenkinsBackupAmazonS3{ BucketName: "some-value", BucketPath: "some-value", Region: "some-value", @@ -35,9 +35,9 @@ func TestAmazonS3Backup_IsConfigurationValidForBasePhase(t *testing.T) { }, { name: "fail, no bucket name", - jenkins: virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - BackupAmazonS3: virtuslabv1alpha1.JenkinsBackupAmazonS3{ + jenkins: v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + BackupAmazonS3: v1alpha1.JenkinsBackupAmazonS3{ BucketName: "", BucketPath: "some-value", Region: "some-value", @@ -48,9 +48,9 @@ func TestAmazonS3Backup_IsConfigurationValidForBasePhase(t *testing.T) { }, { name: "fail, no bucket path", - jenkins: virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - BackupAmazonS3: virtuslabv1alpha1.JenkinsBackupAmazonS3{ + jenkins: v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + BackupAmazonS3: v1alpha1.JenkinsBackupAmazonS3{ BucketName: "some-value", BucketPath: "", Region: "some-value", @@ -61,9 +61,9 @@ func TestAmazonS3Backup_IsConfigurationValidForBasePhase(t *testing.T) { }, { name: "fail, no region", - jenkins: virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - BackupAmazonS3: virtuslabv1alpha1.JenkinsBackupAmazonS3{ + jenkins: v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + BackupAmazonS3: v1alpha1.JenkinsBackupAmazonS3{ BucketName: "some-value", BucketPath: "some-value", Region: "", @@ -85,14 +85,14 @@ func TestAmazonS3Backup_IsConfigurationValidForBasePhase(t *testing.T) { func TestAmazonS3Backup_IsConfigurationValidForUserPhase(t *testing.T) { tests := []struct { name string - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins secret *corev1.Secret want bool wantErr bool }{ { name: "happy", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, }, secret: &corev1.Secret{ @@ -107,7 +107,7 @@ func TestAmazonS3Backup_IsConfigurationValidForUserPhase(t *testing.T) { }, { name: "fail, no secret", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, }, want: false, @@ -115,7 +115,7 @@ func TestAmazonS3Backup_IsConfigurationValidForUserPhase(t *testing.T) { }, { name: "fail, no secret key in secret", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, }, secret: &corev1.Secret{ @@ -130,7 +130,7 @@ func TestAmazonS3Backup_IsConfigurationValidForUserPhase(t *testing.T) { }, { name: "fail, no access key in secret", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, }, secret: &corev1.Secret{ diff --git a/pkg/controller/jenkins/backup/backup.go b/pkg/controller/jenkins/backup/backup.go index 00caf376..83a080e4 100644 --- a/pkg/controller/jenkins/backup/backup.go +++ b/pkg/controller/jenkins/backup/backup.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup/aws" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup/nobackup" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" @@ -26,23 +26,23 @@ const ( // Provider defines API of backup providers type Provider interface { - GetRestoreJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) - GetBackupJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) - IsConfigurationValidForBasePhase(jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) bool - IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) (bool, error) + GetRestoreJobXML(jenkins v1alpha1.Jenkins) (string, error) + GetBackupJobXML(jenkins v1alpha1.Jenkins) (string, error) + IsConfigurationValidForBasePhase(jenkins v1alpha1.Jenkins, logger logr.Logger) bool + IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins v1alpha1.Jenkins, logger logr.Logger) (bool, error) GetRequiredPlugins() map[string][]plugins.Plugin } // Backup defines backup manager which is responsible of backup of jobs history type Backup struct { - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins k8sClient k8s.Client logger logr.Logger jenkinsClient jenkinsclient.Jenkins } // New returns instance of backup manager -func New(jenkins *virtuslabv1alpha1.Jenkins, k8sClient k8s.Client, logger logr.Logger, jenkinsClient jenkinsclient.Jenkins) *Backup { +func New(jenkins *v1alpha1.Jenkins, k8sClient k8s.Client, logger logr.Logger, jenkinsClient jenkinsclient.Jenkins) *Backup { return &Backup{jenkins: jenkins, k8sClient: k8sClient, logger: logger, jenkinsClient: jenkinsClient} } @@ -127,11 +127,11 @@ func (b *Backup) EnsureBackupJob() error { } // GetBackupProvider returns backup provider by type -func GetBackupProvider(backupType virtuslabv1alpha1.JenkinsBackup) (Provider, error) { +func GetBackupProvider(backupType v1alpha1.JenkinsBackup) (Provider, error) { switch backupType { - case virtuslabv1alpha1.JenkinsBackupTypeNoBackup: + case v1alpha1.JenkinsBackupTypeNoBackup: return &nobackup.NoBackup{}, nil - case virtuslabv1alpha1.JenkinsBackupTypeAmazonS3: + case v1alpha1.JenkinsBackupTypeAmazonS3: return &aws.AmazonS3Backup{}, nil default: return nil, errors.Errorf("Invalid BackupManager type '%s'", backupType) diff --git a/pkg/controller/jenkins/backup/nobackup/nobackup.go b/pkg/controller/jenkins/backup/nobackup/nobackup.go index ded47c5b..7885cdea 100644 --- a/pkg/controller/jenkins/backup/nobackup/nobackup.go +++ b/pkg/controller/jenkins/backup/nobackup/nobackup.go @@ -1,7 +1,7 @@ package nobackup import ( - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" "github.com/go-logr/logr" @@ -27,22 +27,22 @@ var emptyJob = ` ` // GetRestoreJobXML returns Jenkins restore backup job config XML -func (b *NoBackup) GetRestoreJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) { +func (b *NoBackup) GetRestoreJobXML(jenkins v1alpha1.Jenkins) (string, error) { return emptyJob, nil } // GetBackupJobXML returns Jenkins backup job config XML -func (b *NoBackup) GetBackupJobXML(jenkins virtuslabv1alpha1.Jenkins) (string, error) { +func (b *NoBackup) GetBackupJobXML(jenkins v1alpha1.Jenkins) (string, error) { return emptyJob, nil } // IsConfigurationValidForBasePhase validates if user provided valid configuration of backup for base phase -func (b *NoBackup) IsConfigurationValidForBasePhase(jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) bool { +func (b *NoBackup) IsConfigurationValidForBasePhase(jenkins v1alpha1.Jenkins, logger logr.Logger) bool { return true } // IsConfigurationValidForUserPhase validates if user provided valid configuration of backup for user phase -func (b *NoBackup) IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins virtuslabv1alpha1.Jenkins, logger logr.Logger) (bool, error) { +func (b *NoBackup) IsConfigurationValidForUserPhase(k8sClient k8s.Client, jenkins v1alpha1.Jenkins, logger logr.Logger) (bool, error) { return true, nil } diff --git a/pkg/controller/jenkins/configuration/base/reconcile.go b/pkg/controller/jenkins/configuration/base/reconcile.go index 4227ee10..9baff75b 100644 --- a/pkg/controller/jenkins/configuration/base/reconcile.go +++ b/pkg/controller/jenkins/configuration/base/reconcile.go @@ -6,7 +6,7 @@ import ( "reflect" "time" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" @@ -36,13 +36,13 @@ type ReconcileJenkinsBaseConfiguration struct { k8sClient client.Client scheme *runtime.Scheme logger logr.Logger - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins local, minikube bool } // New create structure which takes care of base configuration func New(client client.Client, scheme *runtime.Scheme, logger logr.Logger, - jenkins *virtuslabv1alpha1.Jenkins, local, minikube bool) *ReconcileJenkinsBaseConfiguration { + jenkins *v1alpha1.Jenkins, local, minikube bool) *ReconcileJenkinsBaseConfiguration { return &ReconcileJenkinsBaseConfiguration{ k8sClient: client, scheme: scheme, @@ -305,7 +305,7 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureJenkinsMasterPod(meta metav1.O if err != nil { return reconcile.Result{}, err } - r.jenkins.Status = virtuslabv1alpha1.JenkinsStatus{} + r.jenkins.Status = v1alpha1.JenkinsStatus{} err = r.updateResource(r.jenkins) if err != nil { return reconcile.Result{}, err diff --git a/pkg/controller/jenkins/configuration/base/reconcile_test.go b/pkg/controller/jenkins/configuration/base/reconcile_test.go index a5e46dd5..f4744683 100644 --- a/pkg/controller/jenkins/configuration/base/reconcile_test.go +++ b/pkg/controller/jenkins/configuration/base/reconcile_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" "github.com/stretchr/testify/assert" @@ -17,16 +17,16 @@ import ( func TestReconcileJenkinsBaseConfiguration_ensurePluginsRequiredByAllBackupProviders(t *testing.T) { tests := []struct { name string - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins requiredPlugins map[string][]plugins.Plugin want reconcile.Result wantErr bool }{ { name: "happy, no required plugins", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Plugins: map[string][]string{ "first-plugin:0.0.1": {"second-plugin:0.0.1"}, }, @@ -38,9 +38,9 @@ func TestReconcileJenkinsBaseConfiguration_ensurePluginsRequiredByAllBackupProvi }, { name: "happy, required plugins are set", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Plugins: map[string][]string{ "first-plugin:0.0.1": {"second-plugin:0.0.1"}, }, @@ -55,9 +55,9 @@ func TestReconcileJenkinsBaseConfiguration_ensurePluginsRequiredByAllBackupProvi }, { name: "happy, jenkins CR must be updated", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Plugins: map[string][]string{ "first-plugin:0.0.1": {"second-plugin:0.0.1"}, }, @@ -73,9 +73,9 @@ func TestReconcileJenkinsBaseConfiguration_ensurePluginsRequiredByAllBackupProvi }, { name: "happy, jenkins CR must be updated", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Plugins: map[string][]string{ "first-plugin:0.0.1": {"second-plugin:0.0.1"}, }, @@ -92,7 +92,7 @@ func TestReconcileJenkinsBaseConfiguration_ensurePluginsRequiredByAllBackupProvi } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - err := virtuslabv1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) + err := v1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) assert.NoError(t, err) r := &ReconcileJenkinsBaseConfiguration{ k8sClient: fake.NewFakeClient(), diff --git a/pkg/controller/jenkins/configuration/base/resources/backup_credentials_secret.go b/pkg/controller/jenkins/configuration/base/resources/backup_credentials_secret.go index 70cf707a..f024222e 100644 --- a/pkg/controller/jenkins/configuration/base/resources/backup_credentials_secret.go +++ b/pkg/controller/jenkins/configuration/base/resources/backup_credentials_secret.go @@ -3,7 +3,7 @@ package resources import ( "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" corev1 "k8s.io/api/core/v1" @@ -11,12 +11,12 @@ import ( ) // GetBackupCredentialsSecretName returns name of Kubernetes secret used to store backup credentials -func GetBackupCredentialsSecretName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetBackupCredentialsSecretName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-backup-credentials-%s", constants.OperatorName, jenkins.Name) } // NewBackupCredentialsSecret builds the Kubernetes secret used to store backup credentials -func NewBackupCredentialsSecret(jenkins *virtuslabv1alpha1.Jenkins) *corev1.Secret { +func NewBackupCredentialsSecret(jenkins *v1alpha1.Jenkins) *corev1.Secret { meta := metav1.ObjectMeta{ Name: GetBackupCredentialsSecretName(jenkins), Namespace: jenkins.ObjectMeta.Namespace, diff --git a/pkg/controller/jenkins/configuration/base/resources/base_configuration_configmap.go b/pkg/controller/jenkins/configuration/base/resources/base_configuration_configmap.go index 36e85021..b02d5099 100644 --- a/pkg/controller/jenkins/configuration/base/resources/base_configuration_configmap.go +++ b/pkg/controller/jenkins/configuration/base/resources/base_configuration_configmap.go @@ -3,7 +3,7 @@ package resources import ( "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" corev1 "k8s.io/api/core/v1" @@ -162,12 +162,12 @@ jenkins.save() ` // GetBaseConfigurationConfigMapName returns name of Kubernetes config map used to base configuration -func GetBaseConfigurationConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetBaseConfigurationConfigMapName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-base-configuration-%s", constants.OperatorName, jenkins.ObjectMeta.Name) } // NewBaseConfigurationConfigMap builds Kubernetes config map used to base configuration -func NewBaseConfigurationConfigMap(meta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) (*corev1.ConfigMap, error) { +func NewBaseConfigurationConfigMap(meta metav1.ObjectMeta, jenkins *v1alpha1.Jenkins) (*corev1.ConfigMap, error) { meta.Name = GetBaseConfigurationConfigMapName(jenkins) return &corev1.ConfigMap{ diff --git a/pkg/controller/jenkins/configuration/base/resources/init_configuration_configmap.go b/pkg/controller/jenkins/configuration/base/resources/init_configuration_configmap.go index 8d5dff0f..216301d5 100644 --- a/pkg/controller/jenkins/configuration/base/resources/init_configuration_configmap.go +++ b/pkg/controller/jenkins/configuration/base/resources/init_configuration_configmap.go @@ -5,7 +5,7 @@ import ( "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" "text/template" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -50,12 +50,12 @@ func buildCreateJenkinsOperatorUserGroovyScript() (*string, error) { } // GetInitConfigurationConfigMapName returns name of Kubernetes config map used to init configuration -func GetInitConfigurationConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetInitConfigurationConfigMapName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-init-configuration-%s", constants.OperatorName, jenkins.ObjectMeta.Name) } // NewInitConfigurationConfigMap builds Kubernetes config map used to init configuration -func NewInitConfigurationConfigMap(meta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) (*corev1.ConfigMap, error) { +func NewInitConfigurationConfigMap(meta metav1.ObjectMeta, jenkins *v1alpha1.Jenkins) (*corev1.ConfigMap, error) { meta.Name = GetInitConfigurationConfigMapName(jenkins) createJenkinsOperatorUserGroovy, err := buildCreateJenkinsOperatorUserGroovyScript() diff --git a/pkg/controller/jenkins/configuration/base/resources/meta.go b/pkg/controller/jenkins/configuration/base/resources/meta.go index b7fd4b17..5db914df 100644 --- a/pkg/controller/jenkins/configuration/base/resources/meta.go +++ b/pkg/controller/jenkins/configuration/base/resources/meta.go @@ -3,14 +3,14 @@ package resources import ( "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // NewResourceObjectMeta builds ObjectMeta for all Kubernetes resources created by operator -func NewResourceObjectMeta(jenkins *virtuslabv1alpha1.Jenkins) metav1.ObjectMeta { +func NewResourceObjectMeta(jenkins *v1alpha1.Jenkins) metav1.ObjectMeta { return metav1.ObjectMeta{ Name: GetResourceName(jenkins), Namespace: jenkins.ObjectMeta.Namespace, @@ -19,7 +19,7 @@ func NewResourceObjectMeta(jenkins *virtuslabv1alpha1.Jenkins) metav1.ObjectMeta } // BuildResourceLabels returns labels for all Kubernetes resources created by operator -func BuildResourceLabels(jenkins *virtuslabv1alpha1.Jenkins) map[string]string { +func BuildResourceLabels(jenkins *v1alpha1.Jenkins) map[string]string { return map[string]string{ constants.LabelAppKey: constants.LabelAppValue, constants.LabelJenkinsCRKey: jenkins.Name, @@ -29,7 +29,7 @@ func BuildResourceLabels(jenkins *virtuslabv1alpha1.Jenkins) map[string]string { // BuildLabelsForWatchedResources returns labels for Kubernetes resources which operator want to watch // resources with that labels should not be deleted after Jenkins CR deletion, to prevent this situation don't set // any owner -func BuildLabelsForWatchedResources(jenkins *virtuslabv1alpha1.Jenkins) map[string]string { +func BuildLabelsForWatchedResources(jenkins *v1alpha1.Jenkins) map[string]string { return map[string]string{ constants.LabelAppKey: constants.LabelAppValue, constants.LabelJenkinsCRKey: jenkins.Name, @@ -38,6 +38,6 @@ func BuildLabelsForWatchedResources(jenkins *virtuslabv1alpha1.Jenkins) map[stri } // GetResourceName returns name of Kubernetes resource base on Jenkins CR -func GetResourceName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetResourceName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-%s", constants.LabelAppValue, jenkins.ObjectMeta.Name) } diff --git a/pkg/controller/jenkins/configuration/base/resources/operator_credentials_secret.go b/pkg/controller/jenkins/configuration/base/resources/operator_credentials_secret.go index 895d9367..bee6f798 100644 --- a/pkg/controller/jenkins/configuration/base/resources/operator_credentials_secret.go +++ b/pkg/controller/jenkins/configuration/base/resources/operator_credentials_secret.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -32,13 +32,13 @@ func buildSecretTypeMeta() metav1.TypeMeta { // GetOperatorCredentialsSecretName returns name of Kubernetes secret used to store jenkins operator credentials // to allow calls to Jenkins API -func GetOperatorCredentialsSecretName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetOperatorCredentialsSecretName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-credentials-%s", constants.OperatorName, jenkins.Name) } // NewOperatorCredentialsSecret builds the Kubernetes secret used to store jenkins operator credentials // to allow calls to Jenkins API -func NewOperatorCredentialsSecret(meta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) *corev1.Secret { +func NewOperatorCredentialsSecret(meta metav1.ObjectMeta, jenkins *v1alpha1.Jenkins) *corev1.Secret { meta.Name = GetOperatorCredentialsSecretName(jenkins) return &corev1.Secret{ TypeMeta: buildSecretTypeMeta(), diff --git a/pkg/controller/jenkins/configuration/base/resources/pod.go b/pkg/controller/jenkins/configuration/base/resources/pod.go index 9b544ab5..37d968b9 100644 --- a/pkg/controller/jenkins/configuration/base/resources/pod.go +++ b/pkg/controller/jenkins/configuration/base/resources/pod.go @@ -2,7 +2,7 @@ package resources import ( "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -58,7 +58,7 @@ func buildPodTypeMeta() metav1.TypeMeta { } // NewJenkinsMasterPod builds Jenkins Master Kubernetes Pod resource -func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) *corev1.Pod { +func NewJenkinsMasterPod(objectMeta metav1.ObjectMeta, jenkins *v1alpha1.Jenkins) *corev1.Pod { initialDelaySeconds := int32(30) timeoutSeconds := int32(5) failureThreshold := int32(12) diff --git a/pkg/controller/jenkins/configuration/base/resources/scripts_configmap.go b/pkg/controller/jenkins/configuration/base/resources/scripts_configmap.go index 5e1ae545..4f7a6ae7 100644 --- a/pkg/controller/jenkins/configuration/base/resources/scripts_configmap.go +++ b/pkg/controller/jenkins/configuration/base/resources/scripts_configmap.go @@ -4,7 +4,7 @@ import ( "fmt" "text/template" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" corev1 "k8s.io/api/core/v1" @@ -358,12 +358,12 @@ func buildInitBashScript(pluginsToInstall map[string][]string) (*string, error) return &output, nil } -func getScriptsConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) string { +func getScriptsConfigMapName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-scripts-%s", constants.OperatorName, jenkins.ObjectMeta.Name) } // NewScriptsConfigMap builds Kubernetes config map used to store scripts -func NewScriptsConfigMap(meta metav1.ObjectMeta, jenkins *virtuslabv1alpha1.Jenkins) (*corev1.ConfigMap, error) { +func NewScriptsConfigMap(meta metav1.ObjectMeta, jenkins *v1alpha1.Jenkins) (*corev1.ConfigMap, error) { meta.Name = getScriptsConfigMapName(jenkins) initBashScript, err := buildInitBashScript(jenkins.Spec.Master.Plugins) 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 2e66a0ce..1c09996b 100644 --- a/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go +++ b/pkg/controller/jenkins/configuration/base/resources/user_configuration_configmap.go @@ -3,7 +3,7 @@ package resources import ( "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" corev1 "k8s.io/api/core/v1" @@ -33,12 +33,12 @@ jenkins.save() ` // GetUserConfigurationConfigMapName returns name of Kubernetes config map used to user configuration -func GetUserConfigurationConfigMapName(jenkins *virtuslabv1alpha1.Jenkins) string { +func GetUserConfigurationConfigMapName(jenkins *v1alpha1.Jenkins) string { return fmt.Sprintf("%s-user-configuration-%s", constants.OperatorName, jenkins.ObjectMeta.Name) } // NewUserConfigurationConfigMap builds Kubernetes config map used to user configuration -func NewUserConfigurationConfigMap(jenkins *virtuslabv1alpha1.Jenkins) *corev1.ConfigMap { +func NewUserConfigurationConfigMap(jenkins *v1alpha1.Jenkins) *corev1.ConfigMap { meta := metav1.ObjectMeta{ Name: GetUserConfigurationConfigMapName(jenkins), Namespace: jenkins.ObjectMeta.Namespace, diff --git a/pkg/controller/jenkins/configuration/base/validate.go b/pkg/controller/jenkins/configuration/base/validate.go index a1a60c7d..2840bbe7 100644 --- a/pkg/controller/jenkins/configuration/base/validate.go +++ b/pkg/controller/jenkins/configuration/base/validate.go @@ -5,7 +5,7 @@ import ( "fmt" "regexp" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" @@ -22,7 +22,7 @@ var ( ) // Validate validates Jenkins CR Spec.master section -func (r *ReconcileJenkinsBaseConfiguration) Validate(jenkins *virtuslabv1alpha1.Jenkins) (bool, error) { +func (r *ReconcileJenkinsBaseConfiguration) Validate(jenkins *v1alpha1.Jenkins) (bool, error) { if jenkins.Spec.Master.Image == "" { r.logger.V(log.VWarn).Info("Image not set") return false, nil @@ -92,7 +92,7 @@ func (r *ReconcileJenkinsBaseConfiguration) verifyBackup() (bool, error) { } valid := false - for _, backupType := range virtuslabv1alpha1.AllowedJenkinsBackups { + for _, backupType := range v1alpha1.AllowedJenkinsBackups { if r.jenkins.Spec.Backup == backupType { valid = true } @@ -100,11 +100,11 @@ func (r *ReconcileJenkinsBaseConfiguration) verifyBackup() (bool, error) { if !valid { r.logger.V(log.VWarn).Info(fmt.Sprintf("Invalid backup strategy '%s'", r.jenkins.Spec.Backup)) - r.logger.V(log.VWarn).Info(fmt.Sprintf("Allowed backups '%+v'", virtuslabv1alpha1.AllowedJenkinsBackups)) + r.logger.V(log.VWarn).Info(fmt.Sprintf("Allowed backups '%+v'", v1alpha1.AllowedJenkinsBackups)) return false, nil } - if r.jenkins.Spec.Backup == virtuslabv1alpha1.JenkinsBackupTypeNoBackup { + if r.jenkins.Spec.Backup == v1alpha1.JenkinsBackupTypeNoBackup { return true, nil } diff --git a/pkg/controller/jenkins/configuration/base/validate_test.go b/pkg/controller/jenkins/configuration/base/validate_test.go index 7243b53e..e5c837a2 100644 --- a/pkg/controller/jenkins/configuration/base/validate_test.go +++ b/pkg/controller/jenkins/configuration/base/validate_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" @@ -66,17 +66,17 @@ func TestValidatePlugins(t *testing.T) { func TestReconcileJenkinsBaseConfiguration_verifyBackup(t *testing.T) { tests := []struct { name string - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins secret *corev1.Secret want bool wantErr bool }{ { name: "happy, no backup", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Backup: virtuslabv1alpha1.JenkinsBackupTypeNoBackup, + Spec: v1alpha1.JenkinsSpec{ + Backup: v1alpha1.JenkinsBackupTypeNoBackup, }, }, want: true, @@ -84,10 +84,10 @@ func TestReconcileJenkinsBaseConfiguration_verifyBackup(t *testing.T) { }, { name: "happy", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Backup: virtuslabv1alpha1.JenkinsBackupTypeAmazonS3, + Spec: v1alpha1.JenkinsSpec{ + Backup: v1alpha1.JenkinsBackupTypeAmazonS3, }, }, secret: &corev1.Secret{ @@ -98,10 +98,10 @@ func TestReconcileJenkinsBaseConfiguration_verifyBackup(t *testing.T) { }, { name: "fail, no secret", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Backup: virtuslabv1alpha1.JenkinsBackupTypeAmazonS3, + Spec: v1alpha1.JenkinsSpec{ + Backup: v1alpha1.JenkinsBackupTypeAmazonS3, }, }, want: false, @@ -109,9 +109,9 @@ func TestReconcileJenkinsBaseConfiguration_verifyBackup(t *testing.T) { }, { name: "fail, empty backup type", - jenkins: &virtuslabv1alpha1.Jenkins{ + jenkins: &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{Namespace: "namespace-name", Name: "jenkins-cr-name"}, - Spec: virtuslabv1alpha1.JenkinsSpec{ + Spec: v1alpha1.JenkinsSpec{ Backup: "", }, }, diff --git a/pkg/controller/jenkins/configuration/user/reconcile.go b/pkg/controller/jenkins/configuration/user/reconcile.go index 22b3b759..07e7ee1b 100644 --- a/pkg/controller/jenkins/configuration/user/reconcile.go +++ b/pkg/controller/jenkins/configuration/user/reconcile.go @@ -4,7 +4,7 @@ import ( "context" "time" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" @@ -25,12 +25,12 @@ type ReconcileUserConfiguration struct { k8sClient k8s.Client jenkinsClient jenkinsclient.Jenkins logger logr.Logger - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins } // New create structure which takes care of user configuration func New(k8sClient k8s.Client, jenkinsClient jenkinsclient.Jenkins, logger logr.Logger, - jenkins *virtuslabv1alpha1.Jenkins) *ReconcileUserConfiguration { + jenkins *v1alpha1.Jenkins) *ReconcileUserConfiguration { return &ReconcileUserConfiguration{ k8sClient: k8sClient, jenkinsClient: jenkinsClient, diff --git a/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs.go b/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs.go index 9511ae02..e4c4ed70 100644 --- a/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs.go +++ b/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs.go @@ -6,7 +6,7 @@ import ( "encoding/base64" "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/jobs" @@ -47,7 +47,7 @@ func New(jenkinsClient jenkinsclient.Jenkins, k8sClient k8s.Client, logger logr. } // EnsureSeedJobs configures seed job and runs it for every entry from Jenkins.Spec.SeedJobs -func (s *SeedJobs) EnsureSeedJobs(jenkins *virtuslabv1alpha1.Jenkins) (done bool, err error) { +func (s *SeedJobs) EnsureSeedJobs(jenkins *v1alpha1.Jenkins) (done bool, err error) { err = s.createJob() if err != nil { s.logger.V(log.VWarn).Info("Couldn't create jenkins seed job") @@ -74,7 +74,7 @@ func (s *SeedJobs) createJob() error { } // buildJobs is responsible for running jenkins builds which configures jenkins seed jobs and deploy keys -func (s *SeedJobs) buildJobs(jenkins *virtuslabv1alpha1.Jenkins) (done bool, err error) { +func (s *SeedJobs) buildJobs(jenkins *v1alpha1.Jenkins) (done bool, err error) { allDone := true seedJobs := jenkins.Spec.SeedJobs for _, seedJob := range seedJobs { @@ -113,7 +113,7 @@ func (s *SeedJobs) buildJobs(jenkins *virtuslabv1alpha1.Jenkins) (done bool, err } // privateKeyFromSecret it's utility function which extracts deploy key from the kubernetes secret -func (s *SeedJobs) privateKeyFromSecret(namespace string, seedJob virtuslabv1alpha1.SeedJob) (string, error) { +func (s *SeedJobs) privateKeyFromSecret(namespace string, seedJob v1alpha1.SeedJob) (string, error) { if seedJob.PrivateKey.SecretKeyRef != nil { deployKeySecret := &v1.Secret{} namespaceName := types.NamespacedName{Namespace: namespace, Name: seedJob.PrivateKey.SecretKeyRef.Name} diff --git a/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs_test.go b/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs_test.go index a35bac93..34e35214 100644 --- a/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs_test.go +++ b/pkg/controller/jenkins/configuration/user/seedjobs/seedjobs_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/bndr/gojenkins" @@ -29,7 +29,7 @@ func TestEnsureSeedJobs(t *testing.T) { jenkinsClient := client.NewMockJenkins(ctrl) fakeClient := fake.NewFakeClient() - err := virtuslabv1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) + err := v1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) assert.NoError(t, err) jenkins := jenkinsCustomResource() @@ -76,7 +76,7 @@ func TestEnsureSeedJobs(t *testing.T) { GetBuild(ConfigureSeedJobsName, gomock.Any()). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildSuccessStatus), + Result: string(v1alpha1.BuildSuccessStatus), }, }, nil) } @@ -99,26 +99,26 @@ func TestEnsureSeedJobs(t *testing.T) { // first run - should create job and schedule build if reconcileAttempt == 1 { assert.False(t, done) - assert.Equal(t, string(virtuslabv1alpha1.BuildRunningStatus), string(build.Status)) + assert.Equal(t, string(v1alpha1.BuildRunningStatus), string(build.Status)) } // second run - should update and finish job if reconcileAttempt == 2 { assert.True(t, done) - assert.Equal(t, string(virtuslabv1alpha1.BuildSuccessStatus), string(build.Status)) + assert.Equal(t, string(v1alpha1.BuildSuccessStatus), string(build.Status)) } } } -func jenkinsCustomResource() *virtuslabv1alpha1.Jenkins { - return &virtuslabv1alpha1.Jenkins{ +func jenkinsCustomResource() *v1alpha1.Jenkins { + return &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{ Name: "jenkins", Namespace: "default", }, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Image: "jenkins/jenkins", Annotations: map[string]string{"test": "label"}, Resources: corev1.ResourceRequirements{ @@ -132,13 +132,13 @@ func jenkinsCustomResource() *virtuslabv1alpha1.Jenkins { }, }, }, - SeedJobs: []virtuslabv1alpha1.SeedJob{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", }, }, }, diff --git a/pkg/controller/jenkins/configuration/user/validate.go b/pkg/controller/jenkins/configuration/user/validate.go index f734f606..c7ccda1e 100644 --- a/pkg/controller/jenkins/configuration/user/validate.go +++ b/pkg/controller/jenkins/configuration/user/validate.go @@ -8,7 +8,7 @@ import ( "fmt" "strings" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/backup" "github.com/jenkinsci/kubernetes-operator/pkg/log" @@ -18,7 +18,7 @@ import ( ) // Validate validates Jenkins CR Spec section -func (r *ReconcileUserConfiguration) Validate(jenkins *virtuslabv1alpha1.Jenkins) (bool, error) { +func (r *ReconcileUserConfiguration) Validate(jenkins *v1alpha1.Jenkins) (bool, error) { valid, err := r.validateSeedJobs(jenkins) if !valid || err != nil { return valid, err @@ -32,7 +32,7 @@ func (r *ReconcileUserConfiguration) Validate(jenkins *virtuslabv1alpha1.Jenkins return backupProvider.IsConfigurationValidForUserPhase(r.k8sClient, *r.jenkins, r.logger) } -func (r *ReconcileUserConfiguration) validateSeedJobs(jenkins *virtuslabv1alpha1.Jenkins) (bool, error) { +func (r *ReconcileUserConfiguration) validateSeedJobs(jenkins *v1alpha1.Jenkins) (bool, error) { valid := true if jenkins.Spec.SeedJobs != nil { for _, seedJob := range jenkins.Spec.SeedJobs { diff --git a/pkg/controller/jenkins/configuration/user/validate_test.go b/pkg/controller/jenkins/configuration/user/validate_test.go index 703f6f6d..6c8c2324 100644 --- a/pkg/controller/jenkins/configuration/user/validate_test.go +++ b/pkg/controller/jenkins/configuration/user/validate_test.go @@ -5,7 +5,7 @@ import ( "fmt" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/stretchr/testify/assert" corev1 "k8s.io/api/core/v1" @@ -52,21 +52,21 @@ SwiLd8TWAvXkxdXm8fDOGAZbYK2alMV+M+9E2OpZsBUCxmb/3FAofF6JccKoJOH8 func TestValidateSeedJobs(t *testing.T) { data := []struct { description string - jenkins *virtuslabv1alpha1.Jenkins + jenkins *v1alpha1.Jenkins secret *corev1.Secret expectedResult bool }{ { description: "Valid with public repository and without private key", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", }, }, }, @@ -75,14 +75,14 @@ func TestValidateSeedJobs(t *testing.T) { }, { description: "Invalid without id", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", }, }, }, @@ -91,16 +91,16 @@ func TestValidateSeedJobs(t *testing.T) { }, { description: "Valid with private key and secret", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", - PrivateKey: virtuslabv1alpha1.PrivateKey{ + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", + PrivateKey: v1alpha1.PrivateKey{ SecretKeyRef: &corev1.SecretKeySelector{ LocalObjectReference: corev1.LocalObjectReference{ Name: "deploy-keys", @@ -129,16 +129,16 @@ func TestValidateSeedJobs(t *testing.T) { }, { description: "Invalid private key in secret", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", - PrivateKey: virtuslabv1alpha1.PrivateKey{ + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", + PrivateKey: v1alpha1.PrivateKey{ SecretKeyRef: &corev1.SecretKeySelector{ LocalObjectReference: corev1.LocalObjectReference{ Name: "deploy-keys", @@ -167,16 +167,16 @@ func TestValidateSeedJobs(t *testing.T) { }, { description: "Invalid with PrivateKey and empty Secret data", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", - PrivateKey: virtuslabv1alpha1.PrivateKey{ + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", + PrivateKey: v1alpha1.PrivateKey{ SecretKeyRef: &corev1.SecretKeySelector{ LocalObjectReference: corev1.LocalObjectReference{ Name: "deploy-keys", @@ -205,15 +205,15 @@ func TestValidateSeedJobs(t *testing.T) { }, { description: "Invalid with ssh RepositoryURL and empty PrivateKey", - jenkins: &virtuslabv1alpha1.Jenkins{ - Spec: virtuslabv1alpha1.JenkinsSpec{ - SeedJobs: []virtuslabv1alpha1.SeedJob{ + jenkins: &v1alpha1.Jenkins{ + Spec: v1alpha1.JenkinsSpec{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "git@github.com:VirtusLab/jenkins-operator.git", + RepositoryURL: "git@github.com:jenkinsci/kubernetes-operator.git", }, }, }, diff --git a/pkg/controller/jenkins/groovy/groovy.go b/pkg/controller/jenkins/groovy/groovy.go index 7de1478c..dfe86612 100644 --- a/pkg/controller/jenkins/groovy/groovy.go +++ b/pkg/controller/jenkins/groovy/groovy.go @@ -6,7 +6,7 @@ import ( "fmt" "sort" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/jobs" @@ -51,7 +51,7 @@ func (g *Groovy) ConfigureGroovyJob() error { } // EnsureGroovyJob executes groovy script and verifies jenkins job status according to reconciliation loop lifecycle -func (g *Groovy) EnsureGroovyJob(secretOrConfigMapData map[string]string, jenkins *virtuslabv1alpha1.Jenkins) (bool, error) { +func (g *Groovy) EnsureGroovyJob(secretOrConfigMapData map[string]string, jenkins *v1alpha1.Jenkins) (bool, error) { jobsClient := jobs.New(g.jenkinsClient, g.k8sClient, g.logger) hash := g.calculateHash(secretOrConfigMapData) diff --git a/pkg/controller/jenkins/jenkins_controller.go b/pkg/controller/jenkins/jenkins_controller.go index 6d2b5ae6..92434ffb 100644 --- a/pkg/controller/jenkins/jenkins_controller.go +++ b/pkg/controller/jenkins/jenkins_controller.go @@ -4,7 +4,7 @@ import ( "context" "fmt" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" @@ -61,7 +61,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { } // Watch for changes to primary resource Jenkins - err = c.Watch(&source.Kind{Type: &virtuslabv1alpha1.Jenkins{}}, &handler.EnqueueRequestForObject{}) + err = c.Watch(&source.Kind{Type: &v1alpha1.Jenkins{}}, &handler.EnqueueRequestForObject{}) if err != nil { return err } @@ -69,7 +69,7 @@ func add(mgr manager.Manager, r reconcile.Reconciler) error { // Watch for changes to secondary resource Pods and requeue the owner Jenkins err = c.Watch(&source.Kind{Type: &corev1.Pod{}}, &handler.EnqueueRequestForOwner{ IsController: true, - OwnerType: &virtuslabv1alpha1.Jenkins{}, + OwnerType: &v1alpha1.Jenkins{}, }) if err != nil { return err @@ -117,7 +117,7 @@ func (r *ReconcileJenkins) Reconcile(request reconcile.Request) (reconcile.Resul func (r *ReconcileJenkins) reconcile(request reconcile.Request, logger logr.Logger) (reconcile.Result, error) { // Fetch the Jenkins instance - jenkins := &virtuslabv1alpha1.Jenkins{} + jenkins := &v1alpha1.Jenkins{} err := r.client.Get(context.TODO(), request.NamespacedName, jenkins) if err != nil { if apierrors.IsNotFound(err) { @@ -205,7 +205,7 @@ func (r *ReconcileJenkins) buildLogger(jenkinsName string) logr.Logger { return log.Log.WithValues("cr", jenkinsName) } -func (r *ReconcileJenkins) setDefaults(jenkins *virtuslabv1alpha1.Jenkins, logger logr.Logger) error { +func (r *ReconcileJenkins) setDefaults(jenkins *v1alpha1.Jenkins, logger logr.Logger) error { changed := false if len(jenkins.Spec.Master.Image) == 0 { logger.Info("Setting default Jenkins master image: " + constants.DefaultJenkinsMasterImage) @@ -213,10 +213,10 @@ func (r *ReconcileJenkins) setDefaults(jenkins *virtuslabv1alpha1.Jenkins, logge jenkins.Spec.Master.Image = constants.DefaultJenkinsMasterImage } if len(jenkins.Spec.Backup) == 0 { - logger.Info("Setting default backup strategy: " + virtuslabv1alpha1.JenkinsBackupTypeNoBackup) + logger.Info("Setting default backup strategy: " + v1alpha1.JenkinsBackupTypeNoBackup) logger.V(log.VWarn).Info("Backup is disable !!! Please configure backup in '.spec.backup'") changed = true - jenkins.Spec.Backup = virtuslabv1alpha1.JenkinsBackupTypeNoBackup + jenkins.Spec.Backup = v1alpha1.JenkinsBackupTypeNoBackup } if len(jenkins.Spec.Master.Plugins) == 0 { logger.Info("Setting default base plugins") diff --git a/pkg/controller/jenkins/jobs/jobs.go b/pkg/controller/jenkins/jobs/jobs.go index b29ca7cf..e8cc124a 100644 --- a/pkg/controller/jenkins/jobs/jobs.go +++ b/pkg/controller/jenkins/jobs/jobs.go @@ -6,7 +6,7 @@ import ( "fmt" "strings" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/log" @@ -51,7 +51,7 @@ func New(jenkinsClient client.Jenkins, k8sClient k8s.Client, logger logr.Logger) // entire state is saved in Jenkins.Status.Builds section // function return 'true' when build finished successfully or false when reconciliation loop should requeue this function // preserveStatus determines that build won't be removed from Jenkins.Status.Builds section -func (jobs *Jobs) EnsureBuildJob(jobName, hash string, parameters map[string]string, jenkins *virtuslabv1alpha1.Jenkins, preserveStatus bool) (done bool, err error) { +func (jobs *Jobs) EnsureBuildJob(jobName, hash string, parameters map[string]string, jenkins *v1alpha1.Jenkins, preserveStatus bool) (done bool, err error) { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Ensuring build, name:'%s' hash:'%s'", jobName, hash)) build, err := jobs.getBuildFromStatus(jobName, hash, jenkins) @@ -62,13 +62,13 @@ func (jobs *Jobs) EnsureBuildJob(jobName, hash string, parameters map[string]str if build != nil { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Build exists in status, %+v", build)) switch build.Status { - case virtuslabv1alpha1.BuildSuccessStatus: + case v1alpha1.BuildSuccessStatus: return jobs.ensureSuccessBuild(*build, jenkins, preserveStatus) - case virtuslabv1alpha1.BuildRunningStatus: + case v1alpha1.BuildRunningStatus: return jobs.ensureRunningBuild(*build, jenkins, preserveStatus) - case virtuslabv1alpha1.BuildUnstableStatus, virtuslabv1alpha1.BuildNotBuildStatus, virtuslabv1alpha1.BuildFailureStatus, virtuslabv1alpha1.BuildAbortedStatus: + case v1alpha1.BuildUnstableStatus, v1alpha1.BuildNotBuildStatus, v1alpha1.BuildFailureStatus, v1alpha1.BuildAbortedStatus: return jobs.ensureFailedBuild(*build, jenkins, parameters, preserveStatus) - case virtuslabv1alpha1.BuildExpiredStatus: + case v1alpha1.BuildExpiredStatus: return jobs.ensureExpiredBuild(*build, jenkins, preserveStatus) default: jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Unexpected build status, %+v", build)) @@ -78,7 +78,7 @@ func (jobs *Jobs) EnsureBuildJob(jobName, hash string, parameters map[string]str // build is run first time - build job and update status created := metav1.Now() - newBuild := virtuslabv1alpha1.Build{ + newBuild := v1alpha1.Build{ JobName: jobName, Hash: hash, CreateTime: &created, @@ -86,7 +86,7 @@ func (jobs *Jobs) EnsureBuildJob(jobName, hash string, parameters map[string]str return jobs.buildJob(newBuild, parameters, jenkins) } -func (jobs *Jobs) getBuildFromStatus(jobName string, hash string, jenkins *virtuslabv1alpha1.Jenkins) (*virtuslabv1alpha1.Build, error) { +func (jobs *Jobs) getBuildFromStatus(jobName string, hash string, jenkins *v1alpha1.Jenkins) (*v1alpha1.Build, error) { if jenkins != nil { builds := jenkins.Status.Builds for _, build := range builds { @@ -98,7 +98,7 @@ func (jobs *Jobs) getBuildFromStatus(jobName string, hash string, jenkins *virtu return nil, nil } -func (jobs *Jobs) ensureSuccessBuild(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins, preserveStatus bool) (bool, error) { +func (jobs *Jobs) ensureSuccessBuild(build v1alpha1.Build, jenkins *v1alpha1.Jenkins, preserveStatus bool) (bool, error) { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Ensuring success build, %+v", build)) if !preserveStatus { @@ -112,7 +112,7 @@ func (jobs *Jobs) ensureSuccessBuild(build virtuslabv1alpha1.Build, jenkins *vir return true, nil } -func (jobs *Jobs) ensureRunningBuild(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins, preserveStatus bool) (bool, error) { +func (jobs *Jobs) ensureRunningBuild(build v1alpha1.Build, jenkins *v1alpha1.Jenkins, preserveStatus bool) (bool, error) { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Ensuring running build, %+v", build)) // FIXME (antoniaklja) implement build expiration @@ -126,7 +126,7 @@ func (jobs *Jobs) ensureRunningBuild(build virtuslabv1alpha1.Build, jenkins *vir } if jenkinsBuild.GetResult() != "" { - build.Status = virtuslabv1alpha1.BuildStatus(strings.ToLower(jenkinsBuild.GetResult())) + build.Status = v1alpha1.BuildStatus(strings.ToLower(jenkinsBuild.GetResult())) } err = jobs.updateBuildStatus(build, jenkins) @@ -135,13 +135,13 @@ func (jobs *Jobs) ensureRunningBuild(build virtuslabv1alpha1.Build, jenkins *vir return false, err } - if build.Status == virtuslabv1alpha1.BuildSuccessStatus { + if build.Status == v1alpha1.BuildSuccessStatus { jobs.logger.Info(fmt.Sprintf("Build finished successfully, %+v", build)) return true, nil } - if build.Status == virtuslabv1alpha1.BuildFailureStatus || build.Status == virtuslabv1alpha1.BuildUnstableStatus || - build.Status == virtuslabv1alpha1.BuildNotBuildStatus || build.Status == virtuslabv1alpha1.BuildAbortedStatus { + if build.Status == v1alpha1.BuildFailureStatus || build.Status == v1alpha1.BuildUnstableStatus || + build.Status == v1alpha1.BuildNotBuildStatus || build.Status == v1alpha1.BuildAbortedStatus { jobs.logger.V(log.VWarn).Info(fmt.Sprintf("Build failed, %+v", build)) return false, ErrorBuildFailed } @@ -149,7 +149,7 @@ func (jobs *Jobs) ensureRunningBuild(build virtuslabv1alpha1.Build, jenkins *vir return false, nil } -func (jobs *Jobs) ensureFailedBuild(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins, parameters map[string]string, preserveStatus bool) (bool, error) { +func (jobs *Jobs) ensureFailedBuild(build v1alpha1.Build, jenkins *v1alpha1.Jenkins, parameters map[string]string, preserveStatus bool) (bool, error) { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Ensuring failed build, %+v", build)) if build.Retires < BuildRetires { @@ -176,7 +176,7 @@ func (jobs *Jobs) ensureFailedBuild(build virtuslabv1alpha1.Build, jenkins *virt return false, ErrorUnrecoverableBuildFailed } -func (jobs *Jobs) ensureExpiredBuild(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins, preserveStatus bool) (bool, error) { +func (jobs *Jobs) ensureExpiredBuild(build v1alpha1.Build, jenkins *v1alpha1.Jenkins, preserveStatus bool) (bool, error) { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Ensuring expired build, %+v", build)) jenkinsBuild, err := jobs.jenkinsClient.GetBuild(build.JobName, build.Number) @@ -194,7 +194,7 @@ func (jobs *Jobs) ensureExpiredBuild(build virtuslabv1alpha1.Build, jenkins *vir return false, err } - if virtuslabv1alpha1.BuildStatus(jenkinsBuild.GetResult()) != virtuslabv1alpha1.BuildAbortedStatus { + if v1alpha1.BuildStatus(jenkinsBuild.GetResult()) != v1alpha1.BuildAbortedStatus { return false, ErrorAbortBuildFailed } @@ -217,8 +217,8 @@ func (jobs *Jobs) ensureExpiredBuild(build virtuslabv1alpha1.Build, jenkins *vir return true, nil } -func (jobs *Jobs) removeBuildFromStatus(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins) error { - builds := make([]virtuslabv1alpha1.Build, len(jenkins.Status.Builds)) +func (jobs *Jobs) removeBuildFromStatus(build v1alpha1.Build, jenkins *v1alpha1.Jenkins) error { + builds := make([]v1alpha1.Build, len(jenkins.Status.Builds)) for _, existingBuild := range jenkins.Status.Builds { if existingBuild.JobName != build.JobName && existingBuild.Hash != build.Hash { builds = append(builds, existingBuild) @@ -233,7 +233,7 @@ func (jobs *Jobs) removeBuildFromStatus(build virtuslabv1alpha1.Build, jenkins * return nil } -func (jobs *Jobs) buildJob(build virtuslabv1alpha1.Build, parameters map[string]string, jenkins *virtuslabv1alpha1.Jenkins) (bool, error) { +func (jobs *Jobs) buildJob(build v1alpha1.Build, parameters map[string]string, jenkins *v1alpha1.Jenkins) (bool, error) { jobs.logger.Info(fmt.Sprintf("Running job, %+v", build)) job, err := jobs.jenkinsClient.GetJob(build.JobName) if err != nil { @@ -249,7 +249,7 @@ func (jobs *Jobs) buildJob(build virtuslabv1alpha1.Build, parameters map[string] return false, err } - build.Status = virtuslabv1alpha1.BuildRunningStatus + build.Status = v1alpha1.BuildRunningStatus build.Number = nextBuildNumber err = jobs.updateBuildStatus(build, jenkins) @@ -260,7 +260,7 @@ func (jobs *Jobs) buildJob(build virtuslabv1alpha1.Build, parameters map[string] return false, nil } -func (jobs *Jobs) updateBuildStatus(build virtuslabv1alpha1.Build, jenkins *virtuslabv1alpha1.Jenkins) error { +func (jobs *Jobs) updateBuildStatus(build v1alpha1.Build, jenkins *v1alpha1.Jenkins) error { jobs.logger.V(log.VDebug).Info(fmt.Sprintf("Updating build status, %+v", build)) // get index of existing build from status if exists buildIndex := -1 diff --git a/pkg/controller/jenkins/jobs/jobs_test.go b/pkg/controller/jenkins/jobs/jobs_test.go index c903c9bc..b49b3061 100644 --- a/pkg/controller/jenkins/jobs/jobs_test.go +++ b/pkg/controller/jenkins/jobs/jobs_test.go @@ -7,7 +7,7 @@ import ( "fmt" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/bndr/gojenkins" @@ -37,7 +37,7 @@ func TestSuccessEnsureJob(t *testing.T) { // when jenkins := jenkinsCustomResource() fakeClient := fake.NewFakeClient() - err := virtuslabv1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) + err := v1alpha1.SchemeBuilder.AddToScheme(scheme.Scheme) assert.NoError(t, err) err = fakeClient.Create(ctx, jenkins) assert.NoError(t, err) @@ -67,7 +67,7 @@ func TestSuccessEnsureJob(t *testing.T) { GetBuild(jobName, buildNumber). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildSuccessStatus), + Result: string(v1alpha1.BuildSuccessStatus), }, }, nil).AnyTimes() @@ -91,13 +91,13 @@ func TestSuccessEnsureJob(t *testing.T) { // first run - build should be scheduled and status updated if reconcileAttempt == 1 { assert.False(t, done) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildRunningStatus) + assert.Equal(t, build.Status, v1alpha1.BuildRunningStatus) } // second run -job should be success and status updated if reconcileAttempt == 2 { assert.True(t, done) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildSuccessStatus) + assert.Equal(t, build.Status, v1alpha1.BuildSuccessStatus) } } } @@ -149,7 +149,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { GetBuild(jobName, int64(1)). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildFailureStatus), + Result: string(v1alpha1.BuildFailureStatus), }, }, nil) } @@ -178,7 +178,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { GetBuild(jobName, int64(2)). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildSuccessStatus), + Result: string(v1alpha1.BuildSuccessStatus), }, }, nil) } @@ -204,7 +204,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { assert.NoError(t, errEnsureBuildJob) assert.False(t, done) assert.Equal(t, build.Number, int64(1)) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildRunningStatus) + assert.Equal(t, build.Status, v1alpha1.BuildRunningStatus) } // second run - build should be failure and status updated @@ -212,7 +212,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { assert.Error(t, errEnsureBuildJob) assert.False(t, done) assert.Equal(t, build.Number, int64(1)) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildFailureStatus) + assert.Equal(t, build.Status, v1alpha1.BuildFailureStatus) } // third run - build should be rescheduled and status updated @@ -220,7 +220,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { assert.NoError(t, errEnsureBuildJob) assert.False(t, done) assert.Equal(t, build.Number, int64(2)) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildRunningStatus) + assert.Equal(t, build.Status, v1alpha1.BuildRunningStatus) } // fourth run - build should be success and status updated @@ -228,7 +228,7 @@ func TestEnsureJobWithFailedBuild(t *testing.T) { assert.NoError(t, errEnsureBuildJob) assert.True(t, done) assert.Equal(t, build.Number, int64(2)) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildSuccessStatus) + assert.Equal(t, build.Status, v1alpha1.BuildSuccessStatus) } } } @@ -281,7 +281,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { GetBuild(buildName, int64(1)). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildFailureStatus), + Result: string(v1alpha1.BuildFailureStatus), }, }, nil) } @@ -310,7 +310,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { GetBuild(buildName, int64(2)). Return(&gojenkins.Build{ Raw: &gojenkins.BuildResponse{ - Result: string(virtuslabv1alpha1.BuildFailureStatus), + Result: string(v1alpha1.BuildFailureStatus), }, }, nil) } @@ -337,7 +337,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { assert.False(t, done) assert.Equal(t, build.Number, int64(1)) assert.Equal(t, build.Retires, 0) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildRunningStatus) + assert.Equal(t, build.Status, v1alpha1.BuildRunningStatus) } // second run - build should be failure and status updated @@ -346,7 +346,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { assert.False(t, done) assert.Equal(t, build.Number, int64(1)) assert.Equal(t, build.Retires, 0) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildFailureStatus) + assert.Equal(t, build.Status, v1alpha1.BuildFailureStatus) } // third run - build should be rescheduled and status updated @@ -356,7 +356,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { //assert.Equal(t, build.Retires, 1) assert.Equal(t, build.Number, int64(2)) assert.Equal(t, build.Retires, 1) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildRunningStatus) + assert.Equal(t, build.Status, v1alpha1.BuildRunningStatus) } // fourth run - build should be failure and status updated @@ -365,7 +365,7 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { assert.False(t, done) assert.Equal(t, build.Number, int64(2)) assert.Equal(t, build.Retires, 1) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildFailureStatus) + assert.Equal(t, build.Status, v1alpha1.BuildFailureStatus) } // fifth run - build should be unrecoverable failed and status updated @@ -374,19 +374,19 @@ func TestEnsureJobFailedWithMaxRetries(t *testing.T) { assert.False(t, done) assert.Equal(t, build.Number, int64(2)) assert.Equal(t, build.Retires, 1) - assert.Equal(t, build.Status, virtuslabv1alpha1.BuildFailureStatus) + assert.Equal(t, build.Status, v1alpha1.BuildFailureStatus) } } } -func jenkinsCustomResource() *virtuslabv1alpha1.Jenkins { - return &virtuslabv1alpha1.Jenkins{ +func jenkinsCustomResource() *v1alpha1.Jenkins { + return &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{ Name: "jenkins", Namespace: "default", }, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Image: "jenkins/jenkins", Annotations: map[string]string{"test": "label"}, Resources: corev1.ResourceRequirements{ @@ -400,13 +400,13 @@ func jenkinsCustomResource() *virtuslabv1alpha1.Jenkins { }, }, }, - SeedJobs: []virtuslabv1alpha1.SeedJob{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator-e2e", Targets: "cicd/jobs/*.jenkins", Description: "Jenkins Operator e2e tests repository", RepositoryBranch: "master", - RepositoryURL: "https://github.com/VirtusLab/jenkins-operator-e2e.git", + RepositoryURL: "https://github.com/jenkinsci/kubernetes-operator.git", }, }, }, diff --git a/test/e2e/aws_s3_backup_test.go b/test/e2e/aws_s3_backup_test.go index 54dc7963..b323cf79 100644 --- a/test/e2e/aws_s3_backup_test.go +++ b/test/e2e/aws_s3_backup_test.go @@ -8,7 +8,7 @@ import ( "os" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" @@ -98,20 +98,20 @@ func verifyIfBackupAndRestoreWasSuccessfull(t *testing.T, jenkinsClient *gojenki assert.True(t, latestBackupFound) } -func createJenkinsCRWithAmazonS3Backup(t *testing.T, namespace string, backupConfig amazonS3BackupConfiguration) *virtuslabv1alpha1.Jenkins { - jenkins := &virtuslabv1alpha1.Jenkins{ +func createJenkinsCRWithAmazonS3Backup(t *testing.T, namespace string, backupConfig amazonS3BackupConfiguration) *v1alpha1.Jenkins { + jenkins := &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{ Name: "e2e", Namespace: namespace, }, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Backup: virtuslabv1alpha1.JenkinsBackupTypeAmazonS3, - BackupAmazonS3: virtuslabv1alpha1.JenkinsBackupAmazonS3{ + Spec: v1alpha1.JenkinsSpec{ + Backup: v1alpha1.JenkinsBackupTypeAmazonS3, + BackupAmazonS3: v1alpha1.JenkinsBackupAmazonS3{ Region: backupConfig.Region, BucketPath: backupConfig.BucketPath, BucketName: backupConfig.BucketName, }, - Master: virtuslabv1alpha1.JenkinsMaster{ + Master: v1alpha1.JenkinsMaster{ Image: "jenkins/jenkins", }, }, diff --git a/test/e2e/base_configuration_test.go b/test/e2e/base_configuration_test.go index 48ebd90b..72113dc0 100644 --- a/test/e2e/base_configuration_test.go +++ b/test/e2e/base_configuration_test.go @@ -5,7 +5,7 @@ import ( "reflect" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/plugins" "github.com/bndr/gojenkins" @@ -59,7 +59,7 @@ func createDefaultLimitsForContainersInNamespace(t *testing.T, namespace string) } } -func verifyJenkinsMasterPodAttributes(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { +func verifyJenkinsMasterPodAttributes(t *testing.T, jenkins *v1alpha1.Jenkins) { jenkinsPod := getJenkinsMasterPod(t, jenkins) jenkins = getJenkins(t, jenkins.Namespace, jenkins.Name) diff --git a/test/e2e/jenkins.go b/test/e2e/jenkins.go index d0f69263..bcfc7cfb 100644 --- a/test/e2e/jenkins.go +++ b/test/e2e/jenkins.go @@ -6,7 +6,7 @@ import ( "net/http" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" jenkinsclient "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/client" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" @@ -18,8 +18,8 @@ import ( "k8s.io/apimachinery/pkg/types" ) -func getJenkins(t *testing.T, namespace, name string) *virtuslabv1alpha1.Jenkins { - jenkins := &virtuslabv1alpha1.Jenkins{} +func getJenkins(t *testing.T, namespace, name string) *v1alpha1.Jenkins { + jenkins := &v1alpha1.Jenkins{} namespaceName := types.NamespacedName{Namespace: namespace, Name: name} if err := framework.Global.Client.Get(context.TODO(), namespaceName, jenkins); err != nil { t.Fatal(err) @@ -28,7 +28,7 @@ func getJenkins(t *testing.T, namespace, name string) *virtuslabv1alpha1.Jenkins return jenkins } -func getJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) *v1.Pod { +func getJenkinsMasterPod(t *testing.T, jenkins *v1alpha1.Jenkins) *v1.Pod { lo := metav1.ListOptions{ LabelSelector: labels.SelectorFromSet(resources.BuildResourceLabels(jenkins)).String(), } @@ -42,7 +42,7 @@ func getJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) *v1.P return &podList.Items[0] } -func createJenkinsAPIClient(jenkins *virtuslabv1alpha1.Jenkins) (*gojenkins.Jenkins, error) { +func createJenkinsAPIClient(jenkins *v1alpha1.Jenkins) (*gojenkins.Jenkins, error) { adminSecret := &v1.Secret{} namespaceName := types.NamespacedName{Namespace: jenkins.Namespace, Name: resources.GetOperatorCredentialsSecretName(jenkins)} if err := framework.Global.Client.Get(context.TODO(), namespaceName, adminSecret); err != nil { @@ -75,14 +75,14 @@ func createJenkinsAPIClient(jenkins *virtuslabv1alpha1.Jenkins) (*gojenkins.Jenk return jenkinsClient, nil } -func createJenkinsCR(t *testing.T, namespace string) *virtuslabv1alpha1.Jenkins { - jenkins := &virtuslabv1alpha1.Jenkins{ +func createJenkinsCR(t *testing.T, namespace string) *v1alpha1.Jenkins { + jenkins := &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{ Name: "e2e", Namespace: namespace, }, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Image: "jenkins/jenkins", Annotations: map[string]string{"test": "label"}, }, @@ -97,19 +97,19 @@ func createJenkinsCR(t *testing.T, namespace string) *virtuslabv1alpha1.Jenkins return jenkins } -func createJenkinsCRWithSeedJob(t *testing.T, namespace string) *virtuslabv1alpha1.Jenkins { - jenkins := &virtuslabv1alpha1.Jenkins{ +func createJenkinsCRWithSeedJob(t *testing.T, namespace string) *v1alpha1.Jenkins { + jenkins := &v1alpha1.Jenkins{ ObjectMeta: metav1.ObjectMeta{ Name: "e2e", Namespace: namespace, }, - Spec: virtuslabv1alpha1.JenkinsSpec{ - Master: virtuslabv1alpha1.JenkinsMaster{ + Spec: v1alpha1.JenkinsSpec{ + Master: v1alpha1.JenkinsMaster{ Image: "jenkins/jenkins", Annotations: map[string]string{"test": "label"}, }, //TODO(bantoniak) add seed job with private key - SeedJobs: []virtuslabv1alpha1.SeedJob{ + SeedJobs: []v1alpha1.SeedJob{ { ID: "jenkins-operator", Targets: "cicd/jobs/*.jenkins", @@ -129,7 +129,7 @@ func createJenkinsCRWithSeedJob(t *testing.T, namespace string) *virtuslabv1alph return jenkins } -func verifyJenkinsAPIConnection(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) *gojenkins.Jenkins { +func verifyJenkinsAPIConnection(t *testing.T, jenkins *v1alpha1.Jenkins) *gojenkins.Jenkins { client, err := createJenkinsAPIClient(jenkins) if err != nil { t.Fatal(err) @@ -139,7 +139,7 @@ func verifyJenkinsAPIConnection(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins return client } -func restartJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { +func restartJenkinsMasterPod(t *testing.T, jenkins *v1alpha1.Jenkins) { t.Log("Restarting Jenkins master pod") jenkinsPod := getJenkinsMasterPod(t, jenkins) err := framework.Global.Client.Delete(context.TODO(), jenkinsPod) diff --git a/test/e2e/main_test.go b/test/e2e/main_test.go index cea1d238..084fa5c3 100644 --- a/test/e2e/main_test.go +++ b/test/e2e/main_test.go @@ -5,7 +5,7 @@ import ( "testing" "github.com/jenkinsci/kubernetes-operator/pkg/apis" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants" f "github.com/operator-framework/operator-sdk/pkg/test" @@ -35,10 +35,10 @@ func setupTest(t *testing.T) (string, *framework.TestCtx) { t.Fatalf("could not initialize cluster resources: %v", err) } - jenkinsServiceList := &virtuslabv1alpha1.JenkinsList{ + jenkinsServiceList := &v1alpha1.JenkinsList{ TypeMeta: metav1.TypeMeta{ - Kind: virtuslabv1alpha1.Kind, - APIVersion: virtuslabv1alpha1.SchemeGroupVersion.String(), + Kind: v1alpha1.Kind, + APIVersion: v1alpha1.SchemeGroupVersion.String(), }, } err = framework.AddToFrameworkScheme(apis.AddToScheme, jenkinsServiceList) diff --git a/test/e2e/restart_pod_test.go b/test/e2e/restart_pod_test.go index 2114d7ee..851e75ed 100644 --- a/test/e2e/restart_pod_test.go +++ b/test/e2e/restart_pod_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" framework "github.com/operator-framework/operator-sdk/pkg/test" "k8s.io/apimachinery/pkg/types" @@ -24,8 +24,8 @@ func TestJenkinsMasterPodRestart(t *testing.T) { waitForJenkinsBaseConfigurationToComplete(t, jenkins) } -func checkBaseConfigurationCompleteTimeIsNotSet(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { - jenkinsStatus := &virtuslabv1alpha1.Jenkins{} +func checkBaseConfigurationCompleteTimeIsNotSet(t *testing.T, jenkins *v1alpha1.Jenkins) { + jenkinsStatus := &v1alpha1.Jenkins{} namespaceName := types.NamespacedName{Namespace: jenkins.Namespace, Name: jenkins.Name} err := framework.Global.Client.Get(context.TODO(), namespaceName, jenkinsStatus) if err != nil { diff --git a/test/e2e/user_configuration_test.go b/test/e2e/user_configuration_test.go index 067c2182..4ae6b98a 100644 --- a/test/e2e/user_configuration_test.go +++ b/test/e2e/user_configuration_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/user/seedjobs" "github.com/bndr/gojenkins" @@ -31,7 +31,7 @@ func TestUserConfiguration(t *testing.T) { verifyJenkinsSeedJobs(t, client, jenkins) } -func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins, jenkins *virtuslabv1alpha1.Jenkins) { +func verifyJenkinsSeedJobs(t *testing.T, client *gojenkins.Jenkins, jenkins *v1alpha1.Jenkins) { t.Logf("Attempting to get configure seed job status '%v'", seedjobs.ConfigureSeedJobsName) configureSeedJobs, err := client.GetJob(seedjobs.ConfigureSeedJobsName) diff --git a/test/e2e/wait.go b/test/e2e/wait.go index 5f6759ac..31d41ff8 100644 --- a/test/e2e/wait.go +++ b/test/e2e/wait.go @@ -6,7 +6,7 @@ import ( "testing" "time" - virtuslabv1alpha1 "github.com/jenkinsci/kubernetes-operator/pkg/apis/virtuslab/v1alpha1" + "github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkinsio/v1alpha1" "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources" framework "github.com/operator-framework/operator-sdk/pkg/test" @@ -22,11 +22,11 @@ var ( ) // checkConditionFunc is used to check if a condition for the jenkins CR is true -type checkConditionFunc func(*virtuslabv1alpha1.Jenkins) bool +type checkConditionFunc func(*v1alpha1.Jenkins) bool -func waitForJenkinsBaseConfigurationToComplete(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { +func waitForJenkinsBaseConfigurationToComplete(t *testing.T, jenkins *v1alpha1.Jenkins) { t.Log("Waiting for Jenkins base configuration to complete") - _, err := WaitUntilJenkinsConditionTrue(retryInterval, 150, jenkins, func(jenkins *virtuslabv1alpha1.Jenkins) bool { + _, err := WaitUntilJenkinsConditionTrue(retryInterval, 150, jenkins, func(jenkins *v1alpha1.Jenkins) bool { t.Logf("Current Jenkins status '%+v'", jenkins.Status) return jenkins.Status.BaseConfigurationCompletedTime != nil }) @@ -36,7 +36,7 @@ func waitForJenkinsBaseConfigurationToComplete(t *testing.T, jenkins *virtuslabv t.Log("Jenkins pod is running") } -func waitForRecreateJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { +func waitForRecreateJenkinsMasterPod(t *testing.T, jenkins *v1alpha1.Jenkins) { err := wait.Poll(retryInterval, 30*retryInterval, func() (bool, error) { lo := metav1.ListOptions{ LabelSelector: labels.SelectorFromSet(resources.BuildResourceLabels(jenkins)).String(), @@ -57,9 +57,9 @@ func waitForRecreateJenkinsMasterPod(t *testing.T, jenkins *virtuslabv1alpha1.Je t.Log("Jenkins pod has been recreated") } -func waitForJenkinsUserConfigurationToComplete(t *testing.T, jenkins *virtuslabv1alpha1.Jenkins) { +func waitForJenkinsUserConfigurationToComplete(t *testing.T, jenkins *v1alpha1.Jenkins) { t.Log("Waiting for Jenkins user configuration to complete") - _, err := WaitUntilJenkinsConditionTrue(retryInterval, 30, jenkins, func(jenkins *virtuslabv1alpha1.Jenkins) bool { + _, err := WaitUntilJenkinsConditionTrue(retryInterval, 30, jenkins, func(jenkins *v1alpha1.Jenkins) bool { t.Logf("Current Jenkins status '%+v'", jenkins.Status) return jenkins.Status.UserConfigurationCompletedTime != nil }) @@ -70,8 +70,8 @@ func waitForJenkinsUserConfigurationToComplete(t *testing.T, jenkins *virtuslabv } // WaitUntilJenkinsConditionTrue retries until the specified condition check becomes true for the jenkins CR -func WaitUntilJenkinsConditionTrue(retryInterval time.Duration, retries int, jenkins *virtuslabv1alpha1.Jenkins, checkCondition checkConditionFunc) (*virtuslabv1alpha1.Jenkins, error) { - jenkinsStatus := &virtuslabv1alpha1.Jenkins{} +func WaitUntilJenkinsConditionTrue(retryInterval time.Duration, retries int, jenkins *v1alpha1.Jenkins, checkCondition checkConditionFunc) (*v1alpha1.Jenkins, error) { + jenkinsStatus := &v1alpha1.Jenkins{} err := wait.Poll(retryInterval, time.Duration(retries)*retryInterval, func() (bool, error) { namespacedName := types.NamespacedName{Namespace: jenkins.Namespace, Name: jenkins.Name} err := framework.Global.Client.Get(goctx.TODO(), namespacedName, jenkinsStatus)