Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,15 @@ tests:
steps:
cluster_profile: equinix-edge-enablement
workflow: baremetalds-two-node-fencing
- as: e2e-metal-ovn-two-node-fencing-cnv-smoke
capabilities:
- intranet
cron: '@weekly'
steps:
cluster_profile: equinix-edge-enablement
env:
CNV_VERSION: "5.0"
workflow: baremetalds-two-node-fencing-cnv-smoke
- as: e2e-agent-ovn-two-node-fencing
capabilities:
- intranet
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -286398,6 +286398,91 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build10
cron: '@weekly'
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: main
org: openshift
repo: release
labels:
capability/intranet: intranet
ci-operator.openshift.io/cloud: equinix-edge-enablement
ci-operator.openshift.io/cloud-cluster-profile: equinix-edge-enablement
ci-operator.openshift.io/variant: nightly-5.0
ci.openshift.io/generator: prowgen
ci.openshift.io/no-builds: "true"
job-release: "5.0"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-release-main-nightly-5.0-e2e-metal-ovn-two-node-fencing-cnv-smoke
spec:
containers:
- args:
- --gcs-upload-secret=/secrets/gcs/service-account.json
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --target=e2e-metal-ovn-two-node-fencing-cnv-smoke
- --variant=nightly-5.0
command:
- ci-operator
env:
- name: HTTP_SERVER_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest
imagePullPolicy: Always
name: ""
ports:
- containerPort: 8080
name: http
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /secrets/manifest-tool
name: manifest-tool-local-pusher
readOnly: true
- mountPath: /etc/pull-secret
name: pull-secret
readOnly: true
- mountPath: /etc/report
name: result-aggregator
readOnly: true
serviceAccountName: ci-operator
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials
- name: manifest-tool-local-pusher
secret:
secretName: manifest-tool-local-pusher
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build10
cron: 53 8,18 * * *
Expand Down
2 changes: 2 additions & 0 deletions ci-operator/step-registry/baremetalds/cnv/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
approvers:
- openshift-edge-approvers
2 changes: 2 additions & 0 deletions ci-operator/step-registry/baremetalds/cnv/smoke/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
approvers:
- openshift-edge-approvers
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/bash

set -o nounset
set -o errexit
set -o pipefail

CNV_STORAGE_CLASS="${CNV_STORAGE_CLASS:-lvms-vg1}"
CNV_VOLUME_MODE="${CNV_VOLUME_MODE:-Block}"

export UV_CACHE_DIR=/tmp/uv-cache
export HOME=/tmp

unset KUBERNETES_SERVICE_PORT_HTTPS
unset KUBERNETES_SERVICE_PORT
unset KUBERNETES_PORT_443_TCP
unset KUBERNETES_PORT_443_TCP_PROTO
unset KUBERNETES_PORT_443_TCP_ADDR
unset KUBERNETES_SERVICE_HOST
unset KUBERNETES_PORT
unset KUBERNETES_PORT_443_TCP_PORT

echo "Running CNV smoke tests with storage class: ${CNV_STORAGE_CLASS}, volume mode: ${CNV_VOLUME_MODE}"

oc whoami --show-console

START_TIME=$(date "+%s")

uv run pytest tests \
-s \
-o log_cli=true \
-o cache_dir=/tmp/cache-pytest \
-m 'smoke and not rwx_default_storage' \
--tc-file=tests/global_config_lvms.py \
--tc "default_storage_class:${CNV_STORAGE_CLASS}" \
--tc "default_volume_mode:${CNV_VOLUME_MODE}" \
--storage-class-matrix="${CNV_STORAGE_CLASS}" \
--latest-rhel \
--tb=native \
--junit-xml="${ARTIFACT_DIR}/xunit_results.xml" \
--pytest-log-file="${ARTIFACT_DIR}/pytest-tests.log" || /bin/true

FINISH_TIME=$(date "+%s")
DIFF_TIME=$((FINISH_TIME - START_TIME))

if [[ ${DIFF_TIME} -le 600 ]]; then
echo ""
echo "The tests finished too quickly (took only: ${DIFF_TIME} sec), pausing here to give time to debug"
sleep 7200
exit 1
else
echo "Finished in: ${DIFF_TIME} sec"
fi
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"path": "baremetalds/cnv/smoke/baremetalds-cnv-smoke-ref.yaml",
"owners": {
"approvers": [
"openshift-edge-approvers"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
ref:
as: baremetalds-cnv-smoke
from_image:
namespace: ci
name: openshift-virtualization-tests
tag: latest
cli: latest
commands: baremetalds-cnv-smoke-commands.sh
resources:
requests:
cpu: 100m
memory: 200Mi
env:
- name: CNV_STORAGE_CLASS
documentation: The storage class to use for CNV smoke tests
default: "lvms-vg1"
- name: CNV_VOLUME_MODE
documentation: The volume mode to use for CNV smoke tests
default: "Block"
timeout: 2h0m0s
documentation: |-
Run CNV smoke tests on a baremetal cluster.
Adapted for baremetal/TNF clusters with LVMS storage.
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
approvers:
- openshift-edge-approvers
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"path": "baremetalds/two-node/fencing/cnv-smoke/baremetalds-two-node-fencing-cnv-smoke-workflow.yaml",
"owners": {
"approvers": [
"openshift-edge-approvers"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
workflow:
as: baremetalds-two-node-fencing-cnv-smoke
steps:
allow_best_effort_post_steps: true
cluster_profile: equinix-edge-enablement
pre:
- chain: baremetalds-ofcir-pre
- chain: baremetalds-two-node-fencing-post-install
- ref: openshift-cluster-bot-rbac
- chain: storage-conf-csi-optional-topolvm
- ref: interop-tests-deploy-cnv
test:
- ref: baremetalds-cnv-smoke
post:
- chain: baremetalds-ofcir-post
env:
DEVSCRIPTS_CONFIG: |
IP_STACK=v4
NUM_MASTERS=2
MASTER_MEMORY=32768
MASTER_DISK=100
NUM_WORKERS=0
BMC_DRIVER=redfish
VM_EXTRADISKS=true
VM_EXTRADISKS_LIST="vda vdb"
VM_EXTRADISKS_SIZE=100G
LVM_OPERATOR_SUB_SOURCE: "lvm-catalogsource"
LVM_OPERATOR_SUB_CHANNEL: "stable-5.0"
LVM_CLUSTER_TOLERATE_MASTER: "true"
CNV_VERSION: "5.0"
documentation: |-
This workflow provisions a Two Node OpenShift with Fencing (TNF) cluster,
deploys LVMS for local storage, deploys CNV, and runs CNV smoke tests.
LVMS is used because TNF clusters lack shared storage; LiveMigration
is not tested since LVMS does not support RWX volumes.