-
Notifications
You must be signed in to change notification settings - Fork 0
/
003.setup_glusterfs_cluster.yml
72 lines (63 loc) · 2.28 KB
/
003.setup_glusterfs_cluster.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
---
# ansible-playbook -v 003.setup_glusterfs_cluster.yml -u root
- hosts: all
become: yes
become_user: root
gather_facts: True
# Install glusterfs-server before running the tasks of
# gluster.cluster role
pre_tasks:
- name: Add an Apt signing key, uses whichever key is at the URL
apt_key:
url: http://download.gluster.org/pub/gluster/glusterfs/{{ glusterd_version }}/rsa.pub
state: present
when: ansible_os_family == 'Debian'
- name: Add an RPM signing key, uses whichever key is at the URL
rpm_key:
key: http://download.gluster.org/pub/gluster/glusterfs/{{ glusterd_version }}/rsa.pub
state: present
when: ansible_os_family == 'RedHat'
- name: Add new apt source
apt_repository:
repo: ppa:gluster/glusterfs-{{ glusterd_version }}
filename: gluster.list
state: present
when: ansible_os_family == 'Debian'
- name: Add yum apt source
yum_repository:
name: glusterfs
description: glusterfs YUM repo
baseurl: https://download.gluster.org/pub/gluster/glusterfs/{{ glusterd_version }}/LATEST/RHEL/glusterfs-rhel8.repo
when: ansible_os_family == 'RedHat'
- name: Update repositories cache and install "glusterfs-server" package
package:
name: "{{item}}"
update_cache: yes
loop:
- "glusterfs-server"
- name: Set python path symlink
file:
src: "/usr/bin/python3"
dest: "/usr/bin/python"
state: link
# Pause for 5 seconds to build cache.
- name: Pause for 5 seconds to build cache
pause:
seconds: 5
- name: Start glusterd on the nodes if not already started
service:
state: started
name: glusterd
enabled: yes
delegate_to: "{{ item }}"
run_once: true
with_items: "{{ gluster_cluster_hosts }}"
- name: create gluster volume
gluster.gluster.gluster_volume:
state: present
name: "{{ gluster_cluster_volume }}"
bricks: '/mnt/brick1'
force: true
transport: 'tcp'
cluster: "{{ gluster_cluster_private_hosts if gluster_cluster_private_hosts is defined and gluster_cluster_private_hosts | length > 0 else gluster_cluster_hosts}}"
run_once: true