--- - 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 skip: true - 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: Configure docker repository on RedHat/CentOS copy: src: "rh_docker.repo" dest: "/etc/yum.repos.d/docker.repo" when: ansible_distribution in ["CentOS","RedHat"] and ansible_distribution_major_version >= 7 - name: ensure docker packages are installed action: "{{ docker_package_info.pkg_mgr }}" args: pkg: "{{item}}" state: present with_items: "{{ docker_package_info.pkgs }}" when: docker_package_info.pkgs|length > 0 - name: allow for proxies on RHEL systems include: rhel-proxies.yml when: ansible_distribution in ["CentOS","RedHat"] and ansible_distribution_major_version >= 7 and (http_proxy is defined or https_proxy is defined or no_proxy is defined) - meta: flush_handlers - name: ensure docker service is started and enabled service: name: "{{ item }}" enabled: yes state: started with_items: - docker