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
oren_US.UTF-8
in the line starting withLC_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
NoteThese steps are necessary because by default, the
LC_*
variables are forwarded to a remote system (seeman ssh_config
andman 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.
NoteThese 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
ImportantThe correct indentation of 2 spaces in front of
roles:
is essential.Run the RHEL System Roles
sap_general_preconfigure
andsap_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 namedsap_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
ImportantThe correct indentation (e.g. 2 spaces in front of
roles:
) is essential.Run the RHEL System Roles
sap_general_preconfigure
andsap_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.