Skip to content

sap_ha_pacemaker_cluster: Add support for SAP Web Dispatcher #974

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 49 additions & 1 deletion roles/sap_ha_pacemaker_cluster/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ sap_ha_pacemaker_cluster_operation_defaults: {}
# nwas_abap_ascs_ers (available)
# nwas_abap_pas_aas (not yet)
# nwas_java_scs_ers (available)

# sap_webdisp (beta)
# 'sap_ha_pacemaker_cluster_host_type' is converted from string to list type in
# 'tasks/ascertain_sap_landscape.yml'.
sap_ha_pacemaker_cluster_host_type: "{{ sap_host_type | d(['hana_scaleup_perf']) }}"
Expand Down Expand Up @@ -312,6 +312,54 @@ sap_ha_pacemaker_cluster_nwas_ers_sapinstance_automatic_recover_bool: false
# sap_ha_pacemaker_cluster_nwas_abap_aas_filesystem_resource_name: ''
# sap_ha_pacemaker_cluster_nwas_abap_aas_sapinstance_resource_name: ''

################################################################################
# Web Dispatcher resource defaults
################################################################################

#TODO - check if these need to be moved to include_vars_webdisp.yml and converted to __*

sap_ha_pacemaker_cluster_wdp_sid: "{{ sap_swpm_wdp_sid | d('') }}"
sap_ha_pacemaker_cluster_wdp_instance_nr: "{{ sap_swpm_wdp_instance_nr | d('') }}"

sap_ha_pacemaker_cluster_vip_wdp_ip_address: ''
sap_ha_pacemaker_cluster_vip_wdp_resource_name: >-
rsc_vip_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}
sap_ha_pacemaker_cluster_healthcheck_wdp_resource_name: >-
rsc_vip_health_check_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}

# Name of the instance profile - mandatory to be user-defined
sap_ha_pacemaker_cluster_wdp_sapinstance_instance_name: ''
# Full path with instance profile name - mandatory to be user-defined
sap_ha_pacemaker_cluster_wdp_sapinstance_start_profile_string: ''

sap_ha_pacemaker_cluster_wdp_filesystem_resource_name: >-
rsc_fs_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}
sap_ha_pacemaker_cluster_wdp_sapinstance_resource_name: >-
rsc_SAPInstance_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}
sap_ha_pacemaker_cluster_wdp_sapstartsrv_resource_name: >-
rsc_SAPStartSrv_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}

sap_ha_pacemaker_cluster_vip_wdp_resource_group_name: >-
grp_{{ sap_ha_pacemaker_cluster_wdp_sid }}_WDP{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}

# Currently unused
# sap_ha_pacemaker_cluster_wdp_order_wdp_last_name: >-
# ord_wdp_last_{{ sap_ha_pacemaker_cluster_wdp_sid }}

sap_ha_pacemaker_cluster_wdp_sapinstance_automatic_recover_bool: false
sap_ha_pacemaker_cluster_wdp_sapinstance_resource_stickiness: 5000

# Stickiness of the WebDisp group
sap_ha_pacemaker_cluster_wdp_group_stickiness: 3000

# Clustered filesystem for Web Dispatcher
sap_ha_pacemaker_cluster_wdp_filesystem_host_mount_path: ''
sap_ha_pacemaker_cluster_wdp_filesystem_local_mount_path: "/usr/sap/{{ sap_ha_pacemaker_cluster_wdp_sid }}/W{{ sap_ha_pacemaker_cluster_wdp_instance_nr }}"
sap_ha_pacemaker_cluster_wdp_filesystem_fstype: "{{ sap_ha_pacemaker_cluster_storage_nfs_filesytem_type }}"
sap_ha_pacemaker_cluster_wdp_filesystem_options_string: "{{ sap_ha_pacemaker_cluster_storage_nfs_mount_options }}"
sap_ha_pacemaker_cluster_wdp_filesystem_force_unmount: "{{ sap_ha_pacemaker_cluster_resource_filesystem_force_unmount }}"

