Skip to content

Commit 94ea02b

Browse files
author
Dmitriy Rabotyagov
authored
Merge pull request #1 from mpiscaer/master
integrate pacemaker-remote
2 parents 8b005d9 + fbb0417 commit 94ea02b

File tree

4 files changed

+32
-8
lines changed

4 files changed

+32
-8
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ Deploys corosync/pacemaker
66
# Variables
77

88
- `pacemaker_corosync_group`: Ansible group name for corosync cluster (default: false, *mandatory*)
9+
- `pacemaker_remote_group`: Ansible group name for pacemaker-remote cluster (default: false, *mandatory*)
910
- `pacemaker_corosync_ring_interface`: Interface to use for ring0 communications (default: false, *mandatory*)
1011
- `pacemaker_corosync_fqdn`: Whether use inventory_hostname or ansible_fqdn as node name for corosync (default: false)
11-

handlers/main.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@
55
enabled: yes
66
with_items:
77
- corosync
8-
- pacemaker

tasks/pacemaker.yml

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,28 @@
55
- ansible_os_family | lower == 'redhat'
66
- ansible_distribution_major_version is version('8', '=')
77

8-
- name: Installs pacemaker & corosync
8+
- name: Installs corosync
99
package:
1010
name: "{{ item }}"
1111
state: present
1212
with_items:
1313
- corosync
14+
15+
- name: Installs pacemaker
16+
package:
17+
name: "{{ item }}"
18+
state: present
19+
with_items:
1420
- pacemaker
21+
when: "inventory_hostname in groups[pacemaker_corosync_group]"
22+
23+
- name: Installs pacemaker-remote
24+
package:
25+
name: "{{ item }}"
26+
state: present
27+
with_items:
28+
- pacemaker-remote
29+
when: "inventory_hostname in groups[pacemaker_remote_group]"
1530

1631
- name: Install haveged
1732
package:

templates/corosync.conf.j2

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
{% set _pacemaker_corosync_bind_addr = hostvars[inventory_hostname]['ansible_' + pacemaker_corosync_ring_interface | replace('-', '_')].ipv4.address %}
1+
{% if inventory_hostname in groups[pacemaker_corosync_group] %}
2+
{% set _pacemaker_corosync_bind_addr = hostvars[inventory_hostname]['ansible_eth1' | replace('-', '_')].ipv4.address %}
3+
{% else %}
4+
{% set _pacemaker_corosync_bind_addr = hostvars[inventory_hostname]['ansible_' + pacemaker_corosync_ring_interface | replace('-', '_')].ipv4.address %}
5+
{% endif %}
6+
27
totem {
38
version: 2
49
cluster_name: {{ pacemaker_corosync_group }}
@@ -28,16 +33,21 @@ quorum {
2833

2934
{% if pacemaker_enable_nodelist|default(true) %}
3035
nodelist {
31-
{% for node in groups[pacemaker_corosync_group]|sort %}
36+
37+
{% for node in groups[pacemaker_remote_group]|sort + groups[pacemaker_corosync_group]|sort %}
38+
{% if node in groups[pacemaker_corosync_group] %}
39+
{% set _tmp_pacemaker_corosync_ring_interface = 'eth1' %}
40+
{% else %}
41+
{% set _tmp_pacemaker_corosync_ring_interface = pacemaker_corosync_ring_interface %}
42+
{% endif %}
3243
node {
33-
ring0_addr: {{ _pacemaker_corosync_bind_addr }}
44+
ring0_addr: {{ hostvars[node]['ansible_' + _tmp_pacemaker_corosync_ring_interface | replace('-', '_')].ipv4.address }}
3445
name: {{ pacemaker_corosync_fqdn | bool | ternary(hostvars[node].ansible_fqdn, node) }}
3546
nodeid: {{ loop.index }}
3647
}
3748
{% endfor %}
38-
}
3949
{% endif %}
40-
50+
}
4151
logging {
4252
to_logfile: {{ (pacemaker_corosync_use_logfile | bool) | ternary('yes', 'no') }}
4353
{% if pacemaker_corosync_use_logfile | bool %}

0 commit comments

Comments
 (0)