Files
provisioning/ansible-5/roles/glusterfs/tasks/manage_volumes.yml

58 lines
1.4 KiB
YAML

---
# glusterfs mounts
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# Mount drives in fstab
- name: Create fstab entries
ansible.posix.mount:
path: "{{ mounts.paths[item.name] }}"
src: "{{ item.src }}"
fstype: "xfs"
opts: "defaults,noatime,nofail,x-systemd.device-timeout=10 0 0"
state: "{{ item.status }}"
with_items: "{{mounts[inventory_hostname]}}"
- name: create pool
gluster.gluster.gluster_peer:
state: present
nodes: "{{ cluster }}"
# manage volumes
- include_tasks: remove_volume.yml
with_items: "{{volumes.removed}}"
- name: debug
debug:
var: item.name
with_items: "{{volumes.replicated}}"
- name: create gluster volumes
gluster_volume:
state: present
start_on_create: yes
name: "{{item.name}}"
brick: "{{mounts.paths[item.name]}}/{{volumes.brick_folder}}"
rebalance: no
# replicas: 2
force: true
cluster: "{{cluster}}"
with_items: "{{volumes.replicated}}"
run_once: true
- name: create distributed gluster volumes
gluster_volume:
state: present
name: "{{ item.name }}"
brick: "{{mounts.paths[item.name]}}/{{volumes.brick_folder}}"
rebalance: no
replicas: false
# force: true
cluster: "{{cluster}}"
with_items: "{{volumes.distributed}}"
run_once: true