mirror of https://github.com/ceph/ceph-ansible.git
docker2podman: pull images from docker daemon
The docker2podman playbook only installs the podman package and updates
the systemd units with the right container_binary value.
We never pull the container image so if one service is restarted then
the container image will be pulled first before the service can start
which could cause longer downstream.
To avoid to download the container image from internet again we can just
pull it from the local docker daemon.
The container_{binding,package,service}_name variables are removed
because they are only used in the ceph-container-engine role which
isn't call in this playbook.
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit d38f21aeba
)
pull/5408/head
parent
8c4865cd14
commit
6f893e5ed9
|
@ -46,8 +46,9 @@
|
||||||
- "{{ mgr_group_name | default('mgrs') }}"
|
- "{{ mgr_group_name | default('mgrs') }}"
|
||||||
- "{{ iscsi_gw_group_name | default('iscsigws') }}"
|
- "{{ iscsi_gw_group_name | default('iscsigws') }}"
|
||||||
- "{{ rbdmirror_group_name | default('rbdmirrors') }}"
|
- "{{ rbdmirror_group_name | default('rbdmirrors') }}"
|
||||||
|
gather_facts: false
|
||||||
become: true
|
become: true
|
||||||
pre_tasks:
|
tasks:
|
||||||
- import_role:
|
- import_role:
|
||||||
name: ceph-defaults
|
name: ceph-defaults
|
||||||
- import_role:
|
- import_role:
|
||||||
|
@ -68,15 +69,10 @@
|
||||||
set_fact:
|
set_fact:
|
||||||
ceph_docker_version: "{{ ceph_docker_version.stdout.split(' ')[2] }}"
|
ceph_docker_version: "{{ ceph_docker_version.stdout.split(' ')[2] }}"
|
||||||
|
|
||||||
|
- name: set_fact docker2podman and container_binary
|
||||||
tasks:
|
|
||||||
- name: set_fact container_binary, container_binding_name, container_service_name, container_package_name
|
|
||||||
set_fact:
|
set_fact:
|
||||||
docker2podman: True
|
docker2podman: True
|
||||||
container_binary: podman
|
container_binary: podman
|
||||||
container_binding_name: podman
|
|
||||||
container_service_name: podman
|
|
||||||
container_package_name: podman
|
|
||||||
|
|
||||||
- name: install podman
|
- name: install podman
|
||||||
package:
|
package:
|
||||||
|
@ -84,10 +80,25 @@
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
until: result is succeeded
|
until: result is succeeded
|
||||||
tags:
|
tags: with_pkg
|
||||||
- with_pkg
|
|
||||||
when: not is_atomic | bool
|
when: not is_atomic | bool
|
||||||
|
|
||||||
|
- name: "pulling {{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }} image from docker daemon"
|
||||||
|
command: "{{ timeout_command }} {{ container_binary }} pull docker-daemon:{{ ceph_docker_registry }}/{{ ceph_docker_image }}:{{ ceph_docker_image_tag }}"
|
||||||
|
changed_when: false
|
||||||
|
register: pull_image
|
||||||
|
until: pull_image.rc == 0
|
||||||
|
retries: "{{ docker_pull_retry }}"
|
||||||
|
delay: 10
|
||||||
|
when: inventory_hostname in groups.get(mon_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(osd_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(mds_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(rgw_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(mgr_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(rbdmirror_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(iscsi_gw_group_name, []) or
|
||||||
|
inventory_hostname in groups.get(nfs_group_name, [])
|
||||||
|
|
||||||
- import_role:
|
- import_role:
|
||||||
name: ceph-mon
|
name: ceph-mon
|
||||||
tasks_from: systemd.yml
|
tasks_from: systemd.yml
|
||||||
|
@ -133,6 +144,6 @@
|
||||||
tasks_from: systemd.yml
|
tasks_from: systemd.yml
|
||||||
when: inventory_hostname in groups.get(rgw_group_name, [])
|
when: inventory_hostname in groups.get(rgw_group_name, [])
|
||||||
|
|
||||||
- name: reload ceph monitor systemd unit
|
- name: reload systemd daemon
|
||||||
systemd:
|
systemd:
|
||||||
daemon_reload: yes
|
daemon_reload: yes
|
|
@ -44,7 +44,13 @@ commands=
|
||||||
ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-nautilus} \
|
ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-nautilus} \
|
||||||
"
|
"
|
||||||
|
|
||||||
ansible-playbook -vv -i {changedir}/hosts {toxinidir}/infrastructure-playbooks/docker-to-podman.yml
|
ansible-playbook -vv -i {changedir}/hosts {toxinidir}/infrastructure-playbooks/docker-to-podman.yml --extra-vars "\
|
||||||
|
delegate_facts_host={env:DELEGATE_FACTS_HOST:True} \
|
||||||
|
fetch_directory={env:FETCH_DIRECTORY:{changedir}/fetch} \
|
||||||
|
ceph_docker_registry={env:CEPH_DOCKER_REGISTRY:docker.io} \
|
||||||
|
ceph_docker_image={env:CEPH_DOCKER_IMAGE:ceph/daemon} \
|
||||||
|
ceph_docker_image_tag={env:CEPH_DOCKER_IMAGE_TAG:latest-nautilus} \
|
||||||
|
"
|
||||||
|
|
||||||
py.test --reruns 5 --reruns-delay 1 -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests
|
py.test --reruns 5 --reruns-delay 1 -n 8 --durations=0 --sudo -v --connection=ansible --ansible-inventory={changedir}/hosts --ssh-config={changedir}/vagrant_ssh_config {toxinidir}/tests/functional/tests
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue