Skip to content

Commit

Permalink
upgrade: add an infra playbook to migrate systemd units to podman
Browse files Browse the repository at this point in the history
this commit adds a new playbook to force systemd units for containers to
use podman instead of docker.
This is needed in the rhel8 upgrade context so after the base OS is upgraded
containers can be started using podman.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
  • Loading branch information
guits committed Sep 18, 2019
1 parent e9a6edb commit 8f8dcfe
Showing 1 changed file with 109 additions and 0 deletions.
109 changes: 109 additions & 0 deletions infrastructure-playbooks/docker-to-podman.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
- hosts:
- mons
- osds
- mdss
- rgws
- nfss
- rbdmirrors
- clients
- iscsigws
- mgrs
- grafana-server

gather_facts: false
become: True
any_errors_fatal: true

vars:
delegate_facts_host: True

pre_tasks:
- import_tasks: "{{ playbook_dir }}/../raw_install_python.yml"

tasks:
# pre-tasks for following import -
- name: gather facts
setup:
when: not delegate_facts_host | bool

- name: gather and delegate facts
setup:
delegate_to: "{{ item }}"
delegate_facts: True
with_items: "{{ groups['all'] }}"
run_once: true
when: delegate_facts_host | bool

- hosts:
- "{{ mon_group_name }}"
- "{{ osd_group_name }}"
- "{{ mds_group_name }}"
- "{{ rgw_group_name }}"
- "{{ rgw_group_name }}"
- "{{ mgr_group_name }}"
- "{{ iscsi_gw_group_name }}"
- "{{ rbdmirror_group_name }}"
become: true
vars:
docker2podman: True
container_binary: podman
container_binding_name: podman
container_service_name: podman
container_package_name: podman
pre_tasks:
- import_role:
name: ceph-defaults
- import_role:
name: ceph-facts

- name: get docker version
command: docker --version
changed_when: false
check_mode: no
register: ceph_docker_version

- name: set_fact ceph_docker_version ceph_docker_version.stdout.split
set_fact:
ceph_docker_version: "{{ ceph_docker_version.stdout.split(' ')[2] }}"


tasks:
- import_role:
name: ceph-mon
tasks_from: systemd.yml
when: inventory_hostname in groups.get(mon_group_name, [])

- import_role:
name: ceph-iscsi-gw
tasks_from: container/systemd.yml
when: inventory_hostname in groups.get(iscsi_gw_group_name, [])

- import_role:
name: ceph-mds
tasks_from: systemd.yml
when: inventory_hostname in groups.get(mds_group_name, [])

- import_role:
name: ceph-mgr
tasks_from: systemd.yml
when: inventory_hostname in groups.get(mgr_group_name, [])

- import_role:
name: ceph-nfs
tasks_from: systemd.yml
when: inventory_hostname in groups.get(nfs_group_name, [])

- import_role:
name: ceph-osd
tasks_from: systemd.yml
when: inventory_hostname in groups.get(osd_group_name, [])

- import_role:
name: ceph-rbd-mirror
tasks_from: docker/systemd.yml
when: inventory_hostname in groups.get(rbdmirror_group_name, [])

- import_role:
name: ceph-rgw
tasks_from: docker/systemd.yml
when: inventory_hostname in groups.get(rgw_group_name, [])

0 comments on commit 8f8dcfe

Please sign in to comment.