Skip to content

Commit 6de1856

Browse files
DISTMONGO-101 added psmdb related tests
1 parent 2347683 commit 6de1856

12 files changed

+1011
-0
lines changed

psmdb/psmdb-multi-parallel.groovy

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,223 @@
1+
library changelog: false, identifier: "lib@master", retriever: modernSCM([
2+
$class: 'GitSCMSource',
3+
remote: 'https://github.com/Percona-Lab/jenkins-pipelines.git'
4+
])
5+
6+
pipeline {
7+
agent {
8+
label 'min-centos-7-x64'
9+
}
10+
environment {
11+
PATH = '/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin'
12+
}
13+
parameters {
14+
choice(
15+
name: 'REPO',
16+
description: 'Repo for testing',
17+
choices: [
18+
'testing',
19+
'experimental',
20+
'release'
21+
]
22+
)
23+
string(
24+
defaultValue: '5.0.2',
25+
description: 'PSMDB Version for tests',
26+
name: 'PSMDB_VERSION'
27+
)
28+
string(
29+
defaultValue: '',
30+
description: 'previous minor PSMDB version for upgrade tests (leave blank to skip)',
31+
name: 'PREV_MIN_PSMDB_VERSION'
32+
)
33+
string(
34+
defaultValue: '4.4.8',
35+
description: 'previous major PSMDB version for upgrade tests (leave blank to skip)',
36+
name: 'PREV_MAJ_PSMDB_VERSION'
37+
)
38+
string(
39+
defaultValue: 'main',
40+
description: 'base Branch for upgrade test',
41+
name: 'TESTING_BRANCH')
42+
43+
}
44+
options {
45+
withCredentials(moleculePbmJenkinsCreds())
46+
disableConcurrentBuilds()
47+
}
48+
stages {
49+
stage ('Test All') {
50+
parallel {
51+
stage ('fuctional tests') {
52+
steps {
53+
build job: 'psmdb-parallel', parameters: [
54+
string(name: 'REPO', value: "${env.REPO}"),
55+
string(name: 'PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
56+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
57+
]
58+
}
59+
}
60+
stage('upgrade from minor version without encryption') {
61+
steps {
62+
script {
63+
if (env.PREV_MIN_PSMDB_VERSION != '') {
64+
build job: "psmdb-upgrade-parallel", parameters: [
65+
string(name: 'TO_REPO', value: "${env.REPO}"),
66+
string(name: 'FROM_REPO', value: "release"),
67+
string(name: 'TO_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
68+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PREV_MIN_PSMDB_VERSION}"),
69+
string(name: 'ENCRYPTION', value: "NONE"),
70+
string(name: 'CIPHER', value: "AES256-CBC"),
71+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
72+
]
73+
}
74+
else {
75+
echo 'skipped upgrade from minor version'
76+
}
77+
}
78+
}
79+
}
80+
stage('upgrade from minor vesrsion with vault encryption') {
81+
steps {
82+
script {
83+
if (env.PREV_MIN_PSMDB_VERSION != '') {
84+
build job: "psmdb-upgrade-parallel", parameters: [
85+
string(name: 'TO_REPO', value: "${env.REPO}"),
86+
string(name: 'FROM_REPO', value: "release"),
87+
string(name: 'TO_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
88+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PREV_MIN_PSMDB_VERSION}"),
89+
string(name: 'ENCRYPTION', value: "VAULT"),
90+
string(name: 'CIPHER', value: "AES256-CBC"),
91+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
92+
]
93+
}
94+
else {
95+
echo 'skipped upgrade from minor version'
96+
}
97+
}
98+
}
99+
}
100+
stage('upgrade from major version without encryption') {
101+
steps {
102+
script {
103+
if (env.PREV_MAJ_PSMDB_VERSION != '') {
104+
build job: "psmdb-upgrade-parallel", parameters: [
105+
string(name: 'TO_REPO', value: "${env.REPO}"),
106+
string(name: 'FROM_REPO', value: "release"),
107+
string(name: 'TO_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
108+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PREV_MAJ_PSMDB_VERSION}"),
109+
string(name: 'ENCRYPTION', value: "NONE"),
110+
string(name: 'CIPHER', value: "AES256-CBC"),
111+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
112+
]
113+
}
114+
else {
115+
echo 'skipped upgrade from major version'
116+
}
117+
}
118+
}
119+
}
120+
stage('upgrade from major version with vault encryption') {
121+
steps {
122+
script {
123+
if (env.PREV_MAJ_PSMDB_VERSION != '') {
124+
build job: "psmdb-upgrade-parallel", parameters: [
125+
string(name: 'TO_REPO', value: "${env.REPO}"),
126+
string(name: 'FROM_REPO', value: "release"),
127+
string(name: 'TO_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
128+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PREV_MAJ_PSMDB_VERSION}"),
129+
string(name: 'ENCRYPTION', value: "VAULT"),
130+
string(name: 'CIPHER', value: "AES256-CBC"),
131+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
132+
]
133+
}
134+
else {
135+
echo 'skipped upgrade from major version'
136+
}
137+
}
138+
}
139+
}
140+
stage('downgrade to minor version without encryption') {
141+
steps {
142+
script {
143+
if (env.PREV_MIN_PSMDB_VERSION != '') {
144+
build job: "psmdb-upgrade-parallel", parameters: [
145+
string(name: 'TO_REPO', value: "release"),
146+
string(name: 'FROM_REPO', value: "${env.REPO}"),
147+
string(name: 'TO_PSMDB_VERSION', value: "${env.PREV_MIN_PSMDB_VERSION}"),
148+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
149+
string(name: 'ENCRYPTION', value: "NONE"),
150+
string(name: 'CIPHER', value: "AES256-CBC"),
151+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
152+
]
153+
}
154+
else {
155+
echo 'skipped downgrade to minor version'
156+
}
157+
}
158+
}
159+
}
160+
stage('downgrade to minor version with vault encryption') {
161+
steps {
162+
script {
163+
if (env.PREV_MIN_PSMDB_VERSION != '') {
164+
build job: "psmdb-upgrade-parallel", parameters: [
165+
string(name: 'TO_REPO', value: "release"),
166+
string(name: 'FROM_REPO', value: "${env.REPO}"),
167+
string(name: 'TO_PSMDB_VERSION', value: "${env.PREV_MIN_PSMDB_VERSION}"),
168+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
169+
string(name: 'ENCRYPTION', value: "VAULT"),
170+
string(name: 'CIPHER', value: "AES256-CBC"),
171+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
172+
]
173+
}
174+
else {
175+
echo 'skipped downgrade to minor version'
176+
}
177+
}
178+
}
179+
}
180+
stage('downgrade to major version without encryption') {
181+
steps {
182+
script {
183+
if (env.PREV_MAJ_PSMDB_VERSION != '') {
184+
build job: "psmdb-upgrade-parallel", parameters: [
185+
string(name: 'TO_REPO', value: "release"),
186+
string(name: 'FROM_REPO', value: "${env.REPO}"),
187+
string(name: 'TO_PSMDB_VERSION', value: "${env.PREV_MAJ_PSMDB_VERSION}"),
188+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
189+
string(name: 'ENCRYPTION', value: "NONE"),
190+
string(name: 'CIPHER', value: "AES256-CBC"),
191+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
192+
]
193+
}
194+
else {
195+
echo 'skipped downgrade to major version'
196+
}
197+
}
198+
}
199+
}
200+
stage('downgrade to major version with vault encryption') {
201+
steps {
202+
script {
203+
if (env.PREV_MAJ_PSMDB_VERSION != '') {
204+
build job: "psmdb-upgrade-parallel", parameters: [
205+
string(name: 'TO_REPO', value: "release"),
206+
string(name: 'FROM_REPO', value: "${env.REPO}"),
207+
string(name: 'TO_PSMDB_VERSION', value: "${env.PREV_MAJ_PSMDB_VERSION}"),
208+
string(name: 'FROM_PSMDB_VERSION', value: "${env.PSMDB_VERSION}"),
209+
string(name: 'ENCRYPTION', value: "VAULT"),
210+
string(name: 'CIPHER', value: "AES256-CBC"),
211+
string(name: 'TESTING_BRANCH', value: "${env.TESTING_BRANCH}")
212+
]
213+
}
214+
else {
215+
echo 'skipped downgrade to major version'
216+
}
217+
}
218+
}
219+
}
220+
}
221+
}
222+
}
223+
}

psmdb/psmdb-multi-parallel.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
- job:
2+
name: psmdb-multi-parallel
3+
project-type: pipeline
4+
description: |
5+
Do not edit this job through the web!
6+
pipeline-scm:
7+
scm:
8+
- git:
9+
url: https://github.com/Percona-Lab/jenkins-pipelines.git
10+
branches:
11+
- 'master'
12+
wipe-workspace: false
13+
lightweight-checkout: true
14+
script-path: psmdb/psmdb-multi-parallel.groovy

0 commit comments

Comments
 (0)