move common-test to test-chart and use it when present

This commit is contained in:
Kjeld Schouten
2024-10-09 15:35:03 +02:00
parent 197803ea0c
commit 12dae70f8d
238 changed files with 36 additions and 6 deletions
@@ -1,190 +0,0 @@
suite: pod topologySpreadConstraints test
templates:
- common.yaml
release:
name: test-release-name
namespace: test-release-namespace
tests:
- it: should pass with missing topologySpreadConstraints on DaemonSet
set:
workload:
workload-name1:
enabled: true
primary: true
type: DaemonSet
podSpec: {}
asserts:
- documentIndex: &daemonSetDoc 0
isKind:
of: DaemonSet
- documentIndex: *daemonSetDoc
isNull:
path: spec.template.spec.topologySpreadConstraints
- it: should pass with defaultSpread disabled
set:
podOptions:
defaultSpread: false
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec: {}
asserts:
- documentIndex: &deploymentSetDoc 0
isKind:
of: Deployment
- documentIndex: *deploymentSetDoc
isNull:
path: spec.template.spec.topologySpreadConstraints
- it: should pass defaults with missing topologySpreadConstraints on Deployment
set:
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec: {}
asserts:
- documentIndex: &deploymentDoc 0
isKind:
of: Deployment
- documentIndex: *deploymentDoc
equal:
path: spec.selector.matchLabels
value:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.topologySpreadConstraints
value:
- labelSelector:
matchLabels:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
- it: should pass with topologySpreadConstraints from "global"
set:
podOptions:
topologySpreadConstraints:
- maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
topologyKey: "truecharts.org/test"
labelSelector:
matchLabels: {}
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec: {}
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.selector.matchLabels
value:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.topologySpreadConstraints
value:
- labelSelector:
matchLabels:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
- labelSelector:
matchLabels: {}
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: truecharts.org/test
whenUnsatisfiable: ScheduleAnyway
- it: should pass with multiple topologySpreadConstraints from "pod"
set:
podOptions:
topologySpreadConstraints:
- maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
topologyKey: "truecharts.org/test1"
labelSelector:
matchLabels: {}
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
workload:
workload-name1:
enabled: true
primary: true
type: Deployment
podSpec:
topologySpreadConstraints:
- maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
topologyKey: "truecharts.org/test2"
labelSelector:
matchLabels: {}
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
- maxSkew: 1
whenUnsatisfiable: ScheduleAnyway
topologyKey: "truecharts.org/test3"
labelSelector:
matchLabels: {}
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
asserts:
- documentIndex: *deploymentDoc
equal:
path: spec.selector.matchLabels
value:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
- documentIndex: *deploymentDoc
equal:
path: spec.template.spec.topologySpreadConstraints
value:
- labelSelector:
matchLabels:
app.kubernetes.io/instance: test-release-name
app.kubernetes.io/name: common-test
pod.name: workload-name1
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
- labelSelector:
matchLabels: {}
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: truecharts.org/test2
whenUnsatisfiable: ScheduleAnyway
- labelSelector:
matchLabels: {}
maxSkew: 1
nodeAffinityPolicy: Honor
nodeTaintsPolicy: Honor
topologyKey: truecharts.org/test3
whenUnsatisfiable: ScheduleAnyway