Skip to content

Commit

Permalink
chore(operator): update jenkins latest img and plugins, use latest ba…
Browse files Browse the repository at this point in the history
…ckup in bats tests (#1022)
  • Loading branch information
brokenpip3 authored Jun 22, 2024
1 parent f98b0bc commit e0f52b5
Show file tree
Hide file tree
Showing 14 changed files with 33 additions and 31 deletions.
10 changes: 2 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -377,22 +377,16 @@ kind-clean: ## Delete kind cluster
@echo "+ $@"
kind delete cluster --name $(KIND_CLUSTER_NAME)

.PHONY: kind-load-backup
kind-load-backup:
@echo "+ $@"
make -C
kind delete cluster --name $(KIND_CLUSTER_NAME)

.PHONY: bats-tests
IMAGE_NAME := quay.io/$(QUAY_ORGANIZATION)/$(QUAY_REGISTRY):$(GITCOMMIT)-amd64
BUILD_PRESENT := $(shell docker images |grep -q ${IMAGE_NAME})
ifndef BUILD_PRESENT
bats-tests: container-runtime-build-amd64 ## Run bats tests
bats-tests: backup-kind-load container-runtime-build-amd64 ## Run bats tests
@echo "+ $@"
kind load docker-image ${IMAGE_NAME} --name $(KIND_CLUSTER_NAME)
OPERATOR_IMAGE="${IMAGE_NAME}" TERM=xterm bats -T -p test/bats
else
bats-tests: ## Run bats tests
bats-tests: backup-kind-load
@echo "+ $@"
OPERATOR_IMAGE="${IMAGE_NAME}" TERM=xterm bats -T -p test/bats
endif
Expand Down
2 changes: 1 addition & 1 deletion chart/jenkins-operator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Kubernetes native operator which fully manages Jenkins on Kubernetes
| jenkins.enabled | bool | `true` | |
| jenkins.env | list | `[]` | |
| jenkins.hostAliases | object | `{}` | |
| jenkins.image | string | `"jenkins/jenkins:2.452.1-lts"` | |
| jenkins.image | string | `"jenkins/jenkins:2.452.2-lts"` | |
| jenkins.imagePullPolicy | string | `"Always"` | |
| jenkins.imagePullSecrets | list | `[]` | |
| jenkins.labels | object | `{}` | |
Expand Down
6 changes: 3 additions & 3 deletions chart/jenkins-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jenkins:
# image is the name (and tag) of the Jenkins instance
# Default: jenkins/jenkins:lts
# It's recommended to use LTS (tag: "lts") version
image: jenkins/jenkins:2.452.1-lts
image: jenkins/jenkins:2.452.2-lts

# env contains jenkins container environment variables
env: []
Expand Down Expand Up @@ -94,7 +94,7 @@ jenkins:
#
# basePlugins:
# - name: kubernetes
# version: 4238.v41b_3ef14a_5d8
# version: 4246.v5a_12b_1fe120e
# - name: workflow-job
# version: 1400.v7fd111b_ec82f
# - name: workflow-aggregator
Expand Down Expand Up @@ -139,7 +139,7 @@ jenkins:
# repositoryUrl: https://github.com/jenkinsci/kubernetes-operator.git
seedJobs: []

# SeedJobAgentImage defines the image that will be used by the seed job agent. If not defined jenkins/inbound-agent:3206.vb_15dcf73f6a_9-3 will be used.
# SeedJobAgentImage defines the image that will be used by the seed job agent. If not defined jenkins/inbound-agent:3248.v65ecb_254c298-6 will be used.
seedJobAgentImage: ""

# Resource limit/request for Jenkins
Expand Down
2 changes: 1 addition & 1 deletion config.base.env
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ GO_VERSION="1.15.6"
HELM_VERSION="3.12.3"
IMAGE_PULL_MODE="local"
KIND_CLUSTER_NAME="jenkins"
LATEST_LTS_VERSION="2.452.1"
LATEST_LTS_VERSION="2.452.2"
NAME="kubernetes-operator"
NAMESPACE="default"
OPERATOR_SDK_VERSION="1.3.0"
Expand Down
2 changes: 1 addition & 1 deletion pkg/configuration/user/seedjobs/seedjobs.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const (
AgentName = "seed-job-agent"

// DefaultAgentImage is the default image used for the seed-job agent
defaultAgentImage = "jenkins/inbound-agent:3248.v65ecb_254c298-4"
defaultAgentImage = "jenkins/inbound-agent:3248.v65ecb_254c298-6"

creatingGroovyScriptName = "seed-job-groovy-script.groovy"

Expand Down
2 changes: 1 addition & 1 deletion pkg/configuration/user/seedjobs/seedjobs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ func TestEnsureSeedJobs(t *testing.T) {
var agentDeployment appsv1.Deployment
err = fakeClient.Get(ctx, types.NamespacedName{Namespace: jenkins.Namespace, Name: agentDeploymentName(*jenkins, AgentName)}, &agentDeployment)
assert.NoError(t, err)
assert.Equal(t, "jenkins/inbound-agent:3248.v65ecb_254c298-4", agentDeployment.Spec.Template.Spec.Containers[0].Image)
assert.Equal(t, "jenkins/inbound-agent:3248.v65ecb_254c298-6", agentDeployment.Spec.Template.Spec.Containers[0].Image)
assert.Equal(t, "JENKINS_WEB_SOCKET", agentDeployment.Spec.Template.Spec.Containers[0].Env[0].Name)
assert.Equal(t, "true", agentDeployment.Spec.Template.Spec.Containers[0].Env[0].Value)
})
Expand Down
2 changes: 1 addition & 1 deletion pkg/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const (
// SeedJobSuffix is a suffix added for all seed jobs
SeedJobSuffix = "job-dsl-seed"
// DefaultJenkinsMasterImage is the default Jenkins master docker image
DefaultJenkinsMasterImage = "jenkins/jenkins:2.452.1-lts"
DefaultJenkinsMasterImage = "jenkins/jenkins:2.452.2-lts"
// DefaultHTTPPortInt32 is the default Jenkins HTTP port
DefaultHTTPPortInt32 = int32(8080)
// DefaultSlavePortInt32 is the default Jenkins port for slaves
Expand Down
2 changes: 1 addition & 1 deletion pkg/plugins/base_plugins.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const (
configurationAsCodePlugin = "configuration-as-code:1810.v9b_c30a_249a_4c"
gitPlugin = "git:5.2.2"
jobDslPlugin = "job-dsl:1.87"
kubernetesPlugin = "kubernetes:4238.v41b_3ef14a_5d8"
kubernetesPlugin = "kubernetes:4246.v5a_12b_1fe120e"
kubernetesCredentialsProviderPlugin = "kubernetes-credentials-provider:1.262.v2670ef7ea_0c5"
workflowAggregatorPlugin = "workflow-aggregator:596.v8c21c963d92d"
workflowJobPlugin = "workflow-job:1400.v7fd111b_ec82f"
Expand Down
14 changes: 9 additions & 5 deletions test/bats/1-deploy.bats
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@ diag() {
--set namespace=${DETIK_CLIENT_NAMESPACE} \
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=false \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
--set jenkins.seedJobs[0].id=seed-job \
--set jenkins.seedJobs[0].targets="cicd/jobs/*.jenkins" \
--set jenkins.seedJobs[0].description="jobs-from-operator-repo" \
Expand Down Expand Up @@ -126,16 +127,18 @@ diag() {
#bats test_tags=phase:helm,scenario:vanilla
@test "1.10 Helm: check Jenkins seed job status and logs" {
[[ ! -f "chart/jenkins-operator/deploy.tmp" ]] && skip "Jenkins helm chart have not been deployed correctly"
run try "at most 20 times every 10s to get pods named 'seed-job-agent-jenkins-' and verify that '.status.containerStatuses[?(@.name==\"jnlp\")].ready' is 'true'"
assert_success

run verify "there is 1 deployment named 'seed-job-agent-jenkins'"
assert_success

run verify "there is 1 pod named 'seed-job-agent-jenkins-'"
assert_success

run try "at most 20 times every 10s to get pods named 'seed-job-agent-jenkins-' and verify that '.status.containerStatuses[?(@.name==\"jnlp\")].ready' is 'true'"
assert_success
sleep 5

run ${KUBECTL} logs -l app=seed-job-agent-selector
run ${KUBECTL} logs -l app=seed-job-agent-selector --tail=20000
assert_success
assert_output --partial 'INFO: Connected'

Expand All @@ -150,8 +153,9 @@ diag() {
--set namespace=${DETIK_CLIENT_NAMESPACE} \
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=false \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
chart/jenkins-operator
assert_success
assert ${HELM} status default
Expand Down
6 changes: 4 additions & 2 deletions test/bats/2-deploy-with-more-options.bats
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ setup() {
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.nodeSelector.batstest=yep \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=false \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
jenkins-operator/jenkins-operator --version=$(cat VERSION.txt | sed 's/v//')
assert_success
assert ${HELM} status options
Expand Down Expand Up @@ -101,8 +102,9 @@ setup() {
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.nodeSelector.batstest=yep \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=false \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
chart/jenkins-operator
assert_success
assert ${HELM} status options
Expand Down
10 changes: 6 additions & 4 deletions test/bats/3-deploy-with-webhook.bats
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@ setup() {
--set namespace=${DETIK_CLIENT_NAMESPACE} \
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=true \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
--set webhook.enabled=true \
jenkins-operator/jenkins-operator --version=$(cat VERSION.txt | sed 's/v//')
assert_success
Expand All @@ -48,7 +49,7 @@ setup() {
run verify "there is 1 pod named 'webhook-jenkins-operator-'"
assert_success

run try "at most 20 times every 10s to get pods named 'webhook-jenkins-operator-' and verify that '.status.containerStatuses[?(@.name==\"jenkins-operator\")].ready' is 'true'"
run try "at most 50 times every 5s to get pod named 'webhook-jenkins-operator-' and verify that '.status.containerStatuses[?(@.name==\"jenkins-operator\")].ready' is 'true'"
assert_success

run ${KUBECTL} rollout restart deployment webhook-jenkins-operator
Expand All @@ -59,7 +60,7 @@ setup() {
@test "3.4 Helm: check Jenkins Pod status" {
[[ ! -f "chart/jenkins-operator/deploy.tmp" ]] && skip "Jenkins helm chart have not been deployed correctly"

run try "at most 30 times every 10s to get pods named 'jenkins-jenkins' and verify that '.status.containerStatuses[?(@.name==\"jenkins-master\")].ready' is 'true'"
run try "at most 30 times every 10s to get pod named 'jenkins-jenkins' and verify that '.status.containerStatuses[?(@.name==\"jenkins-master\")].ready' is 'true'"
assert_success
}

Expand All @@ -86,8 +87,9 @@ setup() {
--set namespace=${DETIK_CLIENT_NAMESPACE} \
--set operator.image=${OPERATOR_IMAGE} \
--set jenkins.latestPlugins=true \
--set jenkins.image="jenkins/jenkins:2.452.1-lts" \
--set jenkins.image="jenkins/jenkins:2.452.2-lts" \
--set jenkins.backup.makeBackupBeforePodDeletion=true \
--set jenkins.backup.image=quay.io/jenkins-kubernetes-operator/backup-pvc:e2e-test \
--set webhook.enabled=true \
chart/jenkins-operator
assert_success
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/configuration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ const e2e = "e2e"
var expectedBasePluginsList = []plugins.Plugin{
plugins.Must(plugins.New("configuration-as-code:1810.v9b_c30a_249a_4c")),
plugins.Must(plugins.New("git:5.2.2")),
plugins.Must(plugins.New("kubernetes:4238.v41b_3ef14a_5d8")),
plugins.Must(plugins.New("kubernetes:4246.v5a_12b_1fe120e")),
plugins.Must(plugins.New("kubernetes-credentials-provider:1.262.v2670ef7ea_0c5")),
plugins.Must(plugins.New("job-dsl:1.87")),
plugins.Must(plugins.New("workflow-aggregator:596.v8c21c963d92d")),
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/test_utility.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
"sigs.k8s.io/controller-runtime/pkg/envtest"
)

const JenkinsTestImage = "jenkins/jenkins:2.452.1-lts"
const JenkinsTestImage = "jenkins/jenkins:2.452.2-lts"

var (
Cfg *rest.Config
Expand Down
2 changes: 1 addition & 1 deletion test/helm/helm_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ var _ = Describe("Jenkins Controller", func() {

cmd := exec.Command("../../bin/helm", "upgrade", "jenkins", "../../chart/jenkins-operator", "--namespace", namespace.Name, "--debug",
"--set-string", fmt.Sprintf("jenkins.namespace=%s", namespace.Name),
"--set-string", fmt.Sprintf("jenkins.image=%s", "jenkins/jenkins:2.452.1-lts"),
"--set-string", fmt.Sprintf("jenkins.image=%s", "jenkins/jenkins:2.452.2-lts"),
"--set-string", fmt.Sprintf("operator.image=%s", *imageName), "--install")
output, err := cmd.CombinedOutput()
Expect(err).NotTo(HaveOccurred(), string(output))
Expand Down

0 comments on commit e0f52b5

Please sign in to comment.