59 lines
2.0 KiB
YAML
59 lines
2.0 KiB
YAML
---
|
|
- name: Query docker daemon information
|
|
command: "docker info"
|
|
register: docker_info
|
|
changed_when: False
|
|
failed_when: False
|
|
|
|
- name: Fail when non-devicemapper containers or images exist
|
|
fail:
|
|
msg: >
|
|
Not configuring docker storage in {{ docker_storage_driver }} mode as
|
|
non-devicemapper containers or images exist.
|
|
when:
|
|
- docker_info.rc == 0
|
|
- "'Data loop file' in docker_info.stdout or 'devicemapper' not in docker_info.stdout"
|
|
- "'Images: 0' not in docker_info.stdout or 'Containers: 0' not in docker_info.stdout"
|
|
|
|
- name: Ensure the docker storage metadata profile exists
|
|
template:
|
|
src: docker-thinpool.profile.j2
|
|
dest: /etc/lvm/profile/docker-thinpool.profile
|
|
become: True
|
|
|
|
- name: Query LVM thinpool volume
|
|
command: "lvs {{ docker_storage_volume_group }}/{{ docker_storage_volume_thinpool }}"
|
|
register: lvs_result
|
|
changed_when: false
|
|
failed_when: false
|
|
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 is applied
|
|
command: >
|
|
lvchange --metadataprofile docker-thinpool
|
|
{{ docker_storage_volume_group }}/{{ docker_storage_volume_thinpool }}
|
|
become: True
|
|
when: lvs_result.rc != 0
|