fe6c6a3ac6
This is configured via docker_storage_driver.
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
---
|
|
- name: Ensure the docker daemon is stopped
|
|
service:
|
|
name: docker
|
|
state: stopped
|
|
become: True
|
|
notify: restart docker service
|
|
|
|
- name: Ensure loopback storage state is absent
|
|
file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
with_items:
|
|
- "/var/lib/docker/devicemapper"
|
|
- "/var/lib/docker/images"
|
|
- "/var/lib/docker/containers"
|
|
become: True
|
|
|
|
- block:
|
|
- name: Ensure the docker storage data and metadata volumes exist
|
|
lvol:
|
|
vg: "{{ docker_storage_volume_group }}"
|
|
lv: "{{ item.name }}"
|
|
size: "{{ item.size }}"
|
|
shrink: no
|
|
state: present
|
|
with_items:
|
|
- name: "{{ docker_storage_volume_thinpool }}"
|
|
size: "{{ docker_storage_volume_thinpool_size }}"
|
|
- name: "{{ docker_storage_volume_thinpool_meta }}"
|
|
size: "{{ docker_storage_volume_thinpool_meta_size }}"
|
|
become: True
|
|
|
|
- name: Ensure the docker storage volume is converted to a thinpool
|
|
command: >
|
|
lvconvert -y --zero n -c 512K
|
|
--thinpool {{ docker_storage_volume_group }}/{{ docker_storage_volume_thinpool }}
|
|
--poolmetadata {{ docker_storage_volume_group }}/{{ docker_storage_volume_thinpool_meta }}
|
|
become: True
|
|
|
|
- name: Ensure the docker storage metadata profile exists
|
|
template:
|
|
src: docker-thinpool.profile.j2
|
|
dest: /etc/lvm/profile/docker-thinpool.profile
|
|
become: True
|
|
|
|
- name: Ensure the docker storage metadata profile is applied
|
|
command: >
|
|
lvchange --metadataprofile docker-thinpool
|
|
{{ docker_storage_volume_group }}/{{ docker_storage_volume_thinpool }}
|
|
become: True
|
|
when: docker_storage_driver == 'devicemapper'
|