docker_swarm_service: Fix crash when using configs parameter (#50606)

* Fix crash when using configs parameter

* Don’t add difference for configs set to None

* Add changelog fragment

* Revert "Add changelog fragment"

This reverts commit 8df497e3881d976e7417d2662a167694fbc33147.

* Enable config tests

* Pass empty list of configs to docker

* Properly clean up after all tests
This commit is contained in:
Hannes Ljungberg
2019-01-21 21:29:00 +01:00
committed by ansibot
parent 393bf5e4b1
commit 9c44dc371b
2 changed files with 84 additions and 56 deletions

View File

@@ -110,60 +110,64 @@
## configs #########################################################
####################################################################
# FIXME: Broken until #50606 is merged
- name: configs
docker_swarm_service:
name: "{{ service_name }}"
image: alpine:3.8
configs:
- config_id: "{{ config_result_1.config_id }}"
config_name: "{{ config_name_1 }}"
filename: "/tmp/{{ config_name_1 }}.txt"
register: configs_1
#- name: configs
# docker_swarm_service:
# name: "{{ service_name }}"
# image: alpine:3.8
# configs:
# - config_id: "{{ config_result_1.config_id }}"
# config_name: "{{ config_name_1 }}"
# filename: "/tmp/{{ config_name_1 }}.txt"
# register: configs_1
#
#- name: configs (idempotency)
# docker_swarm_service:
# name: "{{ service_name }}"
# image: alpine:3.8
# configs:
# - config_id: "{{ config_result_1.config_id }}"
# config_name: "{{ config_name_1 }}"
# filename: "/tmp/{{ config_name_1 }}.txt"
# register: configs_2
#
#- name: configs (add)
# docker_swarm_service:
# name: "{{ service_name }}"
# image: alpine:3.8
# configs:
# - config_id: "{{ config_result_1.config_id }}"
# config_name: "{{ config_name_1 }}"
# filename: "/tmp/{{ config_name_1 }}.txt"
# - config_id: "{{ config_result_2.config_id }}"
# config_name: "{{ config_name_2 }}"
# filename: "/tmp/{{ config_name_2 }}.txt"
# register: configs_3
#
#- name: configs (empty)
# docker_swarm_service:
# name: "{{ service_name }}"
# image: alpine:3.8
# configs: []
# register: configs_4
#
#- assert:
# that:
# - configs_1 is changed
# - configs_2 is not changed
# - configs_3 is changed
# - configs_4 is changed
# when: docker_api_version is version('1.30', '>=')
#- assert:
# that:
# - configs_1 is failed
# - "('version is ' ~ docker_api_version ~'. Minimum version required is 1.30') in configs_1.msg"
# when: docker_api_version is version('1.30', '<')
- name: configs (idempotency)
docker_swarm_service:
name: "{{ service_name }}"
image: alpine:3.8
configs:
- config_id: "{{ config_result_1.config_id }}"
config_name: "{{ config_name_1 }}"
filename: "/tmp/{{ config_name_1 }}.txt"
register: configs_2
- name: configs (add)
docker_swarm_service:
name: "{{ service_name }}"
image: alpine:3.8
configs:
- config_id: "{{ config_result_1.config_id }}"
config_name: "{{ config_name_1 }}"
filename: "/tmp/{{ config_name_1 }}.txt"
- config_id: "{{ config_result_2.config_id }}"
config_name: "{{ config_name_2 }}"
filename: "/tmp/{{ config_name_2 }}.txt"
register: configs_3
- name: configs (empty)
docker_swarm_service:
name: "{{ service_name }}"
image: alpine:3.8
configs: []
register: configs_4
- name: cleanup
docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: no
- assert:
that:
- configs_1 is changed
- configs_2 is not changed
- configs_3 is changed
- configs_4 is changed
when: docker_api_version is version('1.30', '>=')
- assert:
that:
- configs_1 is failed
- "('version is ' ~ docker_api_version ~'. Minimum version required is 1.30') in configs_1.msg"
when: docker_api_version is version('1.30', '<')
####################################################################
## constraints #####################################################
@@ -910,6 +914,12 @@
mounts: []
register: mounts_4
- name: cleanup
docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: no
- assert:
that:
- mounts_1 is changed
@@ -944,6 +954,12 @@
networks: []
register: networks_3
- name: cleanup
docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: no
- assert:
that:
- networks_1 is changed
@@ -1062,6 +1078,12 @@
mode: host
register: publish_5
- name: cleanup
docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: no
- assert:
that:
- publish_1 is changed
@@ -1379,6 +1401,12 @@
secrets: []
register: secrets_4
- name: cleanup
docker_swarm_service:
name: "{{ service_name }}"
state: absent
diff: no
- assert:
that:
- secrets_1 is changed