summaryrefslogtreecommitdiff
path: root/test/integration/targets/docker_swarm_service/tasks/tests/logging.yml
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