Merge branch 'master-vnext' into feature/add-startup-probe
This commit is contained in:
9 files changed
+476
-9
No files matched your search
@@ -0,0 +1,160 @@
|
||||
suite: test cache persistence
|
||||
templates:
|
||||
- deployment.yaml
|
||||
- persistentVolumeClaim.yaml
|
||||
tests:
|
||||
# Deployment volume mount tests
|
||||
- it: should mount cache as emptyDir by default
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.volumes
|
||||
content:
|
||||
name: cache
|
||||
emptyDir: {}
|
||||
|
||||
- it: should mount cache PVC when enabled
|
||||
template: deployment.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.volumes
|
||||
content:
|
||||
name: cache
|
||||
persistentVolumeClaim:
|
||||
claimName: RELEASE-NAME-jellyfin-cache
|
||||
|
||||
- it: should mount cache from hostPath when configured
|
||||
template: deployment.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: hostPath
|
||||
persistence.cache.hostPath: /mnt/jellyfin-cache
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.volumes
|
||||
content:
|
||||
name: cache
|
||||
hostPath:
|
||||
path: /mnt/jellyfin-cache
|
||||
|
||||
- it: should mount cache at correct path
|
||||
template: deployment.yaml
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.containers[0].volumeMounts
|
||||
content:
|
||||
name: cache
|
||||
mountPath: /cache
|
||||
|
||||
# PVC tests
|
||||
- it: should not create cache PVC by default
|
||||
template: persistentVolumeClaim.yaml
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2 # config and media only
|
||||
|
||||
- it: should create cache PVC when enabled
|
||||
template: persistentVolumeClaim.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 3 # config, media, and cache
|
||||
- contains:
|
||||
path: metadata.name
|
||||
content: RELEASE-NAME-jellyfin-cache
|
||||
|
||||
- it: should not create cache PVC when type is hostPath
|
||||
template: persistentVolumeClaim.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: hostPath
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2 # config and media only
|
||||
|
||||
- it: should not create cache PVC when type is emptyDir
|
||||
template: persistentVolumeClaim.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: emptyDir
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2
|
||||
|
||||
- it: should set cache PVC size correctly
|
||||
template: persistentVolumeClaim.yaml
|
||||
documentIndex: 2
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.size: 20Gi
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.resources.requests.storage
|
||||
value: 20Gi
|
||||
|
||||
- it: should set cache PVC access mode
|
||||
template: persistentVolumeClaim.yaml
|
||||
documentIndex: 2
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.accessMode: ReadWriteMany
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.accessModes
|
||||
content: ReadWriteMany
|
||||
|
||||
- it: should set cache PVC storage class
|
||||
template: persistentVolumeClaim.yaml
|
||||
documentIndex: 2
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.storageClass: fast-ssd
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.storageClassName
|
||||
value: fast-ssd
|
||||
|
||||
- it: should add annotations to cache PVC
|
||||
template: persistentVolumeClaim.yaml
|
||||
documentIndex: 2
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.annotations:
|
||||
my-annotation: my-value
|
||||
asserts:
|
||||
- equal:
|
||||
path: metadata.annotations.my-annotation
|
||||
value: my-value
|
||||
|
||||
- it: should use existing claim when specified
|
||||
template: deployment.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.existingClaim: my-existing-cache-claim
|
||||
asserts:
|
||||
- contains:
|
||||
path: spec.template.spec.volumes
|
||||
content:
|
||||
name: cache
|
||||
persistentVolumeClaim:
|
||||
claimName: my-existing-cache-claim
|
||||
|
||||
- it: should not create PVC when existing claim used
|
||||
template: persistentVolumeClaim.yaml
|
||||
set:
|
||||
persistence.cache.enabled: true
|
||||
persistence.cache.type: pvc
|
||||
persistence.cache.existingClaim: my-existing-cache-claim
|
||||
asserts:
|
||||
- hasDocuments:
|
||||
count: 2 # config and media only, not cache
|
||||
@@ -0,0 +1,128 @@
|
||||
suite: test service ipv6 and dual-stack
|
||||
templates:
|
||||
- service.yaml
|
||||
tests:
|
||||
- it: should not set ipFamilyPolicy by default
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.ipFamilyPolicy
|
||||
|
||||
- it: should not set ipFamilies by default
|
||||
asserts:
|
||||
- isNull:
|
||||
path: spec.ipFamilies
|
||||
|
||||
- it: should set ipFamilyPolicy when specified
|
||||
set:
|
||||
service.ipFamilyPolicy: PreferDualStack
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: PreferDualStack
|
||||
|
||||
- it: should support SingleStack policy
|
||||
set:
|
||||
service.ipFamilyPolicy: SingleStack
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: SingleStack
|
||||
|
||||
- it: should support RequireDualStack policy
|
||||
set:
|
||||
service.ipFamilyPolicy: RequireDualStack
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: RequireDualStack
|
||||
|
||||
- it: should set ipFamilies for IPv4 only
|
||||
set:
|
||||
service.ipFamilies:
|
||||
- IPv4
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv4
|
||||
|
||||
- it: should set ipFamilies for IPv6 only
|
||||
set:
|
||||
service.ipFamilies:
|
||||
- IPv6
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv6
|
||||
|
||||
- it: should set ipFamilies for dual-stack IPv4 primary
|
||||
set:
|
||||
service.ipFamilies:
|
||||
- IPv4
|
||||
- IPv6
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv4
|
||||
- equal:
|
||||
path: spec.ipFamilies[1]
|
||||
value: IPv6
|
||||
|
||||
- it: should set ipFamilies for dual-stack IPv6 primary
|
||||
set:
|
||||
service.ipFamilies:
|
||||
- IPv6
|
||||
- IPv4
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv6
|
||||
- equal:
|
||||
path: spec.ipFamilies[1]
|
||||
value: IPv4
|
||||
|
||||
- it: should work with PreferDualStack and both families
|
||||
set:
|
||||
service.ipFamilyPolicy: PreferDualStack
|
||||
service.ipFamilies:
|
||||
- IPv4
|
||||
- IPv6
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: PreferDualStack
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv4
|
||||
- equal:
|
||||
path: spec.ipFamilies[1]
|
||||
value: IPv6
|
||||
|
||||
- it: should work with RequireDualStack and both families
|
||||
set:
|
||||
service.ipFamilyPolicy: RequireDualStack
|
||||
service.ipFamilies:
|
||||
- IPv6
|
||||
- IPv4
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: RequireDualStack
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv6
|
||||
- equal:
|
||||
path: spec.ipFamilies[1]
|
||||
value: IPv4
|
||||
|
||||
- it: should work with SingleStack IPv6 only
|
||||
set:
|
||||
service.ipFamilyPolicy: SingleStack
|
||||
service.ipFamilies:
|
||||
- IPv6
|
||||
asserts:
|
||||
- equal:
|
||||
path: spec.ipFamilyPolicy
|
||||
value: SingleStack
|
||||
- equal:
|
||||
path: spec.ipFamilies[0]
|
||||
value: IPv6
|
||||
Reference in new issue
Block a user