--- - name: gather os specific variables include_vars: "{{ item }}" with_first_found: - files: - "{{ ansible_distribution|lower }}-{{ ansible_distribution_version|lower|replace('/', '_') }}.yml" - "{{ ansible_distribution|lower }}-{{ ansible_distribution_release }}.yml" - "{{ ansible_distribution|lower }}-{{ ansible_distribution_major_version|lower|replace('/', '_') }}.yml" - "{{ ansible_distribution|lower }}.yml" - "{{ ansible_os_family|lower }}.yml" - defaults.yml paths: - ../vars - name: check for minimum kernel version fail: msg: > docker requires a minimum kernel version of {{ docker_kernel_min_version }} on {{ ansible_distribution }}-{{ ansible_distribution_version }} when: ansible_kernel|version_compare(docker_kernel_min_version, "<") - name: ensure docker repository public key is installed action: "{{ docker_repo_key_info.pkg_key }}" args: id: "{{item}}" keyserver: "{{docker_repo_key_info.keyserver}}" state: present with_items: docker_repo_key_info.repo_keys - name: ensure docker repository is enabled action: "{{ docker_repo_info.pkg_repo }}" args: repo: "{{item}}" state: present with_items: docker_repo_info.repos when: docker_repo_info.repos|length > 0 - name: ensure docker packages are installed action: "{{ docker_package_info.pkg_mgr }}" args: pkg: "{{item}}" state: latest with_items: docker_package_info.pkgs when: docker_package_info.pkgs|length > 0 - name: Centos needs xfs storage type for devicemapper if used lineinfile: dest: /etc/sysconfig/docker-storage line: "DOCKER_STORAGE_OPTIONS='--storage-opt dm.fs=xfs'" regexp: '^DOCKER_STORAGE_OPTIONS=.*$' state: present backup: yes when: ansible_os_family == "RedHat" - meta: flush_handlers - name: ensure docker service is started and enabled service: name: "{{ item }}" enabled: yes state: started with_items: - docker