From 429a8dc0305dd5c033678ce6c6d16d6040046dff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20Mass=C3=A9?= Date: Fri, 11 Aug 2017 14:53:21 +0200 Subject: [PATCH] The Docker Storage Driver is not anymore hardcoded --- roles/docker/tasks/main.yml | 14 +++----------- roles/docker/templates/docker-storage-setup | 5 +++-- roles/docker/vars/main.yml | 2 ++ 3 files changed, 8 insertions(+), 13 deletions(-) create mode 100644 roles/docker/vars/main.yml diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml index 035d853..7affb9a 100644 --- a/roles/docker/tasks/main.yml +++ b/roles/docker/tasks/main.yml @@ -1,13 +1,5 @@ --- - - name: Check for mandatory variables required by this playbook - fail: - msg: "This playbook requires {{item}} to be set." - when: "item is not defined or item == ''" - with_items: - - docker_storage_vg - tags: docker-storage - - name: Make sure the extra repos is enabled command: subscription-manager repos --enable rhel-7-server-extras-rpms when: "ansible_os_family == 'RedHat'" @@ -21,14 +13,14 @@ service: name=docker state=started tags: docker-storage - - name: Determine if docker storage driver == devicemapper + - name: Determine if the docker storage driver is the correct one shell: docker info register: docker_info changed_when: false - name: set docker_storage_setup_needs_to_run set_fact: - docker_storage_setup_needs_to_run: '{{ docker_info.stdout.find(''Storage Driver: devicemapper'') == -1 or docker_info.stdout.find(''Data file: /dev/loop'') != -1 }}' + docker_storage_setup_needs_to_run: '{{ docker_info.stdout.find(''Storage Driver: '' ~ docker_storage_driver) == -1 or docker_info.stdout.find(''Data file: /dev/loop'') != -1 }}' tags: docker-storage - name: stop docker @@ -43,7 +35,7 @@ when: docker_storage_setup_needs_to_run tags: docker-storage - - name: Configure docker-storage-setup to use LVM + - name: Configure docker-storage-setup to use the correct storage driver template: dest=/etc/sysconfig/docker-storage-setup src=docker-storage-setup register: docker-storage-setup when: docker_storage_setup_needs_to_run diff --git a/roles/docker/templates/docker-storage-setup b/roles/docker/templates/docker-storage-setup index 8519c7f..6c59c5f 100644 --- a/roles/docker/templates/docker-storage-setup +++ b/roles/docker/templates/docker-storage-setup @@ -1,9 +1,10 @@ -STORAGE_DRIVER=devicemapper +STORAGE_DRIVER={{ docker_storage_driver }} +{% if docker_storage_driver == 'devicemapper' %} DOCKER_ROOT_VOLUME=yes - {% if docker_storage_disk is defined %} DEVS={{ docker_storage_disk }} {% endif %} {% if docker_storage_vg is defined %} VG={{ docker_storage_vg }} {% endif %} +{% endif %} diff --git a/roles/docker/vars/main.yml b/roles/docker/vars/main.yml new file mode 100644 index 0000000..6e2f35a --- /dev/null +++ b/roles/docker/vars/main.yml @@ -0,0 +1,2 @@ +--- + docker_storage_driver: devicemapper