Skip to content

Commit a2aa954

Browse files
Merge pull request #286 from vitalykorolev/MLE-15676_pipeline-fix2
MLE-15676 pipeline fix2
2 parents e291d8c + 24c78da commit a2aa954

File tree

4 files changed

+37
-21
lines changed

4 files changed

+37
-21
lines changed

Jenkinsfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ void preBuildCheck() {
4444
sh '''
4545
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /space/go/bin v1.50.0
4646
wget https://github.com/gotestyourself/gotestsum/releases/download/v1.12.0/gotestsum_1.12.0_linux_amd64.tar.gz -O gotestsum.tar.gz
47-
tar -xf gotestsum.tar.gz -C /space/go/bin/ gotestsum
47+
mkdir -p /space/go/bin/
48+
tar -xf gotestsum.tar.gz -C /space/go/bin/
4849
'''
4950
}
5051

@@ -165,7 +166,8 @@ pipeline {
165166
skipStagesAfterUnstable()
166167
}
167168
triggers {
168-
parameterizedCron( env.BRANCH_NAME == 'develop' ? '''00 04 * * * % IMAGE_SCAN=true;HELM_UPGRADE_TESTS=true;HC_TESTS=true''' : '')
169+
parameterizedCron( env.BRANCH_NAME == 'develop' ? '''00 04 * * * % IMAGE_SCAN=true;HELM_UPGRADE_TESTS=true;HC_TESTS=true
170+
00 04 * * * % dockerImageType=ubi''' : '')
169171
}
170172
environment {
171173
dockerRegistry = 'ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com'

makefile

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ dockerImage?=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/mar
22
prevDockerImage?=ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos:10.0-20230522-centos-1.0.2
33
kubernetesVersion?=v1.25.8
44
minikubeMemory?=10gb
5+
testSelection?=...
56
## System requirement:
67
## - Go
78
## - gotestsum (if you want to enable output saving for testing commands)
@@ -94,27 +95,31 @@ e2e-test: prepare
9495
@echo "=====Installing minikube cluster"
9596
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --memory=$(minikubeMemory) --cpus=2
9697

97-
@echo "=====Loading marklogc image $(dockerImage) to minikube cluster"
98-
minikube image load $(dockerImage)
99-
100-
@echo "=====Loading marklogc image $(prevDockerImage) to minikube cluster"
101-
minikube image load $(prevDockerImage)
102-
10398
@echo "=====Pull $(dockerImage) image for upgrade test"
99+
## This is only needed while we use minikube since the image is not accessible to go at runtime
104100
docker pull $(dockerImage)
105101

102+
# Get env details for debugging
106103
kubectl get nodes
107104
kubectl -n kube-system get pods
108105
minikube version
109106
kubectl version
110107
go version
111108
docker version
112109

110+
# Update security context in values for ubi image
111+
ifneq ($(findstring rootless,$(dockerImage)),rootless)
112+
echo "=Updating security context in values for root image."
113+
sed -i 's/allowPrivilegeEscalation: false/allowPrivilegeEscalation: true/' charts/values.yaml
114+
else
115+
echo "=Security context is not changed for rootless image."
116+
endif
117+
113118
@echo "=====Setting hugepages values to 0 for e2e tests"
114119
sudo sysctl -w vm.nr_hugepages=0
115120

116121
@echo "=====Running e2e tests"
117-
$(if $(saveOutput),gotestsum --junitfile test/test_results/e2e-tests.xml ./test/e2e/$(testSelection) -count=1 -timeout 180m, go test -v -count=1 -timeout 180m ./test/e2e/...)
122+
$(if $(saveOutput),gotestsum --junitfile test/test_results/e2e-tests.xml ./test/e2e/$(testSelection) -count=1 -timeout 180m, go test -v -count=1 -timeout 180m ./test/e2e/$(testSelection))
118123

119124
@echo "=====Setting hugepages value to 1280 for hugepages-e2e test"
120125
sudo sysctl -w vm.nr_hugepages=1280
@@ -131,7 +136,6 @@ e2e-test: prepare
131136

132137
@echo "=====Delete minikube cluster"
133138
minikube delete
134-
docker image rm $(dockerImage)
135139

136140
#***************************************************************************
137141
# hc-test
@@ -146,13 +150,23 @@ hc-test:
146150
@echo "=====Installing minikube cluster"
147151
minikube start --driver=docker --kubernetes-version=$(kubernetesVersion) -n=1 --memory=$(minikubeMemory) --cpus=2
148152

149-
@echo "=====Loading marklogc image $(dockerImage) to minikube cluster"
150-
minikube image load $(dockerImage)
151-
152153
@echo "=====Deploy helm with a single MarkLogic node"
153154
helm install hc charts --set auth.adminUsername=admin --set auth.adminPassword=admin --set persistence.enabled=false --wait
154155
kubectl wait -l statefulset.kubernetes.io/pod-name=hc-0 --for=condition=ready pod --timeout=30m
155156

157+
# Get env details for debugging
158+
kubectl get nodes
159+
kubectl -n kube-system get pods
160+
minikube version
161+
kubectl version
162+
go version
163+
docker version
164+
165+
# Update security context in values for rootless image
166+
ifeq ($(findstring rootless,$(dockerImage)),rootless)
167+
sed -i 's/allowPrivilegeEscalation: true/allowPrivilegeEscalation: false/' charts/values.yaml
168+
endif
169+
156170
@echo "=====Clone Data Hub repository"
157171
rm -rf marklogic-data-hub; git clone https://github.com/marklogic/marklogic-data-hub
158172

test/e2e/upgrade_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ func TestHelmUpgrade(t *testing.T) {
3232
imageTag, tagPres := os.LookupEnv("dockerVersion")
3333

3434
if !repoPres {
35-
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos"
35+
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless"
3636
t.Logf("No imageRepo variable present, setting to default value: " + imageRepo)
3737
}
3838

3939
if !tagPres {
40-
imageTag = "11.0.nightly-centos-1.0.2"
40+
imageTag = "latest-11"
4141
t.Logf("No imageTag variable present, setting to default value: " + imageTag)
4242
}
4343

@@ -76,8 +76,8 @@ func TestHelmUpgrade(t *testing.T) {
7676
SetValues: map[string]string{
7777
"persistence.enabled": "true",
7878
"replicaCount": "2",
79-
"image.repository": "progressofficial/marklogic-db",
80-
"image.tag": "latest",
79+
"image.repository": imageRepo,
80+
"image.tag": imageTag,
8181
"logCollection.enabled": "false",
8282
},
8383
}
@@ -164,15 +164,15 @@ func TestMLupgrade(t *testing.T) {
164164
prevImageTag, prevTagPres := os.LookupEnv("dockerVersion")
165165

166166
if !repoPres {
167-
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-centos"
167+
imageRepo = "ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi-rootless"
168168
t.Logf("No imageRepo variable present, setting to default value: " + imageRepo)
169169
}
170170
if !tagPres {
171-
imageTag = "11.0.nightly-centos-1.0.2"
171+
imageTag = "latest-11"
172172
t.Logf("No imageTag variable present, setting to default value: " + imageTag)
173173
}
174174
if !prevTagPres {
175-
prevImageTag = "10.0-nightly-centos-1.0.2"
175+
prevImageTag = "latest-10"
176176
t.Logf("No imageTag variable present, setting to default value: " + prevImageTag)
177177
}
178178

test/testUtil/ml_ready_check.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func MLReadyCheck(t *testing.T, kubectlOpt *k8s.KubectlOptions, podName string,
1717
tunnel7997 := k8s.NewTunnel(kubectlOpt, k8s.ResourceTypePod, podName, 7997, 7997)
1818
defer tunnel7997.Close()
1919
tunnel7997.ForwardPort(t)
20-
endpoint7997 := fmt.Sprintf("http://%s/LATEST/healthcheck", tunnel7997.Endpoint())
20+
endpoint7997 := fmt.Sprintf("http://%s/", tunnel7997.Endpoint())
2121

2222
// verify if 7997 health check endpoint returns 200
2323
err := http_helper.HttpGetWithRetryWithCustomValidationE(

0 commit comments

Comments
 (0)