sap_ha_pacemaker_cluster_healthcheck_wdp_id: "{{ sap_ha_pacemaker_cluster_wdp_sid + 'wdp' }}"

################################################################################
# Platform specific
Expand Down
80 changes: 80 additions & 0 deletions roles/sap_ha_pacemaker_cluster/meta/argument_specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ argument_specs:
- nwas_abap_ascs_ers
# - nwas_abap_pas_aas
- nwas_java_scs_ers
- sap_webdisp
default: hana_scaleup_perf
description:
- The SAP landscape to for which the cluster is to be configured.
Expand Down Expand Up @@ -968,6 +969,85 @@ argument_specs:

# TODO: implement AAS cluster setup

#########################################################################
# WebDisp specific parameters
##########################################################################

sap_ha_pacemaker_cluster_wdp_sid:
description:
- System ID (SID) of the Web Dispatcher in Capital letters.
- Defaults to `sap_swpm_wdp_sid` if defined.
- Mandatory for Web Dispatcher cluster scenarios.

sap_ha_pacemaker_cluster_wdp_instance_nr:
description:
- Instance number of the Web Dispatcher instance.
- Defaults to `sap_swpm_wdp_instance_nr` if defined.
- Mandatory for Web Dispatcher cluster configuration.

sap_ha_pacemaker_cluster_vip_wdp_ip_address:
description:
- Virtual IP of the Web Dispatcher instance.
- Mandatory for the Web Dispatcher cluster setup.

sap_ha_pacemaker_cluster_vip_wdp_resource_name:
default: rsc_vip_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the Virtual IP resource for Web Dispatcher.

sap_ha_pacemaker_cluster_healthcheck_wdp_resource_name:
default: rsc_vip_health_check_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the Virtual IP Health Check resource for Web Dispatcher.

sap_ha_pacemaker_cluster_wdp_sapinstance_instance_name:
description:
- The name of the WebDisp instance, typically the profile name.
- Mandatory for the Web Dispatcher cluster setup.
- Recommended format <WDSID>_W<WebDisp-instance-number>_<WebDisp-hostname>

sap_ha_pacemaker_cluster_wdp_sapinstance_start_profile_string:
description:
- The full path and name of the WebDisp instance profile.
- Mandatory for the Web Dispatcher cluster setup.

sap_ha_pacemaker_cluster_wdp_filesystem_resource_name:
default: rsc_fs_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the filesystem resource for the WebDisp instance.

sap_ha_pacemaker_cluster_wdp_sapinstance_resource_name:
default: rsc_SAPInstance_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the WebDisp instance resource.

sap_ha_pacemaker_cluster_wdp_sapstartsrv_resource_name:
default: rsc_SAPStartSrv_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the WebDisp SAPStartSrv resource for simple mount.

sap_ha_pacemaker_cluster_vip_wdp_resource_group_name:
default: grp_<WDSID>_WDP<WebDisp-instance-number>
description:
- Name of the NetWeaver WebDisp resource group.

sap_ha_pacemaker_cluster_wdp_sapinstance_automatic_recover_bool:
type: bool
default: false
description:
- Web Dispatcher instance resource option "AUTOMATIC_RECOVER".

sap_ha_pacemaker_cluster_wdp_sapinstance_resource_stickiness:
default: 5000
description:
- Web Dispatcher instance resource stickiness attribute.

sap_ha_pacemaker_cluster_wdp_group_stickiness:
default: 3000
description:
- Web Dispatcher resource group stickiness.
- Defines how sticky is Web Dispatcher group to the node it was started on.


##########################################################################
# Platforms: AWS specific parameters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,9 @@
tags: nwas_postinst
when:
- sap_ha_pacemaker_cluster_host_type | select('search', 'nwas') | length > 0

- name: "SAP HA Prepare Pacemaker - Include Web Dispatcher specific variables"
ansible.builtin.include_tasks:
file: include_vars_webdisp.yml
when:
- sap_ha_pacemaker_cluster_host_type | select('search', 'webdisp') | length > 0
Loading
Loading