From b866ae2274d1f4935dcdba23595f71307e0066c9 Mon Sep 17 00:00:00 2001 From: Eike Waldt Date: Tue, 19 Jul 2022 08:59:07 +0200 Subject: [PATCH 1/2] add SAPHanaSR takeover blocker --- hana/ha_cluster.sls | 36 +++++++++++++++++++++++++-------- templates/ha_cluster_sudoers.j2 | 3 +++ 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/hana/ha_cluster.sls b/hana/ha_cluster.sls index bcd5f39..b9b8204 100644 --- a/hana/ha_cluster.sls +++ b/hana/ha_cluster.sls @@ -2,9 +2,10 @@ {% set host = grains['host'] %} {% if hana.scale_out %} -{% set sr_hook_path = '/usr/share/SAPHanaSR-ScaleOut' %} -{% set sr_hook_multi_target = sr_hook_path + '/SAPHanaSrMultiTarget.py' %} -{% set sr_hook = sr_hook_path + '/SAPHanaSR.py' %} +{% set hook_path = '/usr/share/SAPHanaSR-ScaleOut' %} +{% set sr_hook_multi_target = hook_path + '/SAPHanaSrMultiTarget.py' %} +{% set sr_hook = hook_path + '/SAPHanaSR.py' %} +{% set sustkover_hook = hook_path + '/susTkOver.py' %} remove_SAPHanaSR: pkg.removed: @@ -19,9 +20,10 @@ install_SAPHanaSR: - SAPHanaSR-ScaleOut-doc {% else %} -{% set sr_hook_path = '/usr/share/SAPHanaSR' %} -{% set sr_hook_multi_target = sr_hook_path + '/SAPHanaSrMultiTarget.py' %} -{% set sr_hook = sr_hook_path + '/SAPHanaSR.py' %} +{% set hook_path = '/usr/share/SAPHanaSR' %} +{% set sr_hook_multi_target = hook_path + '/SAPHanaSrMultiTarget.py' %} +{% set sr_hook = hook_path + '/SAPHanaSR.py' %} +{% set sustkover_hook = hook_path + '/susTkOver.py' %} remove_SAPHanaSR: pkg.removed: @@ -71,6 +73,7 @@ sudoers_create_{{ sap_instance }}: sr_hook: {{ sr_hook }} sr_hook_multi_target: {{ sr_hook_multi_target }} sr_hook_string: __slot__:salt:file.grep({{ sr_hook }}, "^srHookGen = ").stdout + sustkover_hook: {{ sustkover_hook }} # remove old entries from /etc/sudoers (migration to new /etc/sudoers.d/SAPHanaSR file) sudoers_remove_old_entries_{{ sap_instance }}_srHook: @@ -91,7 +94,7 @@ configure_ha_hook_{{ sap_instance }}_multi_target: - sections: ha_dr_provider_SAPHanaSrMultiTarget: provider: 'SAPHanaSrMultiTarget' - path: '{{ sr_hook_path }}' + path: '{{ hook_path }}' execution_order: '1' trace: ha_dr_saphanasrmultitarget: 'info' @@ -108,7 +111,7 @@ configure_ha_hook_{{ sap_instance }}: - sections: ha_dr_provider_SAPHanaSR: provider: 'SAPHanaSR' - path: '{{ sr_hook_path }}' + path: '{{ hook_path }}' execution_order: '1' trace: ha_dr_saphanasr: 'info' @@ -163,6 +166,23 @@ remove_wrong_ha_hook_{{ sap_instance }}_options: - unless: - test -f {{ sr_hook_multi_target }} +configure_susTkOver_hook_{{ sap_instance }}: + ini.options_present: + - name: /hana/shared/{{ node.sid.upper() }}/global/hdb/custom/config/global.ini + - separator: '=' + - strict: False # do not touch rest of file + - sections: + ha_dr_provider_sustkover: + provider: 'susTkOver' + path: '{{ hook_path }}' + execution_order: '2' + trace: + ha_dr_sustkover: 'info' + - require: + - pkg: install_SAPHanaSR + - onlyif: + - test -f {{ sustkover_hook }} + # Configure system replication operation mode in the primary site {% for secondary_node in hana.nodes if node.primary is defined and secondary_node.secondary is defined and secondary_node.secondary.remote_host == host %} configure_replication_{{ sap_instance }}: diff --git a/templates/ha_cluster_sudoers.j2 b/templates/ha_cluster_sudoers.j2 index 4277ffa..534786d 100644 --- a/templates/ha_cluster_sudoers.j2 +++ b/templates/ha_cluster_sudoers.j2 @@ -22,3 +22,6 @@ Cmnd_Alias SOK_SITEB = /usr/sbin/crm_attribute -n hana_{{ node.sid.lower() Cmnd_Alias SFAIL_SITEB = /usr/sbin/crm_attribute -n hana_{{ node.sid.lower() }}_site_srHook_{{ sites['b'] }} -v SFAIL -t crm_config -s SAPHanaSR {{ node.sid.lower() }}adm ALL=(ALL) NOPASSWD: SOK_SITEA, SFAIL_SITEA, SOK_SITEB, SFAIL_SITEB {%- endif %} +# SAPHanaSR takeover blocker needs for {{ sustkover_hook }} +Cmnd_Alias HOOK_HELPER_TKOVER = /usr/sbin/SAPHanaSR-hookHelper --case checkTakeover --sid={{ node.sid.lower() }} +{{ node.sid.lower() }}adm ALL=(ALL) NOPASSWD: HOOK_HELPER_TKOVER From 71879485f21773e3bb406552a8d1cb5680b4573b Mon Sep 17 00:00:00 2001 From: Eike Waldt Date: Thu, 28 Jul 2022 11:04:48 +0200 Subject: [PATCH 2/2] bump version to 0.12.0 --- _service | 2 +- saphanabootstrap-formula.changes | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/_service b/_service index 675f870..e139edd 100644 --- a/_service +++ b/_service @@ -4,7 +4,7 @@ git .git saphanabootstrap-formula - 0.11.0+git.%ct.%h + 0.12.0+git.%ct.%h %%VERSION%% diff --git a/saphanabootstrap-formula.changes b/saphanabootstrap-formula.changes index eb17a2a..dcad4ce 100644 --- a/saphanabootstrap-formula.changes +++ b/saphanabootstrap-formula.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jul 28 10:03:12 UTC 2022 - Eike Waldt + +- Version bump 0.12.0 + * add SAPHanaSR takeover blocker + ------------------------------------------------------------------- Thu Jul 19 11:47:52 UTC 2022 - Eike Waldt