72 lines
1.5 KiB
YAML
72 lines
1.5 KiB
YAML
---
|
|
# main tasks for installing glusterfs
|
|
|
|
|
|
# install packages
|
|
- name: Update apt cache.
|
|
apt: update_cache=yes cache_valid_time=86400
|
|
|
|
- name: Ensure glusterfs server is installed.
|
|
apt: "name={{ item }} state=installed"
|
|
with_items:
|
|
- glusterfs-server
|
|
- xfsprogs
|
|
- xfsdump
|
|
|
|
|
|
# create mount points
|
|
- name: create mount points for all bricks in all volumes
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
mode: 0755
|
|
with_items: "{{mountpoints}}"
|
|
|
|
# manage volumes
|
|
#- name: remove old gluster volumes
|
|
# gluster_volume:
|
|
# state: absent
|
|
# name: "{{ item.key }}"
|
|
# rebalance: no
|
|
# replicas: false
|
|
# cluster: "{{cluster}}"
|
|
# with_dict: "{{removed_volumes}}"
|
|
# run_once: true
|
|
|
|
|
|
- name: create gluster volumes
|
|
gluster_volume:
|
|
state: present
|
|
start_on_create: yes
|
|
name: "{{ item.key }}"
|
|
brick: '{{ item.value | join(",")}}'
|
|
rebalance: no
|
|
replicas: 2
|
|
force: true
|
|
cluster: "{{cluster}}"
|
|
with_dict: "{{volumes}}"
|
|
run_once: true
|
|
|
|
#- name: create tmp gluster volumes
|
|
# gluster_volume:
|
|
# state: present
|
|
# name: "tmp"
|
|
# brick: '/data/glusterfs/tmp/brick1/brick'
|
|
# rebalance: no
|
|
# replicas: 1
|
|
# cluster: "{{cluster}}"
|
|
# run_once: true
|
|
|
|
- name: create distributed gluster volumes
|
|
gluster_volume:
|
|
state: present
|
|
name: "{{ item.key }}"
|
|
brick: '{{ item.value | join(",")}}'
|
|
rebalance: no
|
|
replicas: false
|
|
force: true
|
|
cluster: "{{cluster}}"
|
|
with_dict: "{{distributed_volumes}}"
|
|
run_once: true
|
|
|