446919de6f
* Add apply to k8s module Use apply method for updating k8s resources. * Improve apply documentation * k8s: Make apply and merge_type mutually exclusive
125 lines
3.2 KiB
YAML
125 lines
3.2 KiB
YAML
- block:
|
|
- name: Create a namespace
|
|
k8s:
|
|
name: "{{ playbook_namespace }}"
|
|
kind: Namespace
|
|
|
|
- copy:
|
|
src: files
|
|
dest: "{{ remote_tmp_dir }}"
|
|
|
|
- name: incredibly simple ConfigMap
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: hello
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: yes
|
|
register: k8s_with_validate
|
|
|
|
- name: assert that k8s_with_validate succeeds
|
|
assert:
|
|
that:
|
|
- k8s_with_validate is successful
|
|
|
|
- name: extra property does not fail without strict
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/kuard-extra-property.yml"
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: yes
|
|
strict: no
|
|
|
|
- name: extra property fails with strict
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/kuard-extra-property.yml"
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: yes
|
|
strict: yes
|
|
ignore_errors: yes
|
|
register: extra_property
|
|
|
|
- name: check that extra property fails with strict
|
|
assert:
|
|
that:
|
|
- extra_property is failed
|
|
|
|
- name: invalid type fails at validation stage
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/kuard-invalid-type.yml"
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: yes
|
|
strict: no
|
|
ignore_errors: yes
|
|
register: invalid_type
|
|
|
|
- name: check that invalid type fails
|
|
assert:
|
|
that:
|
|
- invalid_type is failed
|
|
|
|
- name: invalid type fails with warnings when fail_on_error is False
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/kuard-invalid-type.yml"
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: no
|
|
strict: no
|
|
ignore_errors: yes
|
|
register: invalid_type_no_fail
|
|
|
|
- name: check that invalid type fails
|
|
assert:
|
|
that:
|
|
- invalid_type_no_fail is failed
|
|
|
|
- name: setup custom resource definition
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/setup-crd.yml"
|
|
|
|
- name: wait a few seconds
|
|
pause:
|
|
seconds: 5
|
|
|
|
- name: add custom resource definition
|
|
k8s:
|
|
src: "{{ remote_tmp_dir }}/files/crd-resource.yml"
|
|
namespace: "{{ playbook_namespace }}"
|
|
validate:
|
|
fail_on_error: yes
|
|
strict: yes
|
|
register: unknown_kind
|
|
|
|
- name: check that unknown kind warns
|
|
assert:
|
|
that:
|
|
- unknown_kind is successful
|
|
- "'warnings' in unknown_kind"
|
|
|
|
always:
|
|
- name: remove custom resource
|
|
k8s:
|
|
definition: "{{ lookup('file', role_path + '/files/crd-resource.yml') }}"
|
|
namespace: "{{ playbook_namespace }}"
|
|
state: absent
|
|
ignore_errors: yes
|
|
|
|
- name: remove custom resource definitions
|
|
k8s:
|
|
definition: "{{ lookup('file', role_path + '/files/setup-crd.yml') }}"
|
|
state: absent
|
|
|
|
- name: Delete namespace
|
|
k8s:
|
|
state: absent
|
|
definition:
|
|
- kind: Namespace
|
|
apiVersion: v1
|
|
metadata:
|
|
name: "{{ playbook_namespace }}"
|
|
ignore_errors: yes
|