Skip to content

Commit 9b850de

Browse files
tkoscielnthozza
authored andcommitted
tests/CI: Re-enable the vmware tests on RHEL 10
Re-enable the vmware tests on RHEL 10 and use vcenter 8 instead of 6. This fixes the issues caused by outdated CPUs in old cluster by migrating to a new one with new hosts as well.
1 parent 0dcbece commit 9b850de

File tree

3 files changed

+62
-67
lines changed

3 files changed

+62
-67
lines changed

.gitlab-ci.yml

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ regression-composer-works-behind-satellite-fallback:
252252

253253
regression-composer-works-behind-satellite:
254254
extends: .regression
255-
rules:
255+
rules:
256256
# WHITELIST: Run on RHEL-nightly only
257257
- if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
258258
variables:
@@ -270,7 +270,7 @@ regression-excluded-dependency:
270270

271271
regression-include-excluded-packages:
272272
extends: .regression
273-
rules:
273+
rules:
274274
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
275275
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
276276
- !reference [.nightly_rules_all, rules]
@@ -305,7 +305,7 @@ regression-insecure-repo:
305305

306306
regression-no-explicit-rootfs-definition:
307307
extends: .regression
308-
rules:
308+
rules:
309309
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
310310
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
311311
- !reference [.nightly_rules_all, rules]
@@ -493,11 +493,8 @@ vmware.sh_vmdk:
493493
extends: .integration_rhel
494494
rules:
495495
# Run only on x86_64
496-
# Temporarily disabled for RHEL-10 and Centos-10
497-
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
498-
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.6-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
499-
# - !reference [.upstream_rules_x86_64, rules]
500-
# - !reference [.nightly_rules_x86_64, rules]
496+
- !reference [.upstream_rules_x86_64, rules]
497+
- !reference [.nightly_rules_x86_64, rules]
501498
- !reference [.ga_rules_x86_64, rules]
502499
variables:
503500
SCRIPT: vmware.sh vmdk
@@ -506,11 +503,8 @@ vmware.sh_ova:
506503
extends: .integration_rhel
507504
rules:
508505
# Run only on x86_64
509-
# Temporarily disabled for RHEL-10 and Centos-10
510-
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
511-
# - !reference [.upstream_rules_x86_64, rules]
512-
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.6-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
513-
# - !reference [.nightly_rules_x86_64, rules]
506+
- !reference [.upstream_rules_x86_64, rules]
507+
- !reference [.nightly_rules_x86_64, rules]
514508
- !reference [.ga_rules_x86_64, rules]
515509
variables:
516510
SCRIPT: vmware.sh ova
@@ -585,6 +579,7 @@ API:
585579
- azure
586580
- gcp
587581
- oci
582+
- vsphere
588583
RUNNER:
589584
- aws/rhel-10.0-nightly-x86_64
590585
INTERNAL_NETWORK: ["true"]

test/cases/api/common/vsphere.sh

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ function installClientVSphere() {
2525
}
2626

2727
function checkEnvVSphere() {
28-
printenv GOVMOMI_USERNAME GOVMOMI_PASSWORD GOVMOMI_URL GOVMOMI_CLUSTER GOVMOMI_DATACENTER GOVMOMI_DATASTORE GOVMOMI_FOLDER GOVMOMI_NETWORK > /dev/null
28+
printenv VC8_GOVMOMI_USERNAME VC8_GOVMOMI_PASSWORD VC8_GOVMOMI_URL VC8_GOVMOMI_CLUSTER VC8_GOVMOMI_DATACENTER VC8_GOVMOMI_DATASTORE VC8_GOVMOMI_FOLDER VC8_GOVMOMI_NETWORK > /dev/null
2929
}
3030

3131
# Create a cloud-int user-data file
@@ -134,24 +134,24 @@ function verifyInVSphere() {
134134
# if one with this name exists, it appends "_<number>" to the name
135135
greenprint "💿 ⬆️ Importing the converted VMDK image to VSphere"
136136
$GOVC_CMD import.vmdk \
137-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
137+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
138138
-k=true \
139-
-dc="${GOVMOMI_DATACENTER}" \
140-
-pool="${GOVMOMI_CLUSTER}"/Resources \
141-
-ds="${GOVMOMI_DATASTORE}" \
139+
-dc="${VC8_GOVMOMI_DATACENTER}" \
140+
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
141+
-ds="${VC8_GOVMOMI_DATASTORE}" \
142142
"${WORKDIR}/${VSPHERE_IMAGE_NAME}" \
143143
"${VSPHERE_VM_NAME}"
144144

145145
# create the VM, but don't start it
146146
greenprint "🖥️ Creating VM in VSphere"
147147
$GOVC_CMD vm.create \
148-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
148+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
149149
-k=true \
150-
-dc="${GOVMOMI_DATACENTER}" \
151-
-pool="${GOVMOMI_CLUSTER}"/Resources \
152-
-ds="${GOVMOMI_DATASTORE}" \
153-
-folder="${GOVMOMI_FOLDER}" \
154-
-net="${GOVMOMI_NETWORK}" \
150+
-dc="${VC8_GOVMOMI_DATACENTER}" \
151+
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
152+
-ds="${VC8_GOVMOMI_DATASTORE}" \
153+
-folder="${VC8_GOVMOMI_FOLDER}" \
154+
-net="${VC8_GOVMOMI_NETWORK}" \
155155
-net.adapter=vmxnet3 \
156156
-m=4096 -c=2 -g=rhel8_64Guest -on=true -firmware=efi \
157157
-disk="${VSPHERE_VM_NAME}/${VSPHERE_IMAGE_NAME}" \
@@ -161,53 +161,53 @@ function verifyInVSphere() {
161161

162162
# tagging vm as testing object
163163
$GOVC_CMD tags.attach \
164-
-u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
164+
-u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
165165
-k=true \
166166
-c "osbuild-composer testing" gitlab-ci-test \
167-
"/${GOVMOMI_DATACENTER}/vm/${GOVMOMI_FOLDER}/${VSPHERE_VM_NAME}"
167+
"/${VC8_GOVMOMI_DATACENTER}/vm/${VC8_GOVMOMI_FOLDER}/${VSPHERE_VM_NAME}"
168168

169169
# upload ISO, create CDROM device and insert the ISO in it
170170
greenprint "💿 ⬆️ Uploading the cloud-init user-data ISO to VSphere"
171171
VSPHERE_CIDATA_ISO_PATH="${VSPHERE_VM_NAME}/cidata.iso"
172172
$GOVC_CMD datastore.upload \
173-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
173+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
174174
-k=true \
175-
-dc="${GOVMOMI_DATACENTER}" \
176-
-ds="${GOVMOMI_DATASTORE}" \
175+
-dc="${VC8_GOVMOMI_DATACENTER}" \
176+
-ds="${VC8_GOVMOMI_DATASTORE}" \
177177
"${_ci_iso_path}" \
178178
"${VSPHERE_CIDATA_ISO_PATH}"
179179

180180
local _cdrom_device
181181
greenprint "🖥️ + 💿 Adding a CD-ROM device to the VM"
182182
_cdrom_device="$($GOVC_CMD device.cdrom.add \
183-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
183+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
184184
-k=true \
185-
-dc="${GOVMOMI_DATACENTER}" \
185+
-dc="${VC8_GOVMOMI_DATACENTER}" \
186186
-vm "${VSPHERE_VM_NAME}")"
187187

188188
greenprint "💿 Inserting the cloud-init ISO into the CD-ROM device"
189189
$GOVC_CMD device.cdrom.insert \
190-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
190+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
191191
-k=true \
192-
-dc="${GOVMOMI_DATACENTER}" \
193-
-ds="${GOVMOMI_DATASTORE}" \
192+
-dc="${VC8_GOVMOMI_DATACENTER}" \
193+
-ds="${VC8_GOVMOMI_DATASTORE}" \
194194
-vm "${VSPHERE_VM_NAME}" \
195195
-device "${_cdrom_device}" \
196196
"${VSPHERE_CIDATA_ISO_PATH}"
197197

198198
# start the VM
199199
greenprint "🔌 Powering up the VSphere VM"
200200
$GOVC_CMD vm.power \
201-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
201+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
202202
-k=true \
203-
-dc="${GOVMOMI_DATACENTER}" \
203+
-dc="${VC8_GOVMOMI_DATACENTER}" \
204204
-on "${VSPHERE_VM_NAME}"
205205

206206
HOST=$($GOVC_CMD vm.ip \
207-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
207+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
208208
-k=true \
209209
-v4=true \
210-
-dc="${GOVMOMI_DATACENTER}" \
210+
-dc="${VC8_GOVMOMI_DATACENTER}" \
211211
"${VSPHERE_VM_NAME}")
212212
greenprint "⏱ Waiting for the VSphere VM to respond to ssh"
213213
_instanceWaitSSH "${HOST}"
@@ -226,25 +226,25 @@ function cleanupVSphere() {
226226

227227
greenprint "🧹 Cleaning up the VSphere VM"
228228
$GOVC_CMD vm.destroy \
229-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
229+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
230230
-k=true \
231-
-dc="${GOVMOMI_DATACENTER}" \
231+
-dc="${VC8_GOVMOMI_DATACENTER}" \
232232
"${VSPHERE_VM_NAME}"
233233

234234
greenprint "🧹 Cleaning up the VSphere Datastore"
235235
$GOVC_CMD datastore.rm \
236-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
236+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
237237
-k=true \
238-
-dc="${GOVMOMI_DATACENTER}" \
239-
-ds="${GOVMOMI_DATASTORE}" \
238+
-dc="${VC8_GOVMOMI_DATACENTER}" \
239+
-ds="${VC8_GOVMOMI_DATASTORE}" \
240240
-f \
241241
"${VSPHERE_CIDATA_ISO_PATH}"
242242

243243
$GOVC_CMD datastore.rm \
244-
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
244+
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
245245
-k=true \
246-
-dc="${GOVMOMI_DATACENTER}" \
247-
-ds="${GOVMOMI_DATASTORE}" \
246+
-dc="${VC8_GOVMOMI_DATACENTER}" \
247+
-ds="${VC8_GOVMOMI_DATASTORE}" \
248248
-f \
249249
"${VSPHERE_VM_NAME}"
250250
}

test/cases/vmware.sh

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ function cleanup() {
7575
greenprint "🧼 Cleaning up"
7676
# kill dangling journalctl processes to prevent GitLab CI from hanging
7777
sudo pkill journalctl || echo "Nothing killed"
78-
$GOVC_CMD vm.destroy -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" -k=true "${IMAGE_KEY}"
78+
$GOVC_CMD vm.destroy -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" -k=true "${IMAGE_KEY}"
7979
set -eu
8080
}
8181
trap cleanup EXIT
@@ -122,13 +122,13 @@ tee "$VMWARE_CONFIG" > /dev/null << EOF
122122
provider = "vmware"
123123
124124
[settings]
125-
host = "${GOVMOMI_URL}"
126-
username = "${GOVMOMI_USERNAME}"
127-
password = "${GOVMOMI_PASSWORD}"
128-
cluster = "${GOVMOMI_CLUSTER}"
129-
dataStore = "${GOVMOMI_DATASTORE}"
130-
dataCenter = "${GOVMOMI_DATACENTER}"
131-
folder = "${GOVMOMI_FOLDER}"
125+
host = "${VC8_GOVMOMI_URL}"
126+
username = "${VC8_GOVMOMI_USERNAME}"
127+
password = "${VC8_GOVMOMI_PASSWORD}"
128+
cluster = "${VC8_GOVMOMI_CLUSTER}"
129+
dataStore = "${VC8_GOVMOMI_DATASTORE}"
130+
dataCenter = "${VC8_GOVMOMI_DATACENTER}"
131+
folder = "${VC8_GOVMOMI_FOLDER}"
132132
EOF
133133

134134
# Write a basic blueprint for our image.
@@ -200,30 +200,30 @@ fi
200200

201201
if [ "$IMAGE_TYPE" = "vmdk" ]; then
202202
greenprint "👷🏻 Building VM in vSphere"
203-
$GOVC_CMD vm.create -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
203+
$GOVC_CMD vm.create -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
204204
-k=true \
205-
-pool="${GOVMOMI_CLUSTER}"/Resources \
206-
-dc="${GOVMOMI_DATACENTER}" \
207-
-ds="${GOVMOMI_DATASTORE}" \
208-
-folder="${GOVMOMI_FOLDER}" \
209-
-net="${GOVMOMI_NETWORK}" \
205+
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
206+
-dc="${VC8_GOVMOMI_DATACENTER}" \
207+
-ds="${VC8_GOVMOMI_DATASTORE}" \
208+
-folder="${VC8_GOVMOMI_FOLDER}" \
209+
-net="${VC8_GOVMOMI_NETWORK}" \
210210
-net.adapter=vmxnet3 \
211211
-m=4096 -c=2 -g=rhel8_64Guest -on=true -firmware=efi \
212212
-disk="${IMAGE_KEY}"/"${IMAGE_KEY}".vmdk \
213213
--disk.controller=scsi \
214214
"${IMAGE_KEY}"
215215
elif [ "$IMAGE_TYPE" = "ova" ]; then
216216
greenprint "👷🏻 Modifying network of the VM in vSphere"
217-
$GOVC_CMD vm.network.add -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
217+
$GOVC_CMD vm.network.add -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
218218
-k=true \
219-
-net="${GOVMOMI_NETWORK}" \
219+
-net="${VC8_GOVMOMI_NETWORK}" \
220220
-net.adapter=vmxnet3 \
221221
-vm="${IMAGE_KEY}" \
222-
-net="${GOVMOMI_NETWORK}"
222+
-net="${VC8_GOVMOMI_NETWORK}"
223223

224224
# start the vm
225225
greenprint "👷🏻 Powering on the VM"
226-
$GOVC_CMD vm.power -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
226+
$GOVC_CMD vm.power -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
227227
-k=true \
228228
-wait=true \
229229
-on \
@@ -232,13 +232,13 @@ $GOVC_CMD vm.power -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL
232232
fi
233233

234234
# tagging vm as testing object
235-
$GOVC_CMD tags.attach -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
235+
$GOVC_CMD tags.attach -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
236236
-k=true \
237237
-c "osbuild-composer testing" gitlab-ci-test \
238-
"/${GOVMOMI_DATACENTER}/vm/${GOVMOMI_FOLDER}/${IMAGE_KEY}"
238+
"/${VC8_GOVMOMI_DATACENTER}/vm/${VC8_GOVMOMI_FOLDER}/${IMAGE_KEY}"
239239

240240
greenprint "Getting IP of created VM"
241-
VM_IP=$($GOVC_CMD vm.ip -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" -k=true -v4=true "${IMAGE_KEY}")
241+
VM_IP=$($GOVC_CMD vm.ip -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" -k=true -v4=true "${IMAGE_KEY}")
242242

243243
# Wait for the node to come online.
244244
greenprint "⏱ Waiting for VM to respond to ssh"

0 commit comments

Comments
 (0)