From 96a07a48e3b0316a488c1c210c1691e6bc101a8b Mon Sep 17 00:00:00 2001 From: "Scott S. Lowe" Date: Tue, 6 Dec 2016 20:30:25 -0700 Subject: [PATCH] Finalize systemd compatibility Add Jinja2 template for systemd drop-in file to customize Docker daemon behavior. Edit Ansible playbook to support use of systemd drop-in files. Signed-off-by: Scott S. Lowe --- ovn-docker-ansible/10-exec-options.conf.j2 | 5 +++++ ovn-docker-ansible/provision.yml | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 ovn-docker-ansible/10-exec-options.conf.j2 diff --git a/ovn-docker-ansible/10-exec-options.conf.j2 b/ovn-docker-ansible/10-exec-options.conf.j2 new file mode 100644 index 0000000..5bf0cd7 --- /dev/null +++ b/ovn-docker-ansible/10-exec-options.conf.j2 @@ -0,0 +1,5 @@ +[Service] +ExecStart= +ExecStart=/usr/bin/docker daemon -H fd:// -H tcp://0.0.0.0:2375 \ + --cluster-store=consul://127.0.0.1:8500 \ + --cluster-advertise={{ ansible_enp0s8.ipv4.address }}:0 diff --git a/ovn-docker-ansible/provision.yml b/ovn-docker-ansible/provision.yml index 32dfa05..b836c93 100644 --- a/ovn-docker-ansible/provision.yml +++ b/ovn-docker-ansible/provision.yml @@ -133,11 +133,21 @@ - docker - packages + - name: Create systemd drop-in directory + file: + path: "/etc/systemd/system/docker.service.d" + state: "directory" + owner: "root" + group: "root" + mode: "0755" + tags: + - docker + - docker-cfg + - name: Customize Docker daemon configuration - lineinfile: - dest: "/etc/default/docker" - insertafter: '#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"' - line: "DOCKER_OPTS='-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=consul://127.0.0.1:8500 --cluster-advertise={{ ansible_enp0s8.ipv4.address }}:0'" + template: + src: "10-exec-options.conf.j2" + dest: "/etc/systemd/system/docker.service.d/10-exec-options.conf" owner: "root" group: "root" mode: "0644" @@ -145,6 +155,9 @@ - docker - docker-cfg + - name: Reload systemd units + command: "systemctl daemon-reload" + - name: Restart Docker daemon service: name: "docker"