--- - 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: Install Docker yum: name=docker state=installed tags: rpm - name: Start docker service: name=docker state=started tags: docker-storage when: 'docker_storage_setup_needs_to_run is not defined' - name: Determine if docker storage driver == devicemapper shell: docker info register: docker_info changed_when: false when: 'docker_storage_setup_needs_to_run is not defined' - 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 }}' when: 'docker_storage_setup_needs_to_run is not defined' tags: docker-storage - name: Cleanup the existing docker-storage state file: state=absent path=/etc/sysconfig/docker-storage when: docker_storage_setup_needs_to_run - name: stop docker service: name: docker state: stopped when: docker_storage_setup_needs_to_run tags: docker-storage - name: delete /var/lib/docker command: rm -rf /var/lib/docker when: docker_storage_setup_needs_to_run tags: docker-storage - name: Configure docker-storage-setup to use LVM template: dest=/etc/sysconfig/docker-storage-setup src=docker-storage-setup register: docker-storage-setup when: docker_storage_setup_needs_to_run tags: docker-storage - name: Run docker-storage-setup command: docker-storage-setup environment: PATH: /bin:/usr/bin:/sbin:/usr/sbin # Fix buggy PATH on RHEL7 when: docker_storage_setup_needs_to_run tags: docker-storage - name: Start Docker service: name=docker state=started enabled=yes tags: docker-storage