blob: 88e7b561c9a7f9db05ac3bb3da9d5577c50fdea2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
---
- 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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
resolve_image: no
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
|