1
0
Fork 0
mirror of https://github.com/kyverno/kyverno.git synced 2025-04-15 00:36:28 +00:00

chore: add chainsaw test for controllers leader election (#10416)

* chore: add chainsaw test for reports controller leader election

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

* other controllers

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>

---------

Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
Charles-Edouard Brétéché 2024-06-10 17:57:29 +02:00 committed by GitHub
parent 3fba464f49
commit f26acfb36a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 181 additions and 0 deletions

View file

@ -105,6 +105,7 @@ jobs:
- ^generate$/^policy$
- ^generate$/^validation$
- ^globalcontext$
- ^lease$
- ^mutate$
- ^policy-validation$
- ^rangeoperators$

View file

@ -0,0 +1,45 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: admission-controller-lease
spec:
concurrent: false
steps:
- try:
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: admission-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'kyverno']):
- ready: true
restartCount: 0
- patch:
resource:
apiVersion: coordination.k8s.io/v1
kind: Lease
metadata:
name: kyverno
namespace: kyverno
spec:
holderIdentity: foo
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: admission-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'kyverno']):
- ready: true
restartCount: 1

View file

@ -0,0 +1,45 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: background-controller-lease
spec:
concurrent: false
steps:
- try:
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: background-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 0
- patch:
resource:
apiVersion: coordination.k8s.io/v1
kind: Lease
metadata:
name: kyverno-background-controller
namespace: kyverno
spec:
holderIdentity: foo
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: background-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 1

View file

@ -0,0 +1,45 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: cleanup-controller-lease
spec:
concurrent: false
steps:
- try:
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: cleanup-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 0
- patch:
resource:
apiVersion: coordination.k8s.io/v1
kind: Lease
metadata:
name: kyverno-cleanup-controller
namespace: kyverno
spec:
holderIdentity: foo
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: cleanup-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 1

View file

@ -0,0 +1,45 @@
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: reports-controller-lease
spec:
concurrent: false
steps:
- try:
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: reports-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 0
- patch:
resource:
apiVersion: coordination.k8s.io/v1
kind: Lease
metadata:
name: kyverno-reports-controller
namespace: kyverno
spec:
holderIdentity: foo
- assert:
resource:
apiVersion: v1
kind: Pod
metadata:
namespace: kyverno
labels:
app.kubernetes.io/component: reports-controller
app.kubernetes.io/instance: kyverno
app.kubernetes.io/part-of: kyverno
status:
(containerStatuses[?name == 'controller']):
- ready: true
restartCount: 1