Skip to content

Commit 207c722

Browse files
authored
Enhance pacemaker configuration for Azure agent based on version checks (#732)
* Enhance pacemaker configuration for Azure agent based on version checks
1 parent caca890 commit 207c722

1 file changed

Lines changed: 39 additions & 6 deletions

File tree

deploy/ansible/roles-os/1.17-generic-pacemaker/tasks/1.17.2.0-cluster-Suse.yml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,12 @@
402402
# WARNING: cib-bootstrap-options: unknown attribute 'azure-events_globalPullState'
403403
# WARNING: cib-bootstrap-options: unknown attribute 'hostName_ hostname'
404404
# These warning messages can be ignored.
405+
406+
- name: "1.17 Generic Pacemaker - Check pacemaker version is 2.1.3 or higher"
407+
when: ansible_facts.packages['pacemaker'] is defined
408+
ansible.builtin.set_fact:
409+
is_pcmk_213_or_later: "{{ ansible_facts.packages['pacemaker'][0].version is version('2.1.3', '>=') }}"
410+
405411
- name: "1.17 Generic Pacemaker - Ensure maintenance mode is set"
406412
ansible.builtin.shell: crm configure property maintenance-mode=true
407413

@@ -419,18 +425,45 @@
419425
- name: "1.17 Generic Pacemaker - Set initial value for cluster attributes for {{ secondary_instance_name }}"
420426
ansible.builtin.shell: crm_attribute --node {{ secondary_instance_name }} --name '#health-azure' --update 0
421427

422-
- name: "1.17 Generic Pacemaker - Ensure Pacemaker resources for the Azure agent is created"
423-
ansible.builtin.shell: |
428+
- name: "1.17 Generic Pacemaker - Set the pacemaker cluster node health agent (pcmk < 2.13)"
429+
when: not is_pcmk_213_or_later | bool
430+
block:
431+
- name: "1.17 Generic Pacemaker - Ensure Pacemaker resources for the Azure agent is created (pcmk < 2.13)"
432+
ansible.builtin.shell: |
424433
crm configure primitive health-azure-events ocf:heartbeat:azure-events-az \
425434
meta allow-unhealthy-nodes=true failure-timeout=120s \
426435
op start start-delay=90s \
427436
op monitor interval=10s
428-
register: crm_configure_result
429-
failed_when:
437+
register: crm_configure_result
438+
failed_when:
430439
- "crm_configure_result.stderr | lower | regex_search('error|fail')" # Check if the resource is created successfully
431440

432-
- name: "1.17 Generic Pacemaker - Ensure clone resource azure-events is configured"
433-
ansible.builtin.shell: crm configure clone health-azure-events-cln health-azure-events
441+
- name: "1.17 Generic Pacemaker - Ensure clone resource azure-events is configured (pcmk < 2.13)"
442+
ansible.builtin.shell: crm configure clone health-azure-events-cln health-azure-events
443+
register: crm_configure_clone_result
444+
failed_when:
445+
- "crm_configure_clone_result.stderr | lower | regex_search('error|fail')" # Check if the resource is created successfully
446+
447+
- name: "1.17 Generic Pacemaker - Set the pacemaker cluster node health agent (pcmk >= 2.13)"
448+
when: is_pcmk_213_or_later | bool
449+
block:
450+
- name: "1.17 Generic Pacemaker - Ensure Pacemaker resources for the Azure agent is created (pcmk >= 2.13)"
451+
ansible.builtin.shell: |
452+
crm configure primitive health-azure-events ocf:heartbeat:azure-events-az \
453+
meta failure-timeout=120s \
454+
op start start-delay=90s \
455+
op monitor interval=10s
456+
register: crm_configure_result
457+
failed_when:
458+
- "crm_configure_result.stderr | lower | regex_search('error|fail')"
459+
460+
- name: "1.17 Generic Pacemaker - Ensure clone resource azure-events is configured (pcmk >= 2.13)"
461+
ansible.builtin.shell: |
462+
crm configure clone health-azure-events-cln health-azure-events \
463+
meta allow-unhealthy-nodes=true
464+
register: crm_configure_clone_result
465+
failed_when:
466+
- "crm_configure_clone_result.stderr | lower | regex_search('error|fail')"
434467

435468
- name: "1.17 Generic Pacemaker - Remove false positives"
436469
ansible.builtin.shell: crm_resource -C

0 commit comments

Comments
 (0)