mirror of
https://github.com/truenas/charts.git
synced 2026-04-13 09:49:46 +08:00
* Set nvidia caps to void when no gpu is passed * add tests to init containers too * Additionally add `render` group when gpu is added * Correctly handle "0" gpu * handle fsGroup 0 properly * fix gh highlight * Correct nvidia variable and add additional check for runtime * cast both sides of the comparison * fix externalinterfaces nesting * Add dnsConfig missing docs
215 lines
5.7 KiB
YAML
215 lines
5.7 KiB
YAML
suite: pod runtime class name test
|
|
templates:
|
|
- common.yaml
|
|
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
|
|
isNull:
|
|
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 runtimeClassName from ixChartContext with targetSelector
|
|
set:
|
|
scaleGPU:
|
|
- gpu:
|
|
key: value
|
|
targetSelector:
|
|
workload-name1:
|
|
- container-name1
|
|
workload-name3:
|
|
- container-name1
|
|
global:
|
|
ixChartContext:
|
|
addNvidiaRuntimeClass: true
|
|
nvidiaRuntimeClassName: ix-runtime
|
|
podOptions:
|
|
runtimeClassName: some-class
|
|
workload:
|
|
workload-name1:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec:
|
|
runtimeClassName: some-other-class
|
|
workload-name2:
|
|
enabled: true
|
|
primary: false
|
|
type: Deployment
|
|
podSpec:
|
|
runtimeClassName: some-class
|
|
workload-name3:
|
|
enabled: true
|
|
primary: false
|
|
type: Deployment
|
|
podSpec:
|
|
runtimeClassName: some-class
|
|
asserts:
|
|
- documentIndex: *deploymentDoc
|
|
equal:
|
|
path: spec.template.spec.runtimeClassName
|
|
value: ix-runtime
|
|
- documentIndex: &deploymentDoc 1
|
|
isKind:
|
|
of: Deployment
|
|
- documentIndex: *deploymentDoc
|
|
equal:
|
|
path: spec.template.spec.runtimeClassName
|
|
value: some-class
|
|
- documentIndex: &otherDeploymentDoc 2
|
|
isKind:
|
|
of: Deployment
|
|
- documentIndex: *otherDeploymentDoc
|
|
equal:
|
|
path: spec.template.spec.runtimeClassName
|
|
value: ix-runtime
|
|
|
|
- it: should pass with runtimeClassName from ixChartContext without targetSelector (on primary workload)
|
|
set:
|
|
scaleGPU:
|
|
- gpu:
|
|
key: value
|
|
global:
|
|
ixChartContext:
|
|
addNvidiaRuntimeClass: true
|
|
nvidiaRuntimeClassName: ix-runtime
|
|
workload:
|
|
workload-name1:
|
|
enabled: true
|
|
primary: true
|
|
type: Job
|
|
podSpec:
|
|
restartPolicy: Never
|
|
runtimeClassName: some-other-class
|
|
workload-name2:
|
|
enabled: true
|
|
primary: false
|
|
type: CronJob
|
|
schedule: "* * * * *"
|
|
podSpec:
|
|
restartPolicy: Never
|
|
asserts:
|
|
- documentIndex: &jobDoc 0
|
|
isKind:
|
|
of: Job
|
|
- documentIndex: *jobDoc
|
|
equal:
|
|
path: spec.template.spec.runtimeClassName
|
|
value: ix-runtime
|
|
- documentIndex: &cronJobDoc 1
|
|
isKind:
|
|
of: CronJob
|
|
- documentIndex: *cronJobDoc
|
|
isNull:
|
|
path: spec.jobTemplate.spec.template.spec.runtimeClassName
|
|
|
|
- it: should pass with runtimeClassName not set from ixChartContext without gpu value
|
|
set:
|
|
scaleGPU:
|
|
- gpu: {}
|
|
targetSelector:
|
|
workload-name1:
|
|
- container-name1
|
|
global:
|
|
ixChartContext:
|
|
addNvidiaRuntimeClass: true
|
|
nvidiaRuntimeClassName: ix-runtime
|
|
workload:
|
|
workload-name1:
|
|
enabled: true
|
|
primary: true
|
|
type: Job
|
|
podSpec:
|
|
restartPolicy: Never
|
|
runtimeClassName: some-other-class
|
|
asserts:
|
|
- documentIndex: *jobDoc
|
|
isKind:
|
|
of: Job
|
|
- documentIndex: *jobDoc
|
|
equal:
|
|
path: spec.template.spec.runtimeClassName
|
|
value: some-other-class
|
|
|
|
- it: should not add runtimeClassName with gpu value 0
|
|
set:
|
|
scaleGPU:
|
|
- gpu:
|
|
key: 0
|
|
global:
|
|
ixChartContext:
|
|
addNvidiaRuntimeClass: true
|
|
nvidiaRuntimeClassName: ix-runtime
|
|
workload:
|
|
workload-name1:
|
|
enabled: true
|
|
primary: true
|
|
type: Deployment
|
|
podSpec: {}
|
|
asserts:
|
|
- documentIndex: &deploymentDoc 0
|
|
isNull:
|
|
path: spec.template.spec.runtimeClassName
|