diff --git a/.github/workflows/auto-tests-e2e.yaml b/.github/workflows/auto-tests-e2e.yaml index 9691995c..ad987843 100644 --- a/.github/workflows/auto-tests-e2e.yaml +++ b/.github/workflows/auto-tests-e2e.yaml @@ -19,10 +19,6 @@ on: - 'backup/**' - '*.md' -env: - MINIKUBE_CPUS_NUMBER: 2 - MINIKUBE_MEMORY_AMOUNT: 6144 - jobs: run-tests: if: github.event.pull_request.draft == false @@ -35,11 +31,9 @@ jobs: - name: Set up env vars run: | echo "GO111MODULE=on" >> $GITHUB_ENV - echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV - echo "MINIKUBE_WANTUPDATENOTIFICATION=false" >> $GITHUB_ENV - echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV + echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "GOPATH=/home/runner/go" >> $GITHUB_ENV - name: Prepare go environment @@ -53,16 +47,21 @@ jobs: - name: Verify code formatting run: make verify + - name: Kind setup + uses: helm/kind-action@v1.9.0 + with: + cluster_name: ${{env.KIND_CLUSTER_NAME}} + config: kind-cluster.yaml + - name: Prepare environment for e2e run: | sudo apt-get update sudo apt-get install socat - sudo mkdir -p $HOME/.kube $HOME/.minikube - sudo chown -R $USER $HOME/.kube $HOME/.minikube - make minikube-start \ - MINIKUBE_DRIVER='docker' \ - MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \ - CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }} + sudo mkdir -p $HOME/.kube + sudo chown -R $USER $HOME/.kube + + - name: Jenkins Operator - e2e - list tests + run: make e2e E2E_TEST_ARGS='-ginkgo.v -ginkgo.dryRun' - name: Jenkins Operator - e2e run: make e2e E2E_TEST_ARGS='-ginkgo.v' @@ -75,4 +74,3 @@ jobs: randomns=$(kubectl get ns| grep -i 'ns[0-9]\+' |cut -d ' ' -f 1) kubectl get pods -n ${randomns} kubectl get events -n ${randomns} - kubectl logs -l app=jenkins-operator -n ${randomns} diff --git a/.github/workflows/auto-tests-helm.yaml b/.github/workflows/auto-tests-helm.yaml index 41a7353e..6c75fa19 100644 --- a/.github/workflows/auto-tests-helm.yaml +++ b/.github/workflows/auto-tests-helm.yaml @@ -19,10 +19,6 @@ on: - 'backup/**' - '*.md' -env: - MINIKUBE_CPUS_NUMBER: 2 - MINIKUBE_MEMORY_AMOUNT: 6144 - jobs: run-tests: if: github.event.pull_request.draft == false @@ -35,11 +31,9 @@ jobs: - name: Set up env vars run: | echo "GO111MODULE=on" >> $GITHUB_ENV - echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV - echo "MINIKUBE_WANTUPDATENOTIFICATION=false" >> $GITHUB_ENV - echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV + echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "GOPATH=/home/runner/go" >> $GITHUB_ENV - name: Prepare go environment @@ -53,20 +47,21 @@ jobs: - name: Verify code formatting run: make verify + - name: Kind setup + uses: helm/kind-action@v1.9.0 + with: + cluster_name: ${{env.KIND_CLUSTER_NAME}} + config: kind-cluster.yaml + - name: Prepare environment for e2e run: | sudo apt-get update sudo apt-get install socat - sudo mkdir -p $HOME/.kube $HOME/.minikube - sudo chown -R $USER $HOME/.kube $HOME/.minikube - make minikube-start \ - MINIKUBE_DRIVER='docker' \ - MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \ - CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }} + sudo mkdir -p $HOME/.kube + sudo chown -R $USER $HOME/.kube - name: Jenkins Operator - Helm Chart tests run: | git reset --hard make helm-lint - eval $(bin/minikube docker-env) make helm-e2e E2E_TEST_ARGS='-ginkgo.v' diff --git a/.github/workflows/release-nightly.yaml b/.github/workflows/release-nightly.yaml index 6f504836..3012bd26 100644 --- a/.github/workflows/release-nightly.yaml +++ b/.github/workflows/release-nightly.yaml @@ -8,10 +8,6 @@ on: description: "Flag for skipping the tests. If set to true (without quotation marks), the workflow will skip tests and go straight to releasing the nightly build. Use with caution!" required: false -env: - MINIKUBE_CPUS_NUMBER: 2 - MINIKUBE_MEMORY_AMOUNT: 6144 - jobs: publish-image: name: Publish nightly snapshot @@ -23,9 +19,6 @@ jobs: - name: Prep - Set up env vars run: | echo "GO111MODULE=on" >> $GITHUB_ENV - echo "CHANGE_MINIKUBE_NONE_USER=true" >> $GITHUB_ENV - echo "MINIKUBE_WANTUPDATENOTIFICATION=false" >> $GITHUB_ENV - echo "MINIKUBE_WANTREPORTERRORPROMPT=false" >> $GITHUB_ENV echo "GO_VERSION=v$(sed -n 's/GO_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "HELM_VERSION=v$(sed -n 's/HELM_VERSION=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV echo "KIND_CLUSTER_NAME=$(sed -n 's/KIND_CLUSTER_NAME=//p' config.base.env | tr -d '\n' | tr -d '"')" >> $GITHUB_ENV @@ -56,12 +49,15 @@ jobs: run: | sudo apt-get update sudo apt-get install socat - sudo mkdir -p $HOME/.kube $HOME/.minikube - sudo chown -R $USER $HOME/.kube $HOME/.minikube - make minikube-start \ - MINIKUBE_DRIVER='docker' \ - MEMORY_AMOUNT=${{ env.MINIKUBE_MEMORY_AMOUNT }} \ - CPUS_NUMBER=${{ env.MINIKUBE_CPUS_NUMBER }} + sudo mkdir -p $HOME/.kube + sudo chown -R $USER $HOME/.kube + + - name: Prep - Kind setup + if: ${{ github.event.inputs.skipTests != 'true' }} + uses: helm/kind-action@v1.9.0 + with: + cluster_name: ${{env.KIND_CLUSTER_NAME}} + config: kind-cluster.yaml - name: Test - e2e if: ${{ github.event.inputs.skipTests != 'true' }} @@ -72,20 +68,8 @@ jobs: run: | git reset --hard make helm-lint - eval $(bin/minikube docker-env) make helm-e2e E2E_TEST_ARGS='-ginkgo.v' - - name: Prep - Destroy minikube - if: ${{ github.event.inputs.skipTests != 'true' }} - run: | - make minikube-destroy - - - name: Prep - Kind setup - if: ${{ github.event.inputs.skipTests != 'true' }} - uses: helm/kind-action@v1.9.0 - with: - cluster_name: ${{env.KIND_CLUSTER_NAME}} - - name: Test - bats if: ${{ github.event.inputs.skipTests != 'true' }} run: make bats-tests diff --git a/Makefile b/Makefile index 7ad94bd3..a620f072 100644 --- a/Makefile +++ b/Makefile @@ -94,13 +94,46 @@ e2e: deepcopy-gen manifests ## Runs e2e tests, you can use EXTRA_ARGS RUNNING_TESTS=1 go test -parallel=1 "./test/e2e/" -ginkgo.v -tags "$(BUILDTAGS) cgo" -v -timeout 60m -run "$(E2E_TEST_SELECTOR)" \ -jenkins-api-hostname=$(JENKINS_API_HOSTNAME) -jenkins-api-port=$(JENKINS_API_PORT) -jenkins-api-use-nodeport=$(JENKINS_API_USE_NODEPORT) $(E2E_TEST_ARGS) +## HELM Section + +.PHONY: helm +HAS_HELM := $(shell command -v helm 2> /dev/null) +helm: ## Download helm if it's not present, otherwise symlink + @echo "+ $@" +ifeq ($(strip $(HAS_HELM)),) + mkdir -p $(PROJECT_DIR)/bin + curl -Lo $(PROJECT_DIR)/bin/helm.tar.gz https://get.helm.sh/helm-v$(HELM_VERSION)-$(PLATFORM)-amd64.tar.gz && tar xzfv $(PROJECT_DIR)/bin/helm.tar.gz -C $(PROJECT_DIR)/bin + mv $(PROJECT_DIR)/bin/$(PLATFORM)-amd64/helm $(PROJECT_DIR)/bin/helm + rm -rf $(PROJECT_DIR)/bin/$(PLATFORM)-amd64 + rm -rf $(PROJECT_DIR)/bin/helm.tar.gz +else + mkdir -p $(PROJECT_DIR)/bin + test -L $(PROJECT_DIR)/bin/helm || ln -sf $(shell command -v helm) $(PROJECT_DIR)/bin/helm +endif + +.PHONY: helm-lint +helm-lint: helm + bin/helm lint chart/jenkins-operator + +.PHONY: helm-release-latest +helm-release-latest: helm + mkdir -p /tmp/jenkins-operator-charts + mv chart/jenkins-operator/*.tgz /tmp/jenkins-operator-charts + cd chart && ../bin/helm package jenkins-operator + mv chart/jenkins-operator-*.tgz chart/jenkins-operator/ + bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/ --merge chart/index.yaml + mv /tmp/jenkins-operator-charts/*.tgz chart/jenkins-operator/ + .PHONY: helm-e2e IMAGE_NAME := quay.io/$(QUAY_ORGANIZATION)/$(QUAY_REGISTRY):$(GITCOMMIT)-amd64 helm-e2e: helm container-runtime-build-amd64 ## Runs helm e2e tests, you can use EXTRA_ARGS + kind load docker-image ${IMAGE_NAME} --name $(KIND_CLUSTER_NAME) @echo "+ $@" RUNNING_TESTS=1 go test -parallel=1 "./test/helm/" -ginkgo.v -tags "$(BUILDTAGS) cgo" -v -timeout 60m -run "$(E2E_TEST_SELECTOR)" -image-name=$(IMAGE_NAME) $(E2E_TEST_ARGS) +## CODE CHECKS section + .PHONY: vet vet: ## Verifies `go vet` passes @echo "+ $@" @@ -155,7 +188,7 @@ run: export WATCH_NAMESPACE = $(NAMESPACE) run: export OPERATOR_NAME = $(NAME) run: fmt vet install-crds build ## Run the executable, you can use EXTRA_ARGS @echo "+ $@" -ifeq ($(KUBERNETES_PROVIDER),minikube) +ifeq ($(KUBERNETES_PROVIDER),kind) kubectl config use-context $(KUBECTL_CONTEXT) endif ifeq ($(KUBERNETES_PROVIDER),crc) @@ -294,12 +327,6 @@ container-runtime-run: ## Run the container in docker, you can use EXTRA_ARGS --volume $(HOME)/.kube/config:/home/jenkins-operator/.kube/config \ quay.io/${QUAY_ORGANIZATION}/$(QUAY_REGISTRY):$(GITCOMMIT) /usr/bin/jenkins-operator $(OPERATOR_ARGS) -.PHONY: minikube-run -minikube-run: export WATCH_NAMESPACE = $(NAMESPACE) -minikube-run: export OPERATOR_NAME = $(NAME) -minikube-run: minikube-start run ## Run the operator locally and use minikube as Kubernetes cluster, you can use OPERATOR_ARGS - @echo "+ $@" - .PHONY: crc-run crc-run: export WATCH_NAMESPACE = $(NAMESPACE) crc-run: export OPERATOR_NAME = $(NAME) @@ -322,14 +349,6 @@ ifndef HAS_GEN_CRD_API_REFERENCE_DOCS endif $(GEN_CRD_API)/$(GEN_CRD_API) -config gen-crd-api-config.json -api-dir $(PKG)/api/$(API_VERSION) -template-dir $(GEN_CRD_API)/template -out-file documentation/$(VERSION)/jenkins-$(API_VERSION)-scheme.md -.PHONY: check-minikube -check-minikube: ## Checks if KUBERNETES_PROVIDER is set to minikube - @echo "+ $@" - @echo "KUBERNETES_PROVIDER '$(KUBERNETES_PROVIDER)'" -ifneq ($(KUBERNETES_PROVIDER),minikube) - $(error KUBERNETES_PROVIDER not set to 'minikube') -endif - .PHONY: check-crc check-crc: ## Checks if KUBERNETES_PROVIDER is set to crc @echo "+ $@" @@ -338,44 +357,10 @@ ifneq ($(KUBERNETES_PROVIDER),crc) $(error KUBERNETES_PROVIDER not set to 'crc') endif -.PHONY: helm -HAS_HELM := $(shell which $(PROJECT_DIR)/bin/helm) -helm: ## Download helm if it's not present - @echo "+ $@" -ifndef HAS_HELM - mkdir -p $(PROJECT_DIR)/bin - curl -Lo bin/helm.tar.gz https://get.helm.sh/helm-v$(HELM_VERSION)-$(PLATFORM)-amd64.tar.gz && tar xzfv bin/helm.tar.gz -C $(PROJECT_DIR)/bin - mv $(PROJECT_DIR)/bin/$(PLATFORM)-amd64/helm $(PROJECT_DIR)/bin/helm - rm -rf $(PROJECT_DIR)/bin/$(PLATFORM)-amd64 - rm -rf $(PROJECT_DIR)/bin/helm.tar.gz -endif - -.PHONY: minikube -HAS_MINIKUBE := $(shell which $(PROJECT_DIR)/bin/minikube) -minikube: ## Download minikube if it's not present - @echo "+ $@" -ifndef HAS_MINIKUBE - mkdir -p $(PROJECT_DIR)/bin - wget -O $(PROJECT_DIR)/bin/minikube https://github.com/kubernetes/minikube/releases/download/v$(MINIKUBE_VERSION)/minikube-$(PLATFORM)-amd64 - chmod +x $(PROJECT_DIR)/bin/minikube -endif - -.PHONY: minikube-start -minikube-start: minikube check-minikube ## Start minikube - @echo "+ $@" - bin/minikube status && exit 0 || \ - bin/minikube start --kubernetes-version $(MINIKUBE_KUBERNETES_VERSION) --dns-domain=$(CLUSTER_DOMAIN) --extra-config=kubelet.cluster-domain=$(CLUSTER_DOMAIN) --driver=$(MINIKUBE_DRIVER) --memory $(MEMORY_AMOUNT) --cpus $(CPUS_NUMBER) - -.PHONY: minikube-destroy -minikube-destroy: ## Stop and destroy minikube - @echo "+ $@" - bin/minikube stop - bin/minikube delete - .PHONY: kind-setup kind-setup: ## Setup kind cluster @echo "+ $@" - kind create cluster --name $(KIND_CLUSTER_NAME) + kind create cluster --config kind-cluster.yaml --name $(KIND_CLUSTER_NAME) .PHONY: kind-clean kind-clean: ## Delete kind cluster @@ -464,20 +449,6 @@ endif go mod vendor -v @echo -.PHONY: helm-lint -helm-lint: helm - @echo "+ $@" - bin/helm lint chart/jenkins-operator - -.PHONY: helm-release-latest -helm-release-latest: helm - @echo "+ $@" - mkdir -p /tmp/jenkins-operator-charts - mv chart/jenkins-operator/*.tgz /tmp/jenkins-operator-charts - cd chart && ../bin/helm package jenkins-operator - mv chart/jenkins-operator-*.tgz chart/jenkins-operator/ - bin/helm repo index chart/ --url https://raw.githubusercontent.com/jenkinsci/kubernetes-operator/master/chart/ --merge chart/index.yaml - mv /tmp/jenkins-operator-charts/*.tgz chart/jenkins-operator/ # Download and build hugo extended locally if necessary HUGO_PATH = $(shell pwd)/bin/hugo @@ -601,12 +572,10 @@ kubebuilder: source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR); # install cert-manager v1.5.1 -.PHONY: install-cert-manager -install-cert-manager: minikube-start +install-cert-manager: kind-setup kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml -.PHONY: uninstall-cert-manager -uninstall-cert-manager: minikube-start +uninstall-cert-manager: kind-setup kubectl delete -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.yaml # Deploy the operator locally along with webhook using helm charts diff --git a/config.base.env b/config.base.env index 697bb7e3..d7bc92bf 100644 --- a/config.base.env +++ b/config.base.env @@ -1,16 +1,16 @@ +ALL_IN_ONE_DEPLOY_FILE_PREFIX="all-in-one" +API_VERSION_NEXT="v1alpha3" +API_VERSION="v1alpha2" +CLUSTER_DOMAIN="cluster.local" +GEN_CRD_API="gen-crd-api-reference-docs" +GO_VERSION="1.15.6" +HELM_VERSION="3.12.3" +IMAGE_PULL_MODE="local" +KIND_CLUSTER_NAME="jenkins" +LATEST_LTS_VERSION="2.440.1" NAME="kubernetes-operator" -OPERATOR_SDK_VERSION="1.33.0" -GO_VERSION="1.20.3" +NAMESPACE="default" +OPERATOR_SDK_VERSION="1.3.0" PKG="github.com/jenkinsci/kubernetes-operator" QUAY_ORGANIZATION="jenkins-kubernetes-operator" QUAY_REGISTRY="operator" -NAMESPACE="default" -API_VERSION="v1alpha2" -API_VERSION_NEXT="v1alpha3" -ALL_IN_ONE_DEPLOY_FILE_PREFIX="all-in-one" -GEN_CRD_API="gen-crd-api-reference-docs" -IMAGE_PULL_MODE="local" -HELM_VERSION="3.12.3" -CLUSTER_DOMAIN="cluster.local" -LATEST_LTS_VERSION="2.440.1" -KIND_CLUSTER_NAME="jenkins" diff --git a/config.crc.env b/config.crc.env deleted file mode 100644 index 8bead977..00000000 --- a/config.crc.env +++ /dev/null @@ -1,7 +0,0 @@ -KUBERNETES_PROVIDER=crc - -JENKINS_API_HOSTNAME_COMMAND=crc ip -JENKINS_API_PORT=0 -JENKINS_API_USE_NODEPORT=true - -CRC_OC_PROJECT=default \ No newline at end of file diff --git a/config.kind.env b/config.kind.env new file mode 100644 index 00000000..b4e7ddf1 --- /dev/null +++ b/config.kind.env @@ -0,0 +1,5 @@ +JENKINS_API_HOSTNAME_COMMAND=echo localhost +JENKINS_API_PORT=0 +JENKINS_API_USE_NODEPORT=true +KUBERNETES_PROVIDER=kind +KUBECTL_CONTEXT=kind-jenkins diff --git a/config.minikube.env b/config.minikube.env deleted file mode 100644 index 944978fc..00000000 --- a/config.minikube.env +++ /dev/null @@ -1,10 +0,0 @@ -KUBERNETES_PROVIDER=minikube - -MINIKUBE_KUBERNETES_VERSION=v1.24.8 -MINIKUBE_DRIVER=virtualbox -MINIKUBE_VERSION=1.28.0 -KUBECTL_CONTEXT=minikube - -JENKINS_API_HOSTNAME_COMMAND=bin/minikube ip -JENKINS_API_PORT=0 -JENKINS_API_USE_NODEPORT=true diff --git a/flake.lock b/flake.lock index 513664d6..4190dfaa 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707451808, - "narHash": "sha256-UwDBUNHNRsYKFJzyTMVMTF5qS4xeJlWoeyJf+6vvamU=", + "lastModified": 1708751719, + "narHash": "sha256-0uWOKSpXJXmXswOvDM5Vk3blB74apFB6rNGWV5IjoN0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "442d407992384ed9c0e6d352de75b69079904e4e", + "rev": "f63ce824cd2f036216eb5f637dfef31e1a03ee89", "type": "github" }, "original": { diff --git a/kind-cluster.yaml b/kind-cluster.yaml new file mode 100644 index 00000000..726f6137 --- /dev/null +++ b/kind-cluster.yaml @@ -0,0 +1,9 @@ +apiVersion: kind.x-k8s.io/v1alpha4 +kind: Cluster +nodes: +- role: control-plane + extraPortMappings: + - containerPort: 30303 + hostPort: 30303 + listenAddress: "0.0.0.0" + protocol: tcp \ No newline at end of file diff --git a/test/e2e/jenkins_test.go b/test/e2e/jenkins_test.go index 0417964c..1543c465 100644 --- a/test/e2e/jenkins_test.go +++ b/test/e2e/jenkins_test.go @@ -145,6 +145,7 @@ func createJenkinsCRSafeRestart(name, namespace string, seedJob *[]v1alpha2.Seed Service: v1alpha2.Service{ Type: corev1.ServiceTypeNodePort, Port: constants.DefaultHTTPPortInt32, + NodePort: 30303, }, }, } @@ -239,10 +240,12 @@ func verifyJenkinsAPIConnection(jenkins *v1alpha2.Jenkins, namespace string) (je func restartJenkinsMasterPod(jenkins *v1alpha2.Jenkins) { _, _ = fmt.Fprintf(GinkgoWriter, "Restarting Jenkins master pod\n") jenkinsPod := getJenkinsMasterPod(jenkins) + _, _ = fmt.Fprintf(GinkgoWriter, "Jenkins pod: %+v\n", jenkinsPod) Expect(K8sClient.Delete(context.TODO(), jenkinsPod)).Should(Succeed()) Eventually(func() (bool, error) { jenkinsPod = getJenkinsMasterPod(jenkins) + fmt.Printf("Jenkins pod deletion timestamp: %v\n", jenkinsPod.DeletionTimestamp) return jenkinsPod.DeletionTimestamp != nil, nil }, 45*retryInterval, retryInterval).Should(BeTrue()) diff --git a/test/e2e/restorebackup_test.go b/test/e2e/restorebackup_test.go index 34d1ffb2..cb895853 100644 --- a/test/e2e/restorebackup_test.go +++ b/test/e2e/restorebackup_test.go @@ -53,7 +53,7 @@ func createPVC(namespace string) { Namespace: namespace, }, Spec: corev1.PersistentVolumeClaimSpec{ - AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteMany}, + AccessModes: []corev1.PersistentVolumeAccessMode{corev1.ReadWriteOnce}, Resources: corev1.ResourceRequirements{ Requests: corev1.ResourceList{ corev1.ResourceStorage: resource.MustParse("1Gi"), @@ -212,6 +212,7 @@ func createJenkinsWithBackupAndRestoreConfigured(name, namespace string) *v1alph Service: v1alpha2.Service{ Type: corev1.ServiceTypeNodePort, Port: constants.DefaultHTTPPortInt32, + NodePort: 30303, }, }, } diff --git a/test/e2e/test_utility.go b/test/e2e/test_utility.go index f3c06b4c..7b62003f 100644 --- a/test/e2e/test_utility.go +++ b/test/e2e/test_utility.go @@ -167,6 +167,7 @@ func RenderJenkinsCR(name, namespace string, seedJob *[]v1alpha2.SeedJob, groovy Service: v1alpha2.Service{ Type: corev1.ServiceTypeNodePort, Port: constants.DefaultHTTPPortInt32, + NodePort: 30303, }, Roles: []rbacv1.RoleRef{ { diff --git a/test/e2e/wait.go b/test/e2e/wait.go index 720352b9..4d4b97a0 100644 --- a/test/e2e/wait.go +++ b/test/e2e/wait.go @@ -20,7 +20,7 @@ import ( ) var ( - retryInterval = time.Second * 5 + retryInterval = time.Second * 10 ) func WaitForJenkinsBaseConfigurationToComplete(jenkins *v1alpha2.Jenkins) { @@ -53,6 +53,8 @@ func waitForRecreateJenkinsMasterPod(jenkins *v1alpha2.Jenkins) { } pods := &corev1.PodList{} err := K8sClient.List(context.TODO(), pods, lo) + // debug print + _, _ = fmt.Fprintf(ginkgo.GinkgoWriter, "Pods: %+v\n", pods) if err != nil { return false, err } diff --git a/variables.mk b/variables.mk index 5367de37..4a917c71 100644 --- a/variables.mk +++ b/variables.mk @@ -18,14 +18,14 @@ define strip_quotes $(shell echo $(1) | sed -e 's/^"//' -e 's/"$$//') endef -include config.base.env -$(foreach var,$(shell cat config.base.env),$(eval $(call strip_quotes,$(var)))) - # Import config # You can change the default config with `make config="config_special.env" build` -config ?= config.minikube.env +config ?= config.kind.env include $(config) +include config.base.env +$(foreach var,$(shell cat config.base.env),$(eval $(call strip_quotes,$(var)))) + # Set an output prefix, which is the local directory if not specified PREFIX?=$(shell pwd)