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
|
|
@ -252,7 +252,7 @@ regression-composer-works-behind-satellite-fallback:
|
|||
|
||||
regression-composer-works-behind-satellite:
|
||||
extends: .regression
|
||||
rules:
|
||||
rules:
|
||||
# WHITELIST: Run on RHEL-nightly only
|
||||
- if: $RUNNER =~ "/^.*(rhel-.*-nightly).*$/" && $CI_PIPELINE_SOURCE != "schedule"
|
||||
variables:
|
||||
|
|
@ -270,7 +270,7 @@ regression-excluded-dependency:
|
|||
|
||||
regression-include-excluded-packages:
|
||||
extends: .regression
|
||||
rules:
|
||||
rules:
|
||||
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
|
||||
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
|
||||
- !reference [.nightly_rules_all, rules]
|
||||
|
|
@ -305,7 +305,7 @@ regression-insecure-repo:
|
|||
|
||||
regression-no-explicit-rootfs-definition:
|
||||
extends: .regression
|
||||
rules:
|
||||
rules:
|
||||
# BLACKLIST: Skipped on fedora systems & excluding GA runners from the PR pipeline
|
||||
- if: $RUNNER !~ "/^.*(fedora).*$/" && $CI_PIPELINE_SOURCE != "schedule" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/
|
||||
- !reference [.nightly_rules_all, rules]
|
||||
|
|
@ -493,11 +493,8 @@ vmware.sh_vmdk:
|
|||
extends: .integration_rhel
|
||||
rules:
|
||||
# Run only on x86_64
|
||||
# Temporarily disabled for RHEL-10 and Centos-10
|
||||
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.6-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
|
||||
# - !reference [.upstream_rules_x86_64, rules]
|
||||
# - !reference [.nightly_rules_x86_64, rules]
|
||||
- !reference [.upstream_rules_x86_64, rules]
|
||||
- !reference [.nightly_rules_x86_64, rules]
|
||||
- !reference [.ga_rules_x86_64, rules]
|
||||
variables:
|
||||
SCRIPT: vmware.sh vmdk
|
||||
|
|
@ -506,11 +503,8 @@ vmware.sh_ova:
|
|||
extends: .integration_rhel
|
||||
rules:
|
||||
# Run only on x86_64
|
||||
# Temporarily disabled for RHEL-10 and Centos-10
|
||||
- if: '$CI_PIPELINE_SOURCE != "schedule" && $RUNNER =~ "/^.*(x86_64).*$/" && $RUNNER !~ /[\S]+rhel-[\S]+-(?:(?:ga)|(?:eus))[\S]+/ && $RUNNER !~ "/^.*(rhel-10.0-nightly|centos-stream-10).*$/"'
|
||||
# - !reference [.upstream_rules_x86_64, rules]
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $RUNNER =~ /[\S]+rhel-9.6-[^ga][\S]+/ && $RUNNER =~ "/^.*(x86_64).*$/" && $NIGHTLY == "true" && $RHEL_MAJOR == "9"'
|
||||
# - !reference [.nightly_rules_x86_64, rules]
|
||||
- !reference [.upstream_rules_x86_64, rules]
|
||||
- !reference [.nightly_rules_x86_64, rules]
|
||||
- !reference [.ga_rules_x86_64, rules]
|
||||
variables:
|
||||
SCRIPT: vmware.sh ova
|
||||
|
|
@ -585,6 +579,7 @@ API:
|
|||
- azure
|
||||
- gcp
|
||||
- oci
|
||||
- vsphere
|
||||
RUNNER:
|
||||
- aws/rhel-10.0-nightly-x86_64
|
||||
INTERNAL_NETWORK: ["true"]
|
||||
|
|
|
|||
|
|
@ -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