mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-03-26 21:33:02 +00:00
Merge pull request #84 from willthames/k8s_apply_check_mode_fix
K8s apply check mode fix
This commit is contained in:
@@ -21,6 +21,8 @@ provisioner:
|
||||
ansible_python_interpreter: '{{ ansible_playbook_python }}'
|
||||
env:
|
||||
ANSIBLE_FORCE_COLOR: 'true'
|
||||
options:
|
||||
vvv: True
|
||||
scenario:
|
||||
name: default
|
||||
test_sequence:
|
||||
|
||||
@@ -154,6 +154,30 @@
|
||||
that:
|
||||
- k8s_service_2 is not changed
|
||||
|
||||
- name: Add exactly same service in check mode
|
||||
k8s:
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: apply-svc
|
||||
namespace: "{{ apply_namespace }}"
|
||||
spec:
|
||||
selector:
|
||||
app: whatever
|
||||
ports:
|
||||
- name: http
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
apply: yes
|
||||
register: k8s_service_3
|
||||
check_mode: yes
|
||||
|
||||
- name: Check nothing changed
|
||||
assert:
|
||||
that:
|
||||
- k8s_service_3 is not changed
|
||||
|
||||
- name: Change service ports
|
||||
k8s:
|
||||
definition:
|
||||
@@ -170,14 +194,14 @@
|
||||
port: 8081
|
||||
targetPort: 8081
|
||||
apply: yes
|
||||
register: k8s_service_3
|
||||
register: k8s_service_4
|
||||
|
||||
- name: Check ports are correct
|
||||
assert:
|
||||
that:
|
||||
- k8s_service_3 is changed
|
||||
- k8s_service_3.result.spec.ports | length == 1
|
||||
- k8s_service_3.result.spec.ports[0].port == 8081
|
||||
- k8s_service_4 is changed
|
||||
- k8s_service_4.result.spec.ports | length == 1
|
||||
- k8s_service_4.result.spec.ports[0].port == 8081
|
||||
|
||||
always:
|
||||
- name: Remove namespace
|
||||
|
||||
@@ -299,7 +299,11 @@ class KubernetesRawModule(KubernetesAnsibleModule):
|
||||
else:
|
||||
if self.apply:
|
||||
if self.check_mode:
|
||||
ignored, k8s_obj = apply_object(resource, definition)
|
||||
ignored, patch = apply_object(resource, definition)
|
||||
if existing:
|
||||
k8s_obj = dict_merge(existing.to_dict(), patch)
|
||||
else:
|
||||
k8s_obj = patch
|
||||
else:
|
||||
try:
|
||||
k8s_obj = resource.apply(definition, namespace=namespace).to_dict()
|
||||
|
||||
Reference in New Issue
Block a user