diff --git a/playbooks/roles/install-docker/defaults/main.yaml b/playbooks/roles/install-docker/defaults/main.yaml index 98dbb13cd1..0f92e84217 100644 --- a/playbooks/roles/install-docker/defaults/main.yaml +++ b/playbooks/roles/install-docker/defaults/main.yaml @@ -1,2 +1,3 @@ use_upstream_docker: True docker_update_channel: stable +with_python_compose: True diff --git a/playbooks/roles/install-docker/tasks/distro.yaml b/playbooks/roles/install-docker/tasks/distro.yaml index 99fd589ac7..412b7d4a34 100644 --- a/playbooks/roles/install-docker/tasks/distro.yaml +++ b/playbooks/roles/install-docker/tasks/distro.yaml @@ -1,5 +1,7 @@ - name: Install docker become: yes package: - name: docker.io + name: + - docker.io + - docker-compose-v2 state: present diff --git a/playbooks/roles/install-docker/tasks/main.yaml b/playbooks/roles/install-docker/tasks/main.yaml index de13ac878f..e340f703a9 100644 --- a/playbooks/roles/install-docker/tasks/main.yaml +++ b/playbooks/roles/install-docker/tasks/main.yaml @@ -34,26 +34,29 @@ - libssl-dev state: present -- name: ensure pip3 is installed - include_role: - name: pip3 +- name: Install python docker-compose if needed + when: with_python_compose|bool + block: + - name: ensure pip3 is installed + include_role: + name: pip3 -- name: Install docker-compose - pip: - name: - # The explicit pin of requests is a temporary workaround to getting - # docker-compose functioning again after requests and urllib3 updates. - # Unfortunately python docker-compose is abandonware and we will need - # to migrate to the new docker plugin system or distro packages, but - # until then this is a quick workaround that will get things moving - # again. - # The explicit pin of docker is required as py docker 7.0 introduced - # incompatibilities with python docker-compose. - - requests<2.30.0 - - docker<7.0.0 - - docker-compose - state: present - executable: pip3 + - name: Install docker-compose + pip: + name: + # The explicit pin of requests is a temporary workaround to getting + # docker-compose functioning again after requests and urllib3 updates. + # Unfortunately python docker-compose is abandonware and we will need + # to migrate to the new docker plugin system or distro packages, but + # until then this is a quick workaround that will get things moving + # again. + # The explicit pin of docker is required as py docker 7.0 introduced + # incompatibilities with python docker-compose. + - requests<2.30.0 + - docker<7.0.0 + - docker-compose + state: present + executable: pip3 - name: Install rsyslog redirector for container tags copy: diff --git a/playbooks/roles/install-docker/tasks/upstream.yaml b/playbooks/roles/install-docker/tasks/upstream.yaml index 743f06283d..fc54657a68 100644 --- a/playbooks/roles/install-docker/tasks/upstream.yaml +++ b/playbooks/roles/install-docker/tasks/upstream.yaml @@ -49,6 +49,8 @@ - name: Install docker become: yes apt: - name: docker-ce + name: + - docker-ce + - docker-compose-plugin state: present update_cache: yes