Skip to content

Commit fc932ac

Browse files
Add openshift-psap custom steps (openshift#10515)
* Add openshift-psap custom steps Performance and sensitive applications team The need for testing operators over GPU's gaining relevance for both internal and external cusomters, we need a reusable workflow for different CI jobs that will be added in the upcoming future - Create a openshift-psap step-registry - Create openshift-psap-ci-artifacts-aws-gpu step - create openshift-psap-e2e-aws-gpu workflow Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * fix prefix Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * fix Command on step ref manifest Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * Fix name in reference aws-gpu Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * fix workflow ref call to aws-gpu step Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * shellcheck fixes Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]> * Fix command sh Signed-off-by: Carlos Eduardo Arango Gutierrez <[email protected]>
1 parent c6102b1 commit fc932ac

File tree

10 files changed

+83
-0
lines changed

10 files changed

+83
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
approvers:
2+
- zvonkok
3+
- ArangoGutierrez
4+
reviewers:
5+
- zvonkok
6+
- cep235
7+
- sjug
8+
- jmencak
9+
- Deepthidharwar
10+
- ArangoGutierrez
11+
- dagrayvid
12+
- kpouget
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#!/bin/bash
2+
3+
set -o nounset
4+
set -o errexit
5+
set -o pipefail
6+
7+
if test ! -f "${KUBECONFIG}"
8+
then
9+
echo "No kubeconfig, can not continue."
10+
exit 0
11+
fi
12+
13+
# Desired GPU instance type
14+
# Choose one from https://docs.aws.amazon.com/dlami/latest/devguide/gpu.html
15+
instance_type=g4dn.xlarge
16+
17+
# Get machineset name to generate a generic template
18+
ref_machineset_name=$(oc get machinesets -n openshift-machine-api |grep worker |awk '{ print $1 }')
19+
20+
# Replace machine name worker to gpu
21+
gpu_machineset_name=$(echo $ref_machineset_name | sed s/worker/gpu/)
22+
23+
export instance_type ref_machineset_name gpu_machineset_name
24+
25+
# Get a templated json from a running machine, change machine type and machine name
26+
# and pass it to oc to create a new machine set
27+
set +o errexit
28+
oc get -nopenshift-machine-api machineset $ref_machineset_name -o json \
29+
| jq 'del(.status)|del(.metadata.selfLink)|del(.metadata.uid)' \
30+
| jq --arg instance_type "${instance_type}" '.spec.template.spec.providerSpec.value.instanceType = $instance_type' \
31+
| jq --arg gpu_machineset_name "${gpu_machineset_name}" '.metadata.name = $gpu_machineset_name' \
32+
| jq --arg gpu_machineset_name "${gpu_machineset_name}" '.spec.template.metadata.labels."machine.openshift.io/cluster-api-machineset" = $gpu_machineset_name' \
33+
| jq --arg gpu_machineset_name "${gpu_machineset_name}" '.spec.selector.matchLabels."machine.openshift.io/cluster-api-machineset" = $gpu_machineset_name' \
34+
| oc create -f -
35+
set -o errexit
36+
37+
# Wait until the new node is provisioned by the control plane
38+
set +o errexit
39+
while [ ${gpu_machine_state} != "Running" ]; do
40+
sleep 5s
41+
gpu_machine_state=$(oc get machines -n openshift-machine-api |grep $instance_type |awk '{ print $2 }')
42+
done
43+
set -o errexit
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
ref:
2+
as: openshift-psap-ci-artifacts-aws-gpu
3+
from: dev-scripts
4+
commands: openshift-psap-ci-artifacts-aws-gpu-commands.sh
5+
resources:
6+
requests:
7+
cpu: 100m
8+
memory: 100Mi
9+
documentation: |-
10+
The OpenShift-PSAP CI_Artifacts gpu step creates a new machineset with a GPU instance type.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
workflow:
2+
as: openshift-psap-e2e-aws-gpu
3+
steps:
4+
pre:
5+
- chain: ipi-aws-pre
6+
- ref: openshift-psap-ci-artifacts-aws-gpu
7+
test:
8+
- ref: openshift-e2e-test
9+
post:
10+
- chain: ipi-aws-post
11+
documentation: |-
12+
The Openshift-PSAP GPU E2E AWS workflow executes the common end-to-end test suite on AWS with a GPU node.

0 commit comments

Comments
 (0)