mirror of
https://github.com/truenas/charts.git
synced 2026-04-26 19:42:14 +08:00
* Adapt charts CI and improve/fix common * add check on permissions contaienr * add postgres template * update comments * Update create_app.sh * add check * update script * auto gen item.yaml from Chart,yaml * rename readme on dest * duplicate readme from the same source * correct comment * reoder * remove extra space * keep both README and app-readme * update regex, to also allow 2 letter names, which is also valid * No need to check host network if there aren't any pod values * use same pattern as the pod.name label (not prepending release-name * update deps * add chart dirs to ci * Add a validation to check if there is any yaml errors after merging files * update charts path on ci * common/1.0.0/ -> common/ * update common-test dep path * temp update create_app script * make permissions container name configurable, incase we want to change order of execution * update naming convention * fix typo and a missed name change * do not allow `--` in names
195 lines
5.2 KiB
YAML
195 lines
5.2 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
|