Chapter 5. Quick Start Guide to RHEL System Roles for SAP Use the following procedures for configuring or verifying one or more systems for the installation of SAP NetWeaver or SAP HANA 5.1. Preparing the control node Use the following steps to display the system messages in English. RHEL System Roles for SAP requires that the Ansible control node uses locale C or en_US.UTF-8 . Procedure Run the command on the local host to check the current setting. # locale The output should display either C or en_US.UTF-8 in the line starting with LC_MESSAGES= . If the command does not produce the expected output, run the following command on the local host before executing the ansible-playbook command: # export LC_ALL=C Or # export LC_ALL=en_US.UTF-8 Note These steps are necessary because by default, the LC_* variables are forwarded to a remote system (see man ssh_config and man sshd_config ), and the roles are evaluating certain command outputs from remote systems. 5.2. Configuring the local system Use the following steps for preparing the local system for the installation of SAP NetWeaver Prerequisites No production software running on the system A minimum of 20480 MB of swap space is configured on the local system Procedure Make a bakckup, if you would like to preserve the original configuration of the server. Note These roles are run after the installation of RHEL, therefore a backup should not be required. Create a YAML file named sap-netweaver.yml with the following content: - hosts: localhost connection: local roles: - sap_general_preconfigure - sap_netweaver_preconfigure Important The correct indentation of 2 spaces in front of roles: is essential. Run the RHEL System Roles sap_general_preconfigure and sap_netweaver_preconfigure to prepare the managed nodes for the installation of SAP NetWeaver. # ansible-playbook sap-netweaver.yml At the end of the playbook run, the role will likely report that a reboot is required, for example because certain packages had been installed. In this case, reboot the system at this time. 5.3. Verifying the local system RHEL System roles for SAP can also be used to verify that RHEL systems are configured correctly. Use the following steps to verify if the local system is configured correctly for installation of SAP NetWeaver. Prerequisites RHEL System Roles for SAP version 3 Procedure Create a YAML file named sap-netweaver.yml with the following content: - hosts: localhost connection: local vars: sap_general_preconfigure_assert: yes sap_general_preconfigure_assert_ignore_errors: yes sap_netweaver_preconfigure_assert: yes sap_netweaver_preconfigure_assert_ignore_errors: yes roles: - sap_general_preconfigure - sap_netweaver_preconfigure Run the following command: # ansible-playbook sap-netweaver.yml In case you would like to get a more compact output, you can pipe the output to the shell script beautify-assert-output.sh , located in the tools directory of each of the preconfigure roles, to just display the essential FAIL or PASS information for each assertion. Assuming you have copied the script to directory ~/bin , the command would be: # ansible-playbook sap-netweaver-assert.yml | ./bin/beautify-assert-output.sh If you are using a terminal with dark background, replace all occurrences of color code [30m in the following command sequence by [37m . Otherwise, the output of some lines will be unreadable due to a dark font on a dark background. In case you accidentally ran the above command in a terminal with a dark background, you can re-enable the default white font again with the following command: # echo -e "\033[37mResetting font color\n" 5.4. Configuring remote systems Use the following steps for preparing one or more remote systems (managed nodes) for the installation of SAP HANA. Prerequisites Verify that the managed nodes are correctly set up for installing Red Hat software packages from a Red Hat Satellite server or the Red Hat Customer Portal. Passwordless ssh access to each managed node from the Ansible control node. Supported RHEL release for SAP HANA. For information on supported RHEL releases for SAP HANA, see SAP Note 2235581 . Procedure Make a backup if you would like to preserve the original configuration of the server. Create an inventory file or modify file /etc/ansible/hosts that contains the name of a group of hosts and each system which you intend to configure (=managed node) in a separate line (example for three hosts in a host group named sap_hana ): [sap_hana] host01 host02 host03 Verify that you can log in to all three hosts using ssh without password. Example: # ssh host01 uname -a # ssh host02 hostname # ssh host03 echo test Create a YAML file named sap-hana.yml with the following content: - hosts: sap_hana roles: - sap_general_preconfigure - sap_hana_preconfigure Important The correct indentation (e.g. 2 spaces in front of roles: ) is essential. Run the RHEL System Roles sap_general_preconfigure and sap_hana_preconfigure to prepare the managed nodes for the installation of SAP HANA. # ansible-playbook sap-hana.yml Note The roles are designed to be used right after the initial installation of a managed node. If you want to run these roles against an SAP or other production system, run them in assertion mode first so you can detect which settings deviate from SAP's recommendations as per applicable SAP notes. When run in normal mode, the roles will enforce the SAP recommended configuration on the managed node(s). Unusual system configuration settings might in rare cases still lead to unintended changes by the role. Before using the roles in normal mode on production systems, it is strongly recommended to backup the system and test the roles on a test and QA system first. At the end of the playbook run, the command will report for each managed node that a reboot is required. Reboot the managed nodes at this time. 5.5. Installing SAP software For instructions on installing the SAP HANA database or SAP S/4HANA on RHEL 8 or RHEL 9, refer to Installing SAP HANA or SAP S/4HANA with the RHEL System Roles for SAP .

Commands:
locale
export LC_ALL=C
export LC_ALL=en_US.UTF-8
- hosts: localhost connection: local roles: - sap_general_preconfigure - sap_netweaver_preconfigure
ansible-playbook sap-netweaver.yml
- hosts: localhost connection: local vars: sap_general_preconfigure_assert: yes sap_general_preconfigure_assert_ignore_errors: yes sap_netweaver_preconfigure_assert: yes sap_netweaver_preconfigure_assert_ignore_errors: yes roles: - sap_general_preconfigure - sap_netweaver_preconfigure
ansible-playbook sap-netweaver.yml
ansible-playbook sap-netweaver-assert.yml | ./bin/beautify-assert-output.sh
echo -e "\033[37mResetting font color\n"
[sap_hana] host01 host02 host03
ssh host01 uname -a ssh host02 hostname ssh host03 echo test
- hosts: sap_hana roles: - sap_general_preconfigure - sap_hana_preconfigure
ansible-playbook sap-hana.yml