Skip to content

Commit d5529ae

Browse files
authored
Fix corosync 3.x startup failure on SLE 16.0 (#464)
Fix corosync by omitting invalid config options. Corosync 3.x (shipped in SLE 16.0) rejects crypto_cipher, crypto_hash, and secauth when transport is udpu, causing corosync to exit with code 8 and pacemaker to fail on its dependency. These options are safe to omit because they were never functional with udpu transport — corosync 2.x silently accepted them but only supported encryption on multicast (UDP) transport. Cluster traffic was never encrypted with udpu, so removing these options changes no runtime behavior. Similarly, rrp_mode (removed in corosync 3.x) had no effect with a single interface. The version conditional preserves the existing config for corosync 2.x (SLE 12 SP5, SLE 15 SP4/SP5) and only omits the options on 3.x+.
1 parent afbac7a commit d5529ae

3 files changed

Lines changed: 10 additions & 0 deletions

File tree

ansible/playbooks/templates/aws_corosync.conf.j2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ totem {
33
token: 30000
44
consensus: 36000
55
token_retransmits_before_loss_const: 6
6+
{% if ansible_facts.packages['corosync'][0].version is version('3.0.0', '<') %}
67
crypto_cipher: {{ crypto_cipher }}
78
crypto_hash: {{ crypto_hash }}
9+
{% endif %}
810
clear_node_high_bit: yes
11+
{% if ansible_facts.packages['corosync'][0].version is version('3.0.0', '<') %}
912
rrp_mode: passive
13+
{% endif %}
1014

1115
interface {
1216
ringnumber: 0

ansible/playbooks/templates/corosync.conf.j2

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,14 @@ totem {
33
token: 30000
44
consensus: 36000
55
token_retransmits_before_loss_const: 6
6+
{% if ansible_facts.packages['corosync'][0].version is version('3.0.0', '<') %}
67
crypto_cipher: {{ crypto_cipher }}
78
crypto_hash: {{ crypto_hash }}
9+
{% endif %}
810
clear_node_high_bit: yes
11+
{% if ansible_facts.packages['corosync'][0].version is version('3.0.0', '<') %}
912
rrp_mode: passive
13+
{% endif %}
1014

1115
interface {
1216
ringnumber: 0

ansible/playbooks/templates/gcp_corosync.conf.j2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
totem {
22
version: 2
3+
{% if ansible_facts.packages['corosync'][0].version is version('3.0.0', '<') %}
34
secauth: off
45
crypto_hash: sha1
56
crypto_cipher: aes256
7+
{% endif %}
68
cluster_name: hacluster
79
clear_node_high_bit: yes
810
token: 20000

0 commit comments

Comments
 (0)