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.
This commit is contained in:
parent
0dcbece2ca
commit
9b850de9f1
3 changed files with 62 additions and 67 deletions
|
|
@ -25,7 +25,7 @@ function installClientVSphere() {
|
|||
}
|
||||
|
||||
function checkEnvVSphere() {
|
||||
printenv GOVMOMI_USERNAME GOVMOMI_PASSWORD GOVMOMI_URL GOVMOMI_CLUSTER GOVMOMI_DATACENTER GOVMOMI_DATASTORE GOVMOMI_FOLDER GOVMOMI_NETWORK > /dev/null
|
||||
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
|
||||
}
|
||||
|
||||
# Create a cloud-int user-data file
|
||||
|
|
@ -134,24 +134,24 @@ function verifyInVSphere() {
|
|||
# if one with this name exists, it appends "_<number>" to the name
|
||||
greenprint "💿 ⬆️ Importing the converted VMDK image to VSphere"
|
||||
$GOVC_CMD import.vmdk \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-pool="${GOVMOMI_CLUSTER}"/Resources \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
"${WORKDIR}/${VSPHERE_IMAGE_NAME}" \
|
||||
"${VSPHERE_VM_NAME}"
|
||||
|
||||
# create the VM, but don't start it
|
||||
greenprint "🖥️ Creating VM in VSphere"
|
||||
$GOVC_CMD vm.create \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-pool="${GOVMOMI_CLUSTER}"/Resources \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-folder="${GOVMOMI_FOLDER}" \
|
||||
-net="${GOVMOMI_NETWORK}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
-folder="${VC8_GOVMOMI_FOLDER}" \
|
||||
-net="${VC8_GOVMOMI_NETWORK}" \
|
||||
-net.adapter=vmxnet3 \
|
||||
-m=4096 -c=2 -g=rhel8_64Guest -on=true -firmware=efi \
|
||||
-disk="${VSPHERE_VM_NAME}/${VSPHERE_IMAGE_NAME}" \
|
||||
|
|
@ -161,36 +161,36 @@ function verifyInVSphere() {
|
|||
|
||||
# tagging vm as testing object
|
||||
$GOVC_CMD tags.attach \
|
||||
-u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-c "osbuild-composer testing" gitlab-ci-test \
|
||||
"/${GOVMOMI_DATACENTER}/vm/${GOVMOMI_FOLDER}/${VSPHERE_VM_NAME}"
|
||||
"/${VC8_GOVMOMI_DATACENTER}/vm/${VC8_GOVMOMI_FOLDER}/${VSPHERE_VM_NAME}"
|
||||
|
||||
# upload ISO, create CDROM device and insert the ISO in it
|
||||
greenprint "💿 ⬆️ Uploading the cloud-init user-data ISO to VSphere"
|
||||
VSPHERE_CIDATA_ISO_PATH="${VSPHERE_VM_NAME}/cidata.iso"
|
||||
$GOVC_CMD datastore.upload \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
"${_ci_iso_path}" \
|
||||
"${VSPHERE_CIDATA_ISO_PATH}"
|
||||
|
||||
local _cdrom_device
|
||||
greenprint "🖥️ + 💿 Adding a CD-ROM device to the VM"
|
||||
_cdrom_device="$($GOVC_CMD device.cdrom.add \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-vm "${VSPHERE_VM_NAME}")"
|
||||
|
||||
greenprint "💿 Inserting the cloud-init ISO into the CD-ROM device"
|
||||
$GOVC_CMD device.cdrom.insert \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
-vm "${VSPHERE_VM_NAME}" \
|
||||
-device "${_cdrom_device}" \
|
||||
"${VSPHERE_CIDATA_ISO_PATH}"
|
||||
|
|
@ -198,16 +198,16 @@ function verifyInVSphere() {
|
|||
# start the VM
|
||||
greenprint "🔌 Powering up the VSphere VM"
|
||||
$GOVC_CMD vm.power \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-on "${VSPHERE_VM_NAME}"
|
||||
|
||||
HOST=$($GOVC_CMD vm.ip \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-v4=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
"${VSPHERE_VM_NAME}")
|
||||
greenprint "⏱ Waiting for the VSphere VM to respond to ssh"
|
||||
_instanceWaitSSH "${HOST}"
|
||||
|
|
@ -226,25 +226,25 @@ function cleanupVSphere() {
|
|||
|
||||
greenprint "🧹 Cleaning up the VSphere VM"
|
||||
$GOVC_CMD vm.destroy \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
"${VSPHERE_VM_NAME}"
|
||||
|
||||
greenprint "🧹 Cleaning up the VSphere Datastore"
|
||||
$GOVC_CMD datastore.rm \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
-f \
|
||||
"${VSPHERE_CIDATA_ISO_PATH}"
|
||||
|
||||
$GOVC_CMD datastore.rm \
|
||||
-u "${GOVMOMI_USERNAME}:${GOVMOMI_PASSWORD}@${GOVMOMI_URL}" \
|
||||
-u "${VC8_GOVMOMI_USERNAME}:${VC8_GOVMOMI_PASSWORD}@${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
-f \
|
||||
"${VSPHERE_VM_NAME}"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ function cleanup() {
|
|||
greenprint "🧼 Cleaning up"
|
||||
# kill dangling journalctl processes to prevent GitLab CI from hanging
|
||||
sudo pkill journalctl || echo "Nothing killed"
|
||||
$GOVC_CMD vm.destroy -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" -k=true "${IMAGE_KEY}"
|
||||
$GOVC_CMD vm.destroy -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" -k=true "${IMAGE_KEY}"
|
||||
set -eu
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
|
@ -122,13 +122,13 @@ tee "$VMWARE_CONFIG" > /dev/null << EOF
|
|||
provider = "vmware"
|
||||
|
||||
[settings]
|
||||
host = "${GOVMOMI_URL}"
|
||||
username = "${GOVMOMI_USERNAME}"
|
||||
password = "${GOVMOMI_PASSWORD}"
|
||||
cluster = "${GOVMOMI_CLUSTER}"
|
||||
dataStore = "${GOVMOMI_DATASTORE}"
|
||||
dataCenter = "${GOVMOMI_DATACENTER}"
|
||||
folder = "${GOVMOMI_FOLDER}"
|
||||
host = "${VC8_GOVMOMI_URL}"
|
||||
username = "${VC8_GOVMOMI_USERNAME}"
|
||||
password = "${VC8_GOVMOMI_PASSWORD}"
|
||||
cluster = "${VC8_GOVMOMI_CLUSTER}"
|
||||
dataStore = "${VC8_GOVMOMI_DATASTORE}"
|
||||
dataCenter = "${VC8_GOVMOMI_DATACENTER}"
|
||||
folder = "${VC8_GOVMOMI_FOLDER}"
|
||||
EOF
|
||||
|
||||
# Write a basic blueprint for our image.
|
||||
|
|
@ -200,13 +200,13 @@ fi
|
|||
|
||||
if [ "$IMAGE_TYPE" = "vmdk" ]; then
|
||||
greenprint "👷🏻 Building VM in vSphere"
|
||||
$GOVC_CMD vm.create -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
|
||||
$GOVC_CMD vm.create -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-pool="${GOVMOMI_CLUSTER}"/Resources \
|
||||
-dc="${GOVMOMI_DATACENTER}" \
|
||||
-ds="${GOVMOMI_DATASTORE}" \
|
||||
-folder="${GOVMOMI_FOLDER}" \
|
||||
-net="${GOVMOMI_NETWORK}" \
|
||||
-pool="${VC8_GOVMOMI_CLUSTER}"/Resources \
|
||||
-dc="${VC8_GOVMOMI_DATACENTER}" \
|
||||
-ds="${VC8_GOVMOMI_DATASTORE}" \
|
||||
-folder="${VC8_GOVMOMI_FOLDER}" \
|
||||
-net="${VC8_GOVMOMI_NETWORK}" \
|
||||
-net.adapter=vmxnet3 \
|
||||
-m=4096 -c=2 -g=rhel8_64Guest -on=true -firmware=efi \
|
||||
-disk="${IMAGE_KEY}"/"${IMAGE_KEY}".vmdk \
|
||||
|
|
@ -214,16 +214,16 @@ $GOVC_CMD vm.create -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_UR
|
|||
"${IMAGE_KEY}"
|
||||
elif [ "$IMAGE_TYPE" = "ova" ]; then
|
||||
greenprint "👷🏻 Modifying network of the VM in vSphere"
|
||||
$GOVC_CMD vm.network.add -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
|
||||
$GOVC_CMD vm.network.add -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-net="${GOVMOMI_NETWORK}" \
|
||||
-net="${VC8_GOVMOMI_NETWORK}" \
|
||||
-net.adapter=vmxnet3 \
|
||||
-vm="${IMAGE_KEY}" \
|
||||
-net="${GOVMOMI_NETWORK}"
|
||||
-net="${VC8_GOVMOMI_NETWORK}"
|
||||
|
||||
# start the vm
|
||||
greenprint "👷🏻 Powering on the VM"
|
||||
$GOVC_CMD vm.power -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
|
||||
$GOVC_CMD vm.power -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-wait=true \
|
||||
-on \
|
||||
|
|
@ -232,13 +232,13 @@ $GOVC_CMD vm.power -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL
|
|||
fi
|
||||
|
||||
# tagging vm as testing object
|
||||
$GOVC_CMD tags.attach -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" \
|
||||
$GOVC_CMD tags.attach -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" \
|
||||
-k=true \
|
||||
-c "osbuild-composer testing" gitlab-ci-test \
|
||||
"/${GOVMOMI_DATACENTER}/vm/${GOVMOMI_FOLDER}/${IMAGE_KEY}"
|
||||
"/${VC8_GOVMOMI_DATACENTER}/vm/${VC8_GOVMOMI_FOLDER}/${IMAGE_KEY}"
|
||||
|
||||
greenprint "Getting IP of created VM"
|
||||
VM_IP=$($GOVC_CMD vm.ip -u "${GOVMOMI_USERNAME}":"${GOVMOMI_PASSWORD}"@"${GOVMOMI_URL}" -k=true -v4=true "${IMAGE_KEY}")
|
||||
VM_IP=$($GOVC_CMD vm.ip -u "${VC8_GOVMOMI_USERNAME}":"${VC8_GOVMOMI_PASSWORD}"@"${VC8_GOVMOMI_URL}" -k=true -v4=true "${IMAGE_KEY}")
|
||||
|
||||
# Wait for the node to come online.
|
||||
greenprint "⏱ Waiting for VM to respond to ssh"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue