Skip to content

Commit

Permalink
Add non MCE workflows
Browse files Browse the repository at this point in the history
Signed-off-by: Simone Tiraboschi <stirabos@redhat.com>
  • Loading branch information
tiraboschi committed Apr 22, 2024
1 parent 5bd9ea7 commit 7d28de0
Show file tree
Hide file tree
Showing 9 changed files with 335 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,14 @@ tests:
MCE_VERSION: "2.4"
ODF_OPERATOR_SUB_CHANNEL: stable-4.14
workflow: hypershift-mce-kubevirt-baremetalds-disconnected-conformance
- as: e2e-kubevirt-metal-disconnected
cron: 0 8 * * *
steps:
cluster_profile: equinix-ocp-metal
env:
HYPERSHIFT_NODE_COUNT: "2"
ODF_OPERATOR_SUB_CHANNEL: stable-4.14
workflow: hypershift-kubevirt-baremetalds-disconnected-conformance
- as: e2e-mce-power-conformance
cron: 0 4 * * *
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,17 @@ tests:
LVM_OPERATOR_SUB_CHANNEL: stable-4.15
ODF_OPERATOR_SUB_CHANNEL: stable-4.14
workflow: hypershift-kubevirt-baremetalds-conformance
- as: e2e-kubevirt-metal-disconnected
cron: 0 8 * * *
steps:
cluster_profile: equinix-ocp-metal
env:
CCS_OPERATOR_CHANNELS: stable-4.14,stable-4.14,stable-4.14,stable-4.14
CCS_OPERATOR_PACKAGES: odf-operator,ocs-operator,mcg-operator,odf-csi-addons-operator
HYPERSHIFT_NODE_COUNT: "2"
LVM_OPERATOR_SUB_CHANNEL: stable-4.15
ODF_OPERATOR_SUB_CHANNEL: stable-4.14
workflow: hypershift-kubevirt-baremetalds-disconnected-conformance
- as: e2e-kubevirt-aws-csi
cron: 0 4 * * *
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -863,6 +863,87 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 0 8 * * *
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: release-4.14
org: openshift
repo: hypershift
labels:
ci-operator.openshift.io/cloud: equinix-ocp-metal
ci-operator.openshift.io/cloud-cluster-profile: equinix-ocp-metal
ci-operator.openshift.io/variant: periodics
ci.openshift.io/generator: prowgen
job-release: "4.14"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-hypershift-release-4.14-periodics-e2e-kubevirt-metal-disconnected
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
- --secret-dir=/usr/local/e2e-kubevirt-metal-disconnected-cluster-profile
- --target=e2e-kubevirt-metal-disconnected
- --variant=periodics
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /usr/local/e2e-kubevirt-metal-disconnected-cluster-profile
name: cluster-profile
- 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: cluster-profile
secret:
secretName: cluster-secrets-equinix-ocp-metal
- 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: build03
cron: 0 4 * * *
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -787,6 +787,87 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 0 8 * * *
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: release-4.16
org: openshift
repo: hypershift
labels:
ci-operator.openshift.io/cloud: equinix-ocp-metal
ci-operator.openshift.io/cloud-cluster-profile: equinix-ocp-metal
ci-operator.openshift.io/variant: periodics
ci.openshift.io/generator: prowgen
job-release: "4.16"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-hypershift-release-4.16-periodics-e2e-kubevirt-metal-disconnected
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
- --secret-dir=/usr/local/e2e-kubevirt-metal-disconnected-cluster-profile
- --target=e2e-kubevirt-metal-disconnected
- --variant=periodics
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /usr/local/e2e-kubevirt-metal-disconnected-cluster-profile
name: cluster-profile
- 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: cluster-profile
secret:
secretName: cluster-secrets-equinix-ocp-metal
- 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: build02
cron: 0 4 * * *
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
approvers:
- csrwng
- enxebre
- sjenning
- imain
- LiangquanLi930
- davidvossel
- orenc1
- tiraboschi
options: {}
reviewers:
- csrwng
- enxebre
- sjenning
- imain
- LiangquanLi930
- davidvossel
- orenc1
- tiraboschi
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
approvers:
- csrwng
- enxebre
- sjenning
- imain
- LiangquanLi930
- davidvossel
- orenc1
- tiraboschi
options: {}
reviewers:
- csrwng
- enxebre
- sjenning
- imain
- LiangquanLi930
- davidvossel
- orenc1
- tiraboschi
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"path": "hypershift/kubevirt/baremetalds/disconnected/conformance/hypershift-kubevirt-baremetalds-disconnected-conformance-workflow.yaml",
"owners": {
"approvers": [
"csrwng",
"enxebre",
"sjenning",
"imain",
"LiangquanLi930",
"davidvossel",
"orenc1",
"tiraboschi"
],
"reviewers": [
"csrwng",
"enxebre",
"sjenning",
"imain",
"LiangquanLi930",
"davidvossel",
"orenc1",
"tiraboschi"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
workflow:
as: hypershift-kubevirt-baremetalds-disconnected-conformance
documentation: |-
The HyperShift KubeVirt conformance workflow executes tests against a new ephemeral
HyperShift cluster. Administrative access to the control plane is provided
via the `KUBECONFIG` environment variable.
This is executed in a fully disconencted cluster with
mirrored images.
Note that tests will execute once the control plane is ready, regardless of
whether nodes have been requested, have joined, or are available.
The control plane is hosted on a dedicated standalone OCP cluster running
HyperShift in Azure account and is destroyed after tests complete.
The HyperShift launch capability is currently supported by the HyperShift
team.
Learn more about HyperShift here: https://github.com/openshift/hypershift
Track HyperShift's development here: https://issues.redhat.com/projects/HOSTEDCP
steps:
allow_best_effort_post_steps: true
allow_skip_on_success: true
post:
- chain: gather-core-dump
- chain: hypershift-kubevirt-destroy
- chain: baremetalds-ipi-post
test:
- chain: hypershift-conformance
pre:
- chain: baremetalds-ipi-pre
- chain: hypershift-kubevirt-baremetalds-lvm
- chain: hypershift-kubevirt-baremetalds-metallb
- chain: hypershift-kubevirt-baremetalds-odf
- ref: hypershift-kubevirt-install-disconnected
- ref: hypershift-kubevirt-create-disconnected-workarounds
- ref: hypershift-kubevirt-create
- ref: hypershift-kubevirt-baremetalds-proxy
- ref: hypershift-kubevirt-health-check
env:
TEST_SKIPS: etcd leader changes are not excessive \|
StatefulSet Basic \|
StatefulSet Non-retain\|
Image policy should update OpenShift object image fields when local names are on\|
Image policy should update standard Kube object image fields when local names are on\|oc tag should preserve image reference for external images\|
Image policy should perform lookup when the Deployment gets the resolve-names annotation later\|
Image policy should perform lookup when the object has the resolve-names annotation\|
PersistentVolumes NFS when invoking the Recycle reclaim policy should test that a PV becomes Available and is clean after the PVC is deleted.
METALLB_OPERATOR_SUB_SOURCE: mirror-catalog-for-olm
LOCAL_STORAGE_OPERATOR_SUB_SOURCE: mirror-catalog-for-olm
ODF_OPERATOR_SUB_SOURCE: cs-ccs-local-catalog
LVM_OPERATOR_SUB_CHANNEL: stable-4.14
LVM_OPERATOR_SUB_SOURCE: mirror-catalog-for-olm
LVM_OPERATOR_SUB_INSTALL_NAMESPACE: openshift-lvm-storage
CCS_OPERATOR_PACKAGES: odf-operator,ocs-operator,mcg-operator,odf-csi-addons-operator
CCS_OPERATOR_CHANNELS: stable-4.14,stable-4.14,stable-4.14,stable-4.14
ETCD_STORAGE_CLASS: lvms-vg1
DISCONNECTED: "true"
ENABLE_ICSP: "true"
DEVSCRIPTS_CONFIG: |
IP_STACK=v4
MIRROR_IMAGES=true
INSTALLER_PROXY=true
MIRROR_OLM="local-storage-operator,metallb-operator,lvms-operator"
NETWORK_TYPE=OVNKubernetes
NUM_WORKERS=0
NUM_MASTERS=3
MASTER_VCPU=16
MASTER_MEMORY=81920
VM_EXTRADISKS=true
VM_EXTRADISKS_LIST="vda vdb"
VM_EXTRADISKS_SIZE=250G
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ function mirror_ccs() {
scp "${SSHOPTS[@]}" "/tmp/ccs-packages" "root@${IP}:/home/ccs-packages"
echo "${CCS_OPERATOR_CHANNELS}" > /tmp/ccs-channels
scp "${SSHOPTS[@]}" "/tmp/ccs-channels" "root@${IP}:/home/ccs-channels"
scp "${SSHOPTS[@]}" "${CLUSTER_PROFILE_DIR}/pull-secret" "root@${IP}:/home/pull-secret"

# shellcheck disable=SC2087
ssh "${SSHOPTS[@]}" "root@${IP}" bash - << EOF
Expand Down Expand Up @@ -50,10 +51,23 @@ function mirror_ccs() {
fi
/home/oc-mirror version
echo "3: skopeo copy docker://\${CCS_CATALOG_IMAGE} oci:///home/ccs-local-catalog --remove-signatures"
echo "3: Check skopeo and registry credentials"
if [[ ! -f /usr/bin/skopeo ]]; then
yum install -y skopeo
oc -n openshift-config extract secret/pull-secret --to="/tmp" --confirm
set +x
mirror_token=\$(cat "/tmp/.dockerconfigjson" | jq -r --arg var1 "\${mirror_registry}" '.auths[\$var1]["auth"]'|base64 -d)
skopeo login "\${mirror_registry}" -u "\${mirror_token%:*}" -p "\${mirror_token#*:}"
REGISTRY_REDHAT_IO_USER=\$(cat /home/pull-secret | jq -r '.auths."registry.redhat.io".auth' | base64 -d | cut -d ':' -f 1)
REGISTRY_REDHAT_IO_PASSWORD=\$(cat /home/pull-secret | jq -r '.auths."registry.redhat.io".auth' | base64 -d | cut -d ':' -f 2)
skopeo login registry.redhat.io -u "\${REGISTRY_REDHAT_IO_USER}" -p "\${REGISTRY_REDHAT_IO_PASSWORD}"
set -x
fi
echo "4: skopeo copy docker://\${CCS_CATALOG_IMAGE} oci:///home/ccs-local-catalog --remove-signatures"
skopeo copy "docker://\${CCS_CATALOG_IMAGE}" "oci:///home/ccs-local-catalog" --remove-signatures
echo "4: oc-mirror"
echo "5: oc-mirror"
catalog_image="ccs-local-catalog/ccs-local-catalog"
cat <<END |tee "/home/registry.conf"
Expand Down Expand Up @@ -119,11 +133,11 @@ END
/home/oc-mirror --config "/home/imageset-config.yaml" docker://\${mirror_registry} --oci-registries-config="/home/registry.conf" --continue-on-error --skip-missing
popd
echo "5: Create imageconentsourcepolicy and catalogsource"
echo "6: Create imageconentsourcepolicy and catalogsource"
for d in /home/oc-mirror-workspace/results* ; do sed -i "s|name: operator-0\$|name: operator-\${d#/home/oc-mirror-workspace/results-}|g" \${d}/imageContentSourcePolicy.yaml; done
find /home/oc-mirror-workspace -type d -name '*results*' -exec oc apply -f {}/*.yaml \;
echo "6: Waiting for the new ImageContentSourcePolicy to be updated on machines"
echo "7: Waiting for the new ImageContentSourcePolicy to be updated on machines"
oc wait clusteroperators/machine-config --for=condition=Upgradeable=true --timeout=15m
EOF
}
Expand Down

0 comments on commit 7d28de0

Please sign in to comment.