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 }}'
|
ansible_python_interpreter: '{{ ansible_playbook_python }}'
|
||||||
env:
|
env:
|
||||||
ANSIBLE_FORCE_COLOR: 'true'
|
ANSIBLE_FORCE_COLOR: 'true'
|
||||||
|
options:
|
||||||
|
vvv: True
|
||||||
scenario:
|
scenario:
|
||||||
name: default
|
name: default
|
||||||
test_sequence:
|
test_sequence:
|
||||||
|
|||||||
@@ -154,6 +154,30 @@
|
|||||||
that:
|
that:
|
||||||
- k8s_service_2 is not changed
|
- 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
|
- name: Change service ports
|
||||||
k8s:
|
k8s:
|
||||||
definition:
|
definition:
|
||||||
@@ -170,14 +194,14 @@
|
|||||||
port: 8081
|
port: 8081
|
||||||
targetPort: 8081
|
targetPort: 8081
|
||||||
apply: yes
|
apply: yes
|
||||||
register: k8s_service_3
|
register: k8s_service_4
|
||||||
|
|
||||||
- name: Check ports are correct
|
- name: Check ports are correct
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- k8s_service_3 is changed
|
- k8s_service_4 is changed
|
||||||
- k8s_service_3.result.spec.ports | length == 1
|
- k8s_service_4.result.spec.ports | length == 1
|
||||||
- k8s_service_3.result.spec.ports[0].port == 8081
|
- k8s_service_4.result.spec.ports[0].port == 8081
|
||||||
|
|
||||||
always:
|
always:
|
||||||
- name: Remove namespace
|
- name: Remove namespace
|
||||||
|
|||||||
@@ -299,7 +299,11 @@ class KubernetesRawModule(KubernetesAnsibleModule):
|
|||||||
else:
|
else:
|
||||||
if self.apply:
|
if self.apply:
|
||||||
if self.check_mode:
|
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:
|
else:
|
||||||
try:
|
try:
|
||||||
k8s_obj = resource.apply(definition, namespace=namespace).to_dict()
|
k8s_obj = resource.apply(definition, namespace=namespace).to_dict()
|
||||||
|
|||||||
Reference in New Issue
Block a user