Skip to content
This repository has been archived by the owner on Jul 27, 2023. It is now read-only.

Latest commit

 

History

History
102 lines (89 loc) · 12.4 KB

README.md

File metadata and controls

102 lines (89 loc) · 12.4 KB

THIS ROLE IS DEPRECATED AND NO LONGER DEVELOPED

The successor is now developed as part of the community.sap_install collection.

sap-netweaver-ha-pacemaker Ansible Lint Ansible Galaxy Import

HA configuration of pacemaker for SAP Netweaver software

Role variables

variable info required?
sap_netweaver_ha_pacemaker_hacluster_manage_shared_storage Attempt to manage shared (eg. nfs) storage? no, default is yes
sap_netweaver_ha_pacemaker_hacluster_node1_ip IP address of first node in cluster yes
sap_netweaver_ha_pacemaker_hacluster_node1_fqdn FWDN of first node in cluster yes
sap_netweaver_ha_pacemaker_hacluster_node2_ip IP address of second node in cluster yes
sap_netweaver_ha_pacemaker_hacluster_node2_fqdn FWDN of second node in cluster yes
sap_netweaver_ha_pacemaker_ensa_ver ENSA/ERS version no, default 2
sap_netweaver_ha_pacemaker_hacluster_manage_azure_lb Default: no. Deal with Azure load balancer? no
sap_netweaver_ha_pacemaker_sid SID of this instance yes
sap_netweaver_ha_pacemaker_profile_path Full path of directory holding profiles no, is generated sanely
sap_netweaver_ha_pacemaker_alias_ascs ASCS host alias yes
sap_netweaver_ha_pacemaker_instance_number_ascs ASCS instance number yes
sap_netweaver_ha_pacemaker_instance_name_ascs ASCS Instance Name (profile file name) no, is generated sanely
sap_netweaver_ha_pacemaker_profile_file_ascs Full path and name of ASCS profile no, is generated sanely
sap_netweaver_ha_pacemaker_profile_path_ascs Full path to directory holding ASCS profile no, is generated sanely
sap_netweaver_ha_pacemaker_vip_ascs Virtual (cluster managed) IP address for ASCS yes
sap_netweaver_ha_pacemaker_alias_ers ERS host alias yes
sap_netweaver_ha_pacemaker_instance_number_ers ERS instance number yes
sap_netweaver_ha_pacemaker_instance_name_ers ASCS Instance Name (profile file name) no, is generated sanely
sap_netweaver_ha_pacemaker_profile_file_ers Full path and file name of ASCS profile no, is generated sanely
sap_netweaver_ha_pacemaker_profile_path_ers Full path to directory holding ASCS profile no, is generated sanely
sap_netweaver_ha_pacemaker_vip_ers Virtual (cluster managed) IP address for ASCS yes
sap_netweaver_ha_pacemaker_e4s_repos_ppc64le List of required extended support repos for ppc64le arch no
sap_netweaver_ha_pacemaker_e4s_repos_x86_64 List of required extended support repos for x86_64 arch no
sap_netweaver_ha_pacemaker_standard_repos_ppc64le List of required standard support repos for ppc64le arch no
sap_netweaver_ha_pacemaker_standard_repos_x86_64 List of required standard support repos for x86_64 arch no
sap_netweaver_ha_pacemaker_fsdevice_ascs ascs profile filesystem resource yes
sap_netweaver_ha_pacemaker_fsdevice_ers ers profile filesystem resource yes
sap_netweaver_ha_pacemaker_fsdevice_sapmnt sapmnt filesystem resource yes
sap_netweaver_ha_pacemaker_fsdevice_sys sys filesystem resource yes
sap_netweaver_ha_pacemaker_fsdevice_trans trans filesystem resource yes
sap_netweaver_ha_pacemaker_mntdir_ascs ASCS filesystem mount point directory yes
sap_netweaver_ha_pacemaker_mntdir_ers ERS filesystem mount point directory yes
sap_netweaver_ha_pacemaker_mntdir_sapmnt sapmnt filesystem mount point directory yes
sap_netweaver_ha_pacemaker_mntdir_sys sys filesystem mount point directory yes
sap_netweaver_ha_pacemaker_mntdir_trans trans filesystem mount point directory yes
sap_netweaver_ha_pacemaker_fstype Type of filesystem resource of managed filesystems see: pcs fstype=xxx yes
sap_netweaver_ha_pacemaker_fstype_ Type of filesystem resource for (inherited value from above) no
sap_netweaver_ha_pacemaker_fsr_name_ PCS resource name for managed filesystem of no
sap_netweaver_ha_pacemaker_auto_recover_ascs Sets SAPInstance AUTOMATIC_RECOVER=true if ansible truthy (otherwise skips setting) no
sap_netweaver_ha_pacemaker_auto_recover_ers Sets SAPInstance AUTOMATIC_RECOVER=true if ansible truthy (otherwise skips setting) no
sap_netweaver_ha_pacemaker_ocf_check Default for OCF_CHECK_LEVEL= value for mount points no
sap_netweaver_ha_pacemaker_ocf_check_ OCF_CHECK_LEVEL= value for mount points (inherited value from above) no
sap_netweaver_ha_pacemaker_startup_delay Delay in integer seconds for systemd PCS startup no
sap_netweaver_ha_pacemaker_save_backups Save backups of remote files that we change no

Paths, Files, Filesystems

sap_netweaver_ha_pacemaker_profile_path is the root directory holding the "profiles" of ASCS and ERS. It is generated based on convention and the provided SID. sap_netweaver_ha_pacemaker_profile_path_ascs and sap_netweaver_ha_pacemaker_profile_path_ers are set to it (or overridden), and the respective profile_file values are generated based on the particular _alias_ names and IDs (or overridden).

For each of thing={'ascs', 'ers', 'sapmnt', 'sys', 'trans'}, we create a PCS filesystem resource named sap_netweaver_ha_pacemaker_fsr_name_<thing>, which is set sanely, but can be overridden. It mounts sap_netweaver_ha_pacemaker_fsdevice_<thing> at sap_netweaver_ha_pacemaker_mntdir_<type> as a filesystem type of sap_netweaver_ha_pacemaker_fstype_<thing>. _mntdir is set by convention (but can be overridden), the device need to be specified. fstype can be specified generally, or per fstype_<thing>.

STONITH fencing

The following variables are common to all fencing devices (except those on hyperscalers)

variable info required?
sap_netweaver_ha_pacemaker_fencing_device.name Name of the fencing device yes
sap_netweaver_ha_pacemaker_fencing_device.type Fencing device type yes *
sap_netweaver_ha_pacemaker_fencing_device.ip IP address of the fencing device yes
sap_netweaver_ha_pacemaker_fencing_device.user Username to connect to the fencing device yes
sap_netweaver_ha_pacemaker_fencing_device.pwd Password to connect to the fencing device yes
sap_netweaver_ha_pacemaker_fencing_device.pcmk_host_list List of nodes controlled by the fencing device yes *
sap_netweaver_ha_pacemaker_fencing_device.password_file Full path/filename to 'password script' to use for fencing device configuration no
sap_netweaver_ha_pacemaker_fencing_device.pcmk_host_map Mapping of the hostnames/ip of the nodes yes*
sap_netweaver_ha_pacemaker_fencing_device.custom_options Additional options to pass to fence device creation, e.g. "ssl=1 ssl_insecure=1 power_wait=30" no

* Must provide either a pcmk_host_list or a pcmk_host_map, per https://access.redhat.com/solutions/2619961 for a discussion on host_list vs host_map

This is a list of the most common fencing devices:

  • fence_vmware_soap - VMWare
  • fence_vmware_rest - VMWare
  • fence_ipmilan - IPMI
  • fence_ilo4_ssh - HP ILO
  • fence_rhevm - RHV
  • fence_azure_arm - Azure

TODO and Notes

  • Fencing should perhaps be extracted to own role to share with redhat_sap.sap-hana-ha-pacemaker
  • Verify drivers other than fence_vmware_rest support passwd_script option
  • Support >2 nodes
  • Support >2 links
  • This remains mostly untested against a range of systems.
  • Var docs
  • FS paths should match samples from docs
  • Is this the right place for Azure LB? (commented out as wasn't going to work, anyway)
  • If using clustering, the sap_s4netweaver_deployment is likely going to need /etc/hosts setup, so this is a dupe
  • /etc/hosts perhaps should have ansible tags in it, either way, so the several roles can not clobber each other
  • Should instance aliases be in /etc/hosts?
  • Rename 'ASCS' to 'APP'(?) everywhere if this "works" with more app stacks than ASCS, like the java thing *