2025-02-04 15:48:36 -08:00

47 lines
1.8 KiB
YAML

---
- name: Check if Gluster volume is initialized
become: true
stat:
path: "{{gluster_volume_path}}/{{inventory_hostname}}/brick"
register: glustervolume
- name: Verify Gluster volume path
become: true
file:
path: "{{gluster_volume_path}}/{{inventory_hostname}}/brick"
state: directory
- name: Initialize Gluster Cluster (on first node)
become: true
when: glustervolume.stat.exists == false and inventory_hostname == groups['gluster_nodes'][0]
loop: "{{ groups['gluster_nodes'] }}"
shell: gluster peer probe {{ item }}
- name: Create Gluster Volume (on first node)
# TODO Make this scalable
become: true
when: glustervolume.stat.exists == false and inventory_hostname == groups['gluster_nodes'][0]
shell: >
gluster volume create {{gluster_volume_name}} \
replica 3 \
{{groups['gluster_nodes'][0]}}:{{gluster_volume_path}}/{{groups['gluster_nodes'][0]}}/brick \
{{groups['gluster_nodes'][1]}}:{{gluster_volume_path}}/{{groups['gluster_nodes'][1]}}/brick \
{{groups['gluster_nodes'][2]}}:{{gluster_volume_path}}/{{groups['gluster_nodes'][2]}}/brick
- name: Secure Gluster Volume (on first node)
become: true
when: inventory_hostname == groups['gluster_nodes'][0]
shell: >
gluster volume set {{gluster_volume_name}} auth.allow \
{{groups['gluster_nodes'][0]}},{{groups['gluster_nodes'][1]}},{{groups['gluster_nodes'][2]}}
changed_when: false
- name: Start Gluster Volume (on first node)
become: true
when: glustervolume.stat.exists == false and inventory_hostname == groups['gluster_nodes'][0]
shell: gluster volume start {{gluster_volume_name}}
- name: Wait 60s for Gluster volume to be replicated
when: glustervolume.stat.exists == false and inventory_hostname == groups['gluster_nodes'][0]
shell: sleep 60