Wait¶
The wait
is a wrapper around kubectl wait
. It allows to wait for deletion or conditions against resources.
Reference documentation
The full structure of the Wait
is documented here.
Usage in Test
¶
Below is an example of using wait
in a Test
resource.
Wait pod ready
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
name: my-pod
timeout: 1m
for:
condition:
name: Ready
value: 'true'
# ...
Wait pod ready in a specific namespace
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
name: my-pod
namespace: my-ns
timeout: 1m
for:
condition:
name: Ready
value: 'true'
# ...
Wait pods ready using a label selector
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
selector: app=foo
timeout: 1m
for:
condition:
name: Ready
value: 'true'
# ...
Wait pod deleted
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
name: my-pod
timeout: 1m
for:
deletion: {}
# ...
Wait pod deleted in a specific namespace
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
name: my-pod
namespace: my-ns
timeout: 1m
for:
deletion: {}
# ...
Wait pods deleted using a label selector
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
selector: app=foo
timeout: 1m
for:
deletion: {}
# ...
Format¶
An optional format
can be specified. Supported formats are json
and yaml
.
If format
is not specified, results will be returned in text format.
Use json format
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
format: json
# ...
catch:
# ...
- wait:
resource: pods
format: json
# ...
finally:
# ...
- wait:
resource: pods
format: json
# ...
Use yaml format
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: example
spec:
steps:
- try:
# ...
- wait:
resource: pods
format: yaml
# ...
catch:
# ...
- wait:
resource: pods
format: yaml
# ...
finally:
# ...
- wait:
resource: pods
format: yaml
# ...