Adding Ubuntu support in Ansible - docker role
[oom/offline-installer.git] / ansible / roles / docker / tasks / main.yml
1 ---
2 - name: Install docker
3   package:
4     name: 'docker-ce'
5     state: present
6   notify:
7     - Restart Docker
8
9 - name: Install required packages
10   package:
11     name: "{{ item }}"
12     state: present
13   loop: "{{ packages[ansible_os_family] }}"
14
15 - name: Ensure /etc/docker exists
16   file:
17     path: /etc/docker
18     state: directory
19
20 - name: Setup docker container logging settings
21   json_mod:
22     path: /etc/docker/daemon.json
23     key: ''  # the whole JSON document per https://tools.ietf.org/html/rfc6901
24     # "value" must be wrapped in single quote "'" with extra space in front of "{" (ansible workaround)
25     # reference: https://stackoverflow.com/questions/31969872
26     value: ' { "log-driver": "json-file", "log-opts": { "max-size": "{{ docker.log_max_size }}", "max-file": "{{ docker.log_max_file }}" } }'
27
28 - name: Setup docker dns settings
29   json_mod:
30     path: /etc/docker/daemon.json
31     key: dns
32     # "value" must be wrapped in single quote "'" with extra space in front of "[" (ansible workaround)
33     # reference: https://stackoverflow.com/questions/31969872
34     value: ' [ "{{ hostvars[groups.infrastructure[0]].cluster_ip }}" ]'
35   notify:
36     - Restart Docker
37
38 - name: Force notified handlers to run at this point
39   meta: flush_handlers
40
41 - name: Ensure docker is started
42   systemd:
43     name: docker
44     state: started
45     enabled: true