Files
library-charts/library/common-test/tests/pod/runtime_class_name_test.yaml

208 lines
5.6 KiB
YAML

suite: pod runtime class name test
templates:
- common.yaml
release:
name: test-release-name
namespace: test-release-namespace
tests:
- it: should pass with empty runtimeClassName
set:
podOptions:
runtimeClassName: ""
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec: {}
asserts:
- documentIndex: &deploymentDoc 0
isKind:
of: Deployment
- documentIndex: *deploymentDoc
isNullOrEmpty:
path: spec.template.spec.runtimeClassName
- it: should pass with runtimeClassName from "global"
set:
podOptions:
runtimeClassName: some-runtime-class
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec: {}
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: some-runtime-class
- it: should pass with runtimeClassName from "pod"
set:
podOptions:
runtimeClassName: some-runtime-class
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
runtimeClassName: some-other-runtime-class
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: some-other-runtime-class
- it: should pass with runtimeClassName from "pod" with tpl
set:
runtimeClass: some-other-runtime-class
podOptions:
runtimeClassName: some-runtime-class
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
runtimeClassName: "{{ .Values.runtimeClass }}"
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: some-other-runtime-class
- it: should pass with runtimeClass set to nvidia when in SCALE and using the container "resources" directly
set:
global:
namespace: ix-namespace
ixChartContext:
addNvidiaRuntimeClass: true
nvidiaRuntimeClassName: ix-runtime
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
resources:
limits:
nvidia.com/gpu: 1
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: nvidia
- it: should pass with runtimeClassName NOT set to nvidia when in SCALE with amd gpu
set:
global:
namespace: ix-namespace
ixChartContext:
addNvidiaRuntimeClass: true
nvidiaRuntimeClassName: ix-runtime
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
resources:
limits:
amd.com/gpu: 1
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: null
- it: should pass with runtimeClass NOT set when in SCALE and 0 gpu
set:
global:
namespace: ix-namespace
ixChartContext:
addNvidiaRuntimeClass: true
nvidiaRuntimeClassName: ix-runtime
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
resources:
limits:
nvidia.com/gpu:
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: null
- it: should pass with runtimeClass set to nvidia when in SCALE and using the top level "resources" directly
set:
global:
namespace: ix-namespace
ixChartContext:
addNvidiaRuntimeClass: true
nvidiaRuntimeClassName: ix-runtime
resources:
limits:
nvidia.com/gpu: 1
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
containers:
container-name:
enabled: true
primary: true
probes:
liveness:
enabled: false
readiness:
enabled: false
startup:
enabled: false
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.runtimeClassName
value: nvidia