a684bb9f5b
* Ensure k8s apply works with check mode Update the new predicted object with fields from the previous object before applying in check mode Don't log output of `file` with `state: absent` on huge virtualenvs! Fixes #60510 * Use openshift client fix to improve apply for check mode Use new apply_object method to get a better approximation of the expected object in check mode. Requires released upgrade to openshift * Add changelog fragment for k8s apply check mode fix * Update changelogs/fragments/60510-k8s-apply-check-mode.yml Co-Authored-By: Felix Fontein <felix@fontein.de>
69 lines
1.9 KiB
YAML
69 lines
1.9 KiB
YAML
- python_requirements_info:
|
|
dependencies:
|
|
- openshift==0.6.0
|
|
- kubernetes==6.0.0
|
|
|
|
# append_hash
|
|
- name: use append_hash with ConfigMap
|
|
k8s:
|
|
definition:
|
|
metadata:
|
|
name: config-map-test
|
|
namespace: "{{ playbook_namespace }}"
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
data:
|
|
hello: world
|
|
append_hash: yes
|
|
ignore_errors: yes
|
|
register: k8s_append_hash
|
|
|
|
- name: assert that append_hash fails gracefully
|
|
assert:
|
|
that:
|
|
- k8s_append_hash is failed
|
|
- "'Failed to import the required Python library (openshift >= 0.7.2)' in k8s_append_hash.msg"
|
|
- "'. This is required for append_hash.' in k8s_append_hash.msg"
|
|
|
|
# validate
|
|
- name: attempt to use validate with older openshift
|
|
k8s:
|
|
definition:
|
|
metadata:
|
|
name: config-map-test
|
|
namespace: "{{ playbook_namespace }}"
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
data:
|
|
hello: world
|
|
validate:
|
|
fail_on_error: yes
|
|
ignore_errors: yes
|
|
register: k8s_validate
|
|
|
|
- name: assert that validate fails gracefully
|
|
assert:
|
|
that:
|
|
- k8s_validate is failed
|
|
- "k8s_validate.msg == 'openshift >= 0.8.0 is required for validate'"
|
|
|
|
# apply
|
|
- name: attempt to use apply with older openshift
|
|
k8s:
|
|
definition:
|
|
metadata:
|
|
name: config-map-test
|
|
namespace: "{{ playbook_namespace }}"
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
data:
|
|
hello: world
|
|
apply: yes
|
|
ignore_errors: yes
|
|
register: k8s_apply
|
|
|
|
- name: assert that apply fails gracefully
|
|
assert:
|
|
that:
|
|
- k8s_apply is failed
|
|
- "k8s_apply.msg.startswith('Failed to import the required Python library (openshift >= 0.9.2)')"
|