mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
docker_swarm_service: Add option groups (#53213)
* Add logging option * Add limits option * Add reservations option * Add restart_config option * Add update_config option * Add placement option and remove placement_preferences * Yaml indentation * Use correct PR number for change log * Handle grouper fallbacks better * Add removed_in_version to argument spec * Fix broken suboption usage check * Reduce duplicate deprecated option tests * Clearer deprecation documentation * Compare bytes with MiB * Use correct test service suffix
This commit is contained in:
committed by
John R Barker
parent
628326b879
commit
139abd0849
@@ -0,0 +1,148 @@
|
||||
---
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_name: "{{ name_prefix ~ '-logging' }}"
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_names: "{{ service_names }} + [service_name]"
|
||||
|
||||
####################################################################
|
||||
## logging.driver ##################################################
|
||||
####################################################################
|
||||
|
||||
- name: logging.driver
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
register: logging_driver_1
|
||||
|
||||
- name: logging.driver (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
register: logging_driver_2
|
||||
|
||||
- name: log_driver (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
register: logging_driver_2b
|
||||
|
||||
- name: logging.driver (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: syslog
|
||||
register: logging_driver_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- logging_driver_1 is changed
|
||||
- logging_driver_2 is not changed
|
||||
- logging_driver_2b is not changed
|
||||
- logging_driver_3 is changed
|
||||
|
||||
####################################################################
|
||||
## logging.options #################################################
|
||||
####################################################################
|
||||
|
||||
- name: logging_options
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
labels: production_status
|
||||
env: os,customer
|
||||
register: logging_options_1
|
||||
|
||||
- name: logging_options (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
env: os,customer
|
||||
labels: production_status
|
||||
register: logging_options_2
|
||||
|
||||
- name: log_driver_options (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options:
|
||||
env: os,customer
|
||||
labels: production_status
|
||||
register: logging_options_2b
|
||||
|
||||
- name: logging_options (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
env: os,customer
|
||||
labels: production_status
|
||||
max-file: "1"
|
||||
register: logging_options_3
|
||||
|
||||
- name: logging_options (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
options: {}
|
||||
register: logging_options_4
|
||||
|
||||
- name: logging_options (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
logging:
|
||||
driver: json-file
|
||||
options: {}
|
||||
register: logging_options_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- logging_options_1 is changed
|
||||
- logging_options_2 is not changed
|
||||
- logging_options_2b is not changed
|
||||
- logging_options_3 is changed
|
||||
- logging_options_4 is changed
|
||||
- logging_options_5 is not changed
|
||||
@@ -198,67 +198,6 @@
|
||||
- "('version is ' ~ docker_api_version ~'. Minimum version required is 1.30') in configs_1.msg"
|
||||
when: docker_api_version is version('1.30', '<')
|
||||
|
||||
####################################################################
|
||||
## constraints #####################################################
|
||||
####################################################################
|
||||
|
||||
- name: constraints
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints:
|
||||
- "node.role == manager"
|
||||
register: constraints_1
|
||||
|
||||
- name: constraints (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints:
|
||||
- "node.role == manager"
|
||||
register: constraints_2
|
||||
|
||||
- name: constraints (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints:
|
||||
- "node.role == worker"
|
||||
register: constraints_3
|
||||
|
||||
- name: constraints (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints: []
|
||||
register: constraints_4
|
||||
|
||||
- name: constraints (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints: []
|
||||
register: constraints_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- constraints_1 is changed
|
||||
- constraints_2 is not changed
|
||||
- constraints_3 is changed
|
||||
- constraints_4 is changed
|
||||
- constraints_5 is not changed
|
||||
|
||||
####################################################################
|
||||
## command #########################################################
|
||||
####################################################################
|
||||
@@ -1226,196 +1165,6 @@
|
||||
- labels_4 is changed
|
||||
- labels_5 is not changed
|
||||
|
||||
###################################################################
|
||||
## limit_cpu ######################################################
|
||||
###################################################################
|
||||
|
||||
- name: limit_cpu
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_cpu: 1
|
||||
register: limit_cpu_1
|
||||
|
||||
- name: limit_cpu (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_cpu: 1
|
||||
register: limit_cpu_2
|
||||
|
||||
- name: limit_cpu (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_cpu: 2
|
||||
register: limit_cpu_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- limit_cpu_1 is changed
|
||||
- limit_cpu_2 is not changed
|
||||
- limit_cpu_3 is changed
|
||||
|
||||
###################################################################
|
||||
## limit_memory ###################################################
|
||||
###################################################################
|
||||
|
||||
- name: limit_memory
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_memory: 64000000
|
||||
register: limit_memory_1
|
||||
|
||||
- name: limit_memory (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_memory: 64000000
|
||||
register: limit_memory_2
|
||||
|
||||
- name: limit_memory (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_memory: 32000000
|
||||
register: limit_memory_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- limit_memory_1 is changed
|
||||
- limit_memory_2 is not changed
|
||||
- limit_memory_3 is changed
|
||||
|
||||
####################################################################
|
||||
## log_driver ######################################################
|
||||
####################################################################
|
||||
|
||||
- name: log_driver
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
register: log_driver_1
|
||||
|
||||
- name: log_driver (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
register: log_driver_2
|
||||
|
||||
- name: log_driver (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: syslog
|
||||
register: log_driver_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- log_driver_1 is changed
|
||||
- log_driver_2 is not changed
|
||||
- log_driver_3 is changed
|
||||
|
||||
####################################################################
|
||||
## log_driver_options ##############################################
|
||||
####################################################################
|
||||
|
||||
- name: log_driver_options
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options:
|
||||
labels: production_status
|
||||
env: os,customer
|
||||
register: log_driver_options_1
|
||||
|
||||
- name: log_driver_options (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options:
|
||||
env: os,customer
|
||||
labels: production_status
|
||||
register: log_driver_options_2
|
||||
|
||||
- name: log_driver_options (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options:
|
||||
env: os,customer
|
||||
labels: production_status
|
||||
max-file: "1"
|
||||
register: log_driver_options_3
|
||||
|
||||
- name: log_driver_options (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options: {}
|
||||
register: log_driver_options_4
|
||||
|
||||
- name: log_driver_options (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
log_driver: json-file
|
||||
log_driver_options: {}
|
||||
register: log_driver_options_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- log_driver_options_1 is changed
|
||||
- log_driver_options_2 is not changed
|
||||
- log_driver_options_3 is changed
|
||||
- log_driver_options_4 is changed
|
||||
- log_driver_options_5 is not changed
|
||||
|
||||
###################################################################
|
||||
## mode ###########################################################
|
||||
###################################################################
|
||||
@@ -1714,67 +1463,6 @@
|
||||
- stop_signal_2 is not changed
|
||||
- stop_signal_3 is changed
|
||||
|
||||
####################################################################
|
||||
## placement_preferences ###########################################
|
||||
####################################################################
|
||||
|
||||
- name: placement_preferences
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement_preferences:
|
||||
- spread: "node.labels.test"
|
||||
register: placement_preferences_1
|
||||
|
||||
- name: placement_preferences (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement_preferences:
|
||||
- spread: "node.labels.test"
|
||||
register: placement_preferences_2
|
||||
|
||||
- name: placement_preferences (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement_preferences:
|
||||
- spread: "node.labels.test2"
|
||||
register: placement_preferences_3
|
||||
|
||||
- name: placement_preferences (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement_preferences: []
|
||||
register: placement_preferences_4
|
||||
|
||||
- name: placement_preferences (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement_preferences: []
|
||||
register: placement_preferences_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- placement_preferences_1 is changed
|
||||
- placement_preferences_2 is not changed
|
||||
- placement_preferences_3 is changed
|
||||
- placement_preferences_4 is changed
|
||||
- placement_preferences_5 is not changed
|
||||
|
||||
####################################################################
|
||||
## publish #########################################################
|
||||
####################################################################
|
||||
@@ -1930,86 +1618,6 @@
|
||||
- replicas_2 is not changed
|
||||
- replicas_3 is changed
|
||||
|
||||
###################################################################
|
||||
## reserve_cpu ####################################################
|
||||
###################################################################
|
||||
|
||||
- name: reserve_cpu
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_cpu: 1
|
||||
register: reserve_cpu_1
|
||||
|
||||
- name: reserve_cpu (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_cpu: 1
|
||||
register: reserve_cpu_2
|
||||
|
||||
- name: reserve_cpu (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_cpu: 2
|
||||
register: reserve_cpu_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- reserve_cpu_1 is changed
|
||||
- reserve_cpu_2 is not changed
|
||||
- reserve_cpu_3 is changed
|
||||
|
||||
###################################################################
|
||||
## reserve_memory #################################################
|
||||
###################################################################
|
||||
|
||||
- name: reserve_memory
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 64000000
|
||||
register: reserve_memory_1
|
||||
|
||||
- name: reserve_memory (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 64000000
|
||||
register: reserve_memory_2
|
||||
|
||||
- name: reserve_memory (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 32000000
|
||||
register: reserve_memory_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- reserve_memory_1 is changed
|
||||
- reserve_memory_2 is not changed
|
||||
- reserve_memory_3 is changed
|
||||
|
||||
###################################################################
|
||||
# resolve_image ###################################################
|
||||
###################################################################
|
||||
@@ -2050,166 +1658,6 @@
|
||||
- resolve_image_2 is not changed
|
||||
- resolve_image_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_policy #################################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_policy
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy: "on-failure"
|
||||
register: restart_policy_1
|
||||
|
||||
- name: restart_policy (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy: "on-failure"
|
||||
register: restart_policy_2
|
||||
|
||||
- name: restart_policy (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy: "any"
|
||||
register: restart_policy_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_1 is changed
|
||||
- restart_policy_2 is not changed
|
||||
- restart_policy_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_policy_attempts ########################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_policy_attempts
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_attempts: 1
|
||||
register: restart_policy_attempts_1
|
||||
|
||||
- name: restart_policy_attempts (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_attempts: 1
|
||||
register: restart_policy_attempts_2
|
||||
|
||||
- name: restart_policy_attempts (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_attempts: 2
|
||||
register: restart_policy_attempts_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_attempts_1 is changed
|
||||
- restart_policy_attempts_2 is not changed
|
||||
- restart_policy_attempts_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_policy_delay ###########################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_policy_delay
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_delay: 5000000000
|
||||
register: restart_policy_delay_1
|
||||
|
||||
- name: restart_policy_delay (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_delay: 5s
|
||||
register: restart_policy_delay_2
|
||||
|
||||
- name: restart_policy_delay (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_delay: 10000000000
|
||||
register: restart_policy_delay_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_delay_1 is changed
|
||||
- restart_policy_delay_2 is not changed
|
||||
- restart_policy_delay_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_policy_window ##########################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_policy_window
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_window: 10000000000
|
||||
register: restart_policy_window_1
|
||||
|
||||
- name: restart_policy_window (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_window: 10s
|
||||
register: restart_policy_window_2
|
||||
|
||||
- name: restart_policy_window (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_window: 20s
|
||||
register: restart_policy_window_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_window_1 is changed
|
||||
- restart_policy_window_2 is not changed
|
||||
- restart_policy_window_3 is changed
|
||||
|
||||
####################################################################
|
||||
## secrets #########################################################
|
||||
####################################################################
|
||||
@@ -2332,252 +1780,6 @@
|
||||
- "('version is ' ~ docker_api_version ~'. Minimum version required is 1.25') in tty_1.msg"
|
||||
when: docker_api_version is version('1.25', '<')
|
||||
|
||||
###################################################################
|
||||
## update_delay ###################################################
|
||||
###################################################################
|
||||
|
||||
- name: update_delay
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_delay: 5000000000
|
||||
register: update_delay_1
|
||||
|
||||
- name: update_delay (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_delay: 5s
|
||||
register: update_delay_2
|
||||
|
||||
- name: update_delay (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_delay: 12000000000
|
||||
register: update_delay_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_delay_1 is changed
|
||||
- update_delay_2 is not changed
|
||||
- update_delay_3 is changed
|
||||
|
||||
###################################################################
|
||||
## update_failure_action ##########################################
|
||||
###################################################################
|
||||
|
||||
- name: update_failure_action
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_failure_action: "pause"
|
||||
register: update_failure_action_1
|
||||
|
||||
- name: update_failure_action (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_failure_action: "pause"
|
||||
register: update_failure_action_2
|
||||
|
||||
- name: update_failure_action (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_failure_action: "continue"
|
||||
register: update_failure_action_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_failure_action_1 is changed
|
||||
- update_failure_action_2 is not changed
|
||||
- update_failure_action_3 is changed
|
||||
|
||||
###################################################################
|
||||
## update_max_failure_ratio #######################################
|
||||
###################################################################
|
||||
|
||||
- name: update_max_failure_ratio
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_max_failure_ratio: 0.25
|
||||
register: update_max_failure_ratio_1
|
||||
|
||||
- name: update_max_failure_ratio (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_max_failure_ratio: 0.25
|
||||
register: update_max_failure_ratio_2
|
||||
|
||||
- name: update_max_failure_ratio (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_max_failure_ratio: 0.50
|
||||
register: update_max_failure_ratio_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_max_failure_ratio_1 is changed
|
||||
- update_max_failure_ratio_2 is not changed
|
||||
- update_max_failure_ratio_3 is changed
|
||||
|
||||
###################################################################
|
||||
# update_monitor ##################################################
|
||||
###################################################################
|
||||
|
||||
- name: update_monitor
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_monitor: 10000000000
|
||||
register: update_monitor_1
|
||||
|
||||
- name: update_monitor (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_monitor: 10s
|
||||
register: update_monitor_2
|
||||
|
||||
- name: update_monitor (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_monitor: 60s
|
||||
register: update_monitor_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_monitor_1 is changed
|
||||
- update_monitor_2 is not changed
|
||||
- update_monitor_3 is changed
|
||||
|
||||
###################################################################
|
||||
# update_order ####################################################
|
||||
###################################################################
|
||||
|
||||
- name: update_order
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_order: "start-first"
|
||||
register: update_order_1
|
||||
|
||||
- name: update_order (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_order: "start-first"
|
||||
register: update_order_2
|
||||
|
||||
- name: update_order (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_order: "stop-first"
|
||||
register: update_order_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_order_1 is changed
|
||||
- update_order_2 is not changed
|
||||
- update_order_3 is changed
|
||||
when: docker_api_version is version('1.29', '>=')
|
||||
- assert:
|
||||
that:
|
||||
- secrets_1 is failed
|
||||
- "('version is ' ~ docker_api_version ~'. Minimum version required is 1.29') in update_order_1.msg"
|
||||
when: docker_api_version is version('1.29', '<')
|
||||
|
||||
###################################################################
|
||||
## update_parallelism #############################################
|
||||
###################################################################
|
||||
|
||||
- name: update_parallelism
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_parallelism: 2
|
||||
register: update_parallelism_1
|
||||
|
||||
- name: update_parallelism (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_parallelism: 2
|
||||
register: update_parallelism_2
|
||||
|
||||
- name: update_parallelism (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_parallelism: 1
|
||||
register: update_parallelism_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_parallelism_1 is changed
|
||||
- update_parallelism_2 is not changed
|
||||
- update_parallelism_3 is changed
|
||||
|
||||
###################################################################
|
||||
## user ###########################################################
|
||||
###################################################################
|
||||
|
||||
@@ -0,0 +1,152 @@
|
||||
---
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_name: "{{ name_prefix ~ '-placement' }}"
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_names: "{{ service_names }} + [service_name]"
|
||||
|
||||
|
||||
####################################################################
|
||||
## placement.preferences ###########################################
|
||||
####################################################################
|
||||
|
||||
- name: placement.preferences
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
preferences:
|
||||
- spread: "node.labels.test"
|
||||
register: placement_preferences_1
|
||||
|
||||
- name: placement.preferences (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
preferences:
|
||||
- spread: "node.labels.test"
|
||||
register: placement_preferences_2
|
||||
|
||||
- name: placement.preferences (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
preferences:
|
||||
- spread: "node.labels.test2"
|
||||
register: placement_preferences_3
|
||||
|
||||
- name: placement.preferences (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
preferences: []
|
||||
register: placement_preferences_4
|
||||
|
||||
- name: placement.preferences (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
preferences: []
|
||||
register: placement_preferences_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- placement_preferences_1 is changed
|
||||
- placement_preferences_2 is not changed
|
||||
- placement_preferences_3 is changed
|
||||
- placement_preferences_4 is changed
|
||||
- placement_preferences_5 is not changed
|
||||
|
||||
####################################################################
|
||||
## placement.constraints #####################################################
|
||||
####################################################################
|
||||
|
||||
- name: placement.constraints
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
constraints:
|
||||
- "node.role == manager"
|
||||
register: constraints_1
|
||||
|
||||
- name: placement.constraints (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
constraints:
|
||||
- "node.role == manager"
|
||||
register: constraints_2
|
||||
|
||||
- name: constraints (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
constraints:
|
||||
- "node.role == manager"
|
||||
register: constraints_2b
|
||||
|
||||
- name: placement.constraints (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
constraints:
|
||||
- "node.role == worker"
|
||||
register: constraints_3
|
||||
|
||||
- name: placement.constraints (empty)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
constraints: []
|
||||
register: constraints_4
|
||||
|
||||
- name: placement.constraints (empty idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
placement:
|
||||
constraints: []
|
||||
register: constraints_5
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- constraints_1 is changed
|
||||
- constraints_2 is not changed
|
||||
- constraints_2b is not changed
|
||||
- constraints_3 is changed
|
||||
- constraints_4 is changed
|
||||
- constraints_5 is not changed
|
||||
@@ -0,0 +1,214 @@
|
||||
---
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_name: "{{ name_prefix ~ '-resources' }}"
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_names: "{{ service_names }} + [service_name]"
|
||||
|
||||
####################################################################
|
||||
## limits.cpus #####################################################
|
||||
####################################################################
|
||||
|
||||
- name: limits.cpus
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limits:
|
||||
cpus: 1
|
||||
register: limit_cpu_1
|
||||
|
||||
- name: limits.cpus (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limits:
|
||||
cpus: 1
|
||||
register: limit_cpu_2
|
||||
|
||||
- name: limit_cpu (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_cpu: 1
|
||||
register: limit_cpu_2b
|
||||
|
||||
- name: limits.cpus (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limits:
|
||||
cpus: 2
|
||||
register: limit_cpu_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- limit_cpu_1 is changed
|
||||
- limit_cpu_2 is not changed
|
||||
- limit_cpu_2b is not changed
|
||||
- limit_cpu_3 is changed
|
||||
|
||||
###################################################################
|
||||
## limits.memory ##################################################
|
||||
###################################################################
|
||||
|
||||
- name: limits.memory
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limits:
|
||||
memory: 64M
|
||||
register: limit_memory_1
|
||||
|
||||
- name: limits.memory (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limits:
|
||||
memory: 64M
|
||||
register: limit_memory_2
|
||||
|
||||
- name: limit_memory (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_memory: 67108864
|
||||
register: limit_memory_2b
|
||||
|
||||
- name: limits.memory (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
limit_memory: 32M
|
||||
register: limit_memory_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- limit_memory_1 is changed
|
||||
- limit_memory_2 is not changed
|
||||
- limit_memory_2b is not changed
|
||||
- limit_memory_3 is changed
|
||||
|
||||
###################################################################
|
||||
## reservations.cpus ##############################################
|
||||
###################################################################
|
||||
|
||||
- name: reserve_cpu
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reservations:
|
||||
cpus: 1
|
||||
register: reserve_cpu_1
|
||||
|
||||
- name: reserve_cpu (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reservations:
|
||||
cpus: 1
|
||||
register: reserve_cpu_2
|
||||
|
||||
- name: reserve_cpu (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_cpu: 1
|
||||
register: reserve_cpu_2b
|
||||
|
||||
- name: reserve_cpu (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reservations:
|
||||
cpus: 2
|
||||
register: reserve_cpu_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- reserve_cpu_1 is changed
|
||||
- reserve_cpu_2 is not changed
|
||||
- reserve_cpu_2b is not changed
|
||||
- reserve_cpu_3 is changed
|
||||
|
||||
###################################################################
|
||||
## reservations.memory ############################################
|
||||
###################################################################
|
||||
|
||||
- name: reservations.memory
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reservations:
|
||||
memory: 64M
|
||||
register: reserve_memory_1
|
||||
|
||||
- name: reservations.memory (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 64M
|
||||
register: reserve_memory_2
|
||||
|
||||
- name: reserve_memory (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 67108864
|
||||
register: reserve_memory_2b
|
||||
|
||||
- name: reservations.memory (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
reserve_memory: 32M
|
||||
register: reserve_memory_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- reserve_memory_1 is changed
|
||||
- reserve_memory_2 is not changed
|
||||
- reserve_memory_2b is not changed
|
||||
- reserve_memory_3 is changed
|
||||
@@ -0,0 +1,217 @@
|
||||
---
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_name: "{{ name_prefix ~ '-restart_config' }}"
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_names: "{{ service_names }} + [service_name]"
|
||||
|
||||
###################################################################
|
||||
## restart_config.condition #######################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_config.condition
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
condition: "on-failure"
|
||||
register: restart_policy_1
|
||||
|
||||
- name: restart_config.condition (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
condition: "on-failure"
|
||||
register: restart_policy_2
|
||||
|
||||
- name: restart_policy (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy: "on-failure"
|
||||
register: restart_policy_2b
|
||||
|
||||
- name: restart_config.condition (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
condition: "any"
|
||||
register: restart_policy_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_1 is changed
|
||||
- restart_policy_2 is not changed
|
||||
- restart_policy_2b is not changed
|
||||
- restart_policy_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_config.max_attempts ####################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_config.max_attempts
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
max_attempts: 1
|
||||
register: restart_policy_attempts_1
|
||||
|
||||
- name: restart_config.max_attempts (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
max_attempts: 1
|
||||
register: restart_policy_attempts_2
|
||||
|
||||
- name: restart_policy_attempts (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_attempts: 1
|
||||
register: restart_policy_attempts_2b
|
||||
|
||||
- name: restart_config.max_attempts (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
max_attempts: 2
|
||||
register: restart_policy_attempts_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_attempts_1 is changed
|
||||
- restart_policy_attempts_2 is not changed
|
||||
- restart_policy_attempts_2b is not changed
|
||||
- restart_policy_attempts_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_config.delay ###########################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_config.delay
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
delay: 5s
|
||||
register: restart_policy_delay_1
|
||||
|
||||
- name: restart_config.delay (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
delay: 5s
|
||||
register: restart_policy_delay_2
|
||||
|
||||
- name: restart_policy_delay (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_delay: 5000000000
|
||||
register: restart_policy_delay_2b
|
||||
|
||||
- name: restart_config.delay (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
delay: 10s
|
||||
register: restart_policy_delay_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_delay_1 is changed
|
||||
- restart_policy_delay_2 is not changed
|
||||
- restart_policy_delay_2b is not changed
|
||||
- restart_policy_delay_3 is changed
|
||||
|
||||
###################################################################
|
||||
## restart_config.window ##########################################
|
||||
###################################################################
|
||||
|
||||
- name: restart_config.window
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
window: 10s
|
||||
register: restart_policy_window_1
|
||||
|
||||
- name: restart_config.window (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
window: 10s
|
||||
register: restart_policy_window_2
|
||||
|
||||
- name: restart_policy_window (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_policy_window: 10000000000
|
||||
register: restart_policy_window_2b
|
||||
|
||||
- name: restart_config.window (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
restart_config:
|
||||
window: 20s
|
||||
register: restart_policy_window_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- restart_policy_window_1 is changed
|
||||
- restart_policy_window_2 is not changed
|
||||
- restart_policy_window_2b is not changed
|
||||
- restart_policy_window_3 is changed
|
||||
@@ -0,0 +1,327 @@
|
||||
---
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_name: "{{ name_prefix ~ '-update_config' }}"
|
||||
|
||||
- name: Registering service name
|
||||
set_fact:
|
||||
service_names: "{{ service_names }} + [service_name]"
|
||||
|
||||
###################################################################
|
||||
## update_config.delay ############################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.delay
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
delay: 5s
|
||||
register: update_delay_1
|
||||
|
||||
- name: update_config.delay (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
delay: 5s
|
||||
register: update_delay_2
|
||||
|
||||
- name: update_delay (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_delay: 5000000000
|
||||
register: update_delay_2b
|
||||
|
||||
- name: update_config.delay (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
delay: 12s
|
||||
register: update_delay_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_delay_1 is changed
|
||||
- update_delay_2 is not changed
|
||||
- update_delay_2b is not changed
|
||||
- update_delay_3 is changed
|
||||
|
||||
###################################################################
|
||||
## update_config.failure_action ###################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.failure_action
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
failure_action: "pause"
|
||||
register: update_failure_action_1
|
||||
|
||||
- name: update_config.failure_action (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
failure_action: "pause"
|
||||
register: update_failure_action_2
|
||||
|
||||
- name: update_failure_action (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_failure_action: "pause"
|
||||
register: update_failure_action_2b
|
||||
|
||||
- name: update_config.failure_action (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
failure_action: "continue"
|
||||
register: update_failure_action_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_failure_action_1 is changed
|
||||
- update_failure_action_2 is not changed
|
||||
- update_failure_action_2b is not changed
|
||||
- update_failure_action_3 is changed
|
||||
|
||||
###################################################################
|
||||
## update_config.max_failure_ratio ################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.max_failure_ratio
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
max_failure_ratio: 0.25
|
||||
register: update_max_failure_ratio_1
|
||||
|
||||
- name: update_config.max_failure_ratio (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
max_failure_ratio: 0.25
|
||||
register: update_max_failure_ratio_2
|
||||
|
||||
- name: update_max_failure_ratio (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_max_failure_ratio: 0.25
|
||||
register: update_max_failure_ratio_2b
|
||||
|
||||
- name: update_config.max_failure_ratio (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
max_failure_ratio: 0.50
|
||||
register: update_max_failure_ratio_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_max_failure_ratio_1 is changed
|
||||
- update_max_failure_ratio_2 is not changed
|
||||
- update_max_failure_ratio_2b is not changed
|
||||
- update_max_failure_ratio_3 is changed
|
||||
|
||||
###################################################################
|
||||
# update_config.monitor ###########################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.monitor
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
monitor: 10s
|
||||
register: update_monitor_1
|
||||
|
||||
- name: update_config.monitor (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
monitor: 10s
|
||||
register: update_monitor_2
|
||||
|
||||
- name: update_monitor (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_monitor: 10s
|
||||
register: update_monitor_2b
|
||||
|
||||
- name: update_config.monitor (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
monitor: 60s
|
||||
register: update_monitor_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_monitor_1 is changed
|
||||
- update_monitor_2 is not changed
|
||||
- update_monitor_2b is not changed
|
||||
- update_monitor_3 is changed
|
||||
|
||||
###################################################################
|
||||
# update_config.order #############################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.order
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
order: "start-first"
|
||||
register: update_order_1
|
||||
|
||||
- name: update_config.order (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
order: "start-first"
|
||||
register: update_order_2
|
||||
|
||||
- name: update_order (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_order: "start-first"
|
||||
register: update_order_2b
|
||||
|
||||
- name: update_config.order (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
order: "stop-first"
|
||||
register: update_order_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_order_1 is changed
|
||||
- update_order_2 is not changed
|
||||
- update_order_2b is not changed
|
||||
- update_order_3 is changed
|
||||
when: docker_api_version is version('1.29', '>=')
|
||||
- assert:
|
||||
that:
|
||||
- secrets_1 is failed
|
||||
- "('version is ' ~ docker_api_version ~'. Minimum version required is 1.29') in update_order_1.msg"
|
||||
when: docker_api_version is version('1.29', '<')
|
||||
|
||||
###################################################################
|
||||
## update_config.parallelism ######################################
|
||||
###################################################################
|
||||
|
||||
- name: update_config.parallelism
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
parallelism: 2
|
||||
register: update_parallelism_1
|
||||
|
||||
- name: update_config.parallelism (idempotency)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
parallelism: 2
|
||||
register: update_parallelism_2
|
||||
|
||||
- name: update_parallelism (idempotency, old name)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_parallelism: 2
|
||||
register: update_parallelism_2b
|
||||
|
||||
- name: update_config.parallelism (change)
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
image: alpine:3.8
|
||||
command: '/bin/sh -v -c "sleep 10m"'
|
||||
update_config:
|
||||
parallelism: 1
|
||||
register: update_parallelism_3
|
||||
|
||||
- name: cleanup
|
||||
docker_swarm_service:
|
||||
name: "{{ service_name }}"
|
||||
state: absent
|
||||
diff: no
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- update_parallelism_1 is changed
|
||||
- update_parallelism_2 is not changed
|
||||
- update_parallelism_2b is not changed
|
||||
- update_parallelism_3 is changed
|
||||
Reference in New Issue
Block a user