├── .ansible-lint ├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── feature_request.yml └── workflows │ ├── ansible-lint-sap_general_preconfigure.yml │ ├── ansible-lint-sap_ha_install_hana_hsr.yml │ ├── ansible-lint-sap_ha_pacemaker_cluster.yml │ ├── ansible-lint-sap_hana_install.yml │ ├── ansible-lint-sap_hana_preconfigure.yml │ ├── ansible-lint-sap_install_media_detect.yml │ ├── ansible-lint-sap_maintain_etc_hosts.yml │ ├── ansible-lint-sap_netweaver_preconfigure.yml │ ├── ansible-lint-sap_reusable_workflow.yml │ ├── ansible-lint-sap_storage_setup.yml │ ├── ansible-lint-sap_swpm.yml │ ├── ansible-lint.yml │ ├── ansible-test-sanity.yml │ ├── check_outdated_dependencies.yml │ └── codespell.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .pylintrc ├── .yamllint.yml ├── CHANGELOG.rst ├── LICENSE ├── README.md ├── changelogs ├── .plugin-cache.yaml ├── changelog.yaml └── config.yaml ├── docs ├── .gitkeep ├── CONTRIBUTORS.md ├── developer_notes │ └── sap_swmp_dev.md └── getting_started │ ├── README.md │ └── secure-your-passwords.md ├── galaxy.yml ├── meta ├── .gitkeep └── runtime.yml ├── playbooks ├── .gitkeep ├── README.md ├── sample-sap-ha-deployment-hana-2-node-cluster.yml ├── sample-sap-hana-install.yml ├── sample-sap-hana-preconfigure.yml ├── sample-sap-nwas-ascs-ers-2-node-cluster.yml ├── sample-sap-storage-setup_sap_s4hana_distributed.yml ├── sample-sap-swpm-advanced-mode.yml ├── sample-sap-swpm-advanced-templates-mode.yml ├── sample-sap-swpm-all-modes-interactive.yml ├── sample-sap-swpm-default-mode.yml ├── sample-sap-swpm-default-templates-mode.yml ├── sample-sap-swpm-inifile-reuse-mode.yml ├── sap_hana_preconfigure_exec.yml └── vars │ ├── sample-sap-swpm-inifile-reuse-mode-sample.inifile.params │ ├── sample-variables-sap-hana-install.yml │ ├── sample-variables-sap-storage-lvm-stripes.yml │ ├── sample-variables-sap-storage-lvm.yml │ ├── sample-variables-sap-swpm-advanced-mode-s4hana-onehost-install.yml │ ├── sample-variables-sap-swpm-advanced-templates-mode.yml │ ├── sample-variables-sap-swpm-default-mode-bw4hana-onehost-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-distributed-aas-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-distributed-ascs-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-distributed-dbload-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-distributed-ers-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-distributed-pas-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-onehost-install.yml │ ├── sample-variables-sap-swpm-default-mode-s4hana-onehost-restore.yml │ ├── sample-variables-sap-swpm-default-mode-solman-hana-abap-onehost-install.yml │ ├── sample-variables-sap-swpm-default-mode-solman-hana-java-onehost-install.yml │ ├── sample-variables-sap-swpm-default-mode-system-rename.yml │ ├── sample-variables-sap-swpm-default-mode-webdisp-standalone-install.yml │ └── sample-variables-sap-swpm-default-templates-mode.yml ├── plugins ├── .gitkeep ├── inventory │ └── .gitkeep ├── module_utils │ └── .gitkeep └── modules │ └── .gitkeep ├── requirements-dev.txt ├── requirements-workflow.txt ├── requirements.yml ├── roles ├── .gitkeep ├── sap_anydb_install_oracle │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ ├── tasks │ │ ├── main.yml │ │ ├── oracledb_install_post_mopatch.yml │ │ ├── oracledb_install_pre.yml │ │ ├── oracledb_installer_minimal.yml │ │ └── oracledb_installer_responsefile.yml │ └── templates │ │ ├── oracledb_rsp_assistants_dbca.j2 │ │ ├── oracledb_rsp_assistants_netca.j2 │ │ ├── oracledb_rsp_install_dbinstall.j2 │ │ └── oracledb_rsp_inventory_oracleserver_ee.j2 ├── sap_general_preconfigure │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── files │ │ ├── etc │ │ │ └── tmpfiles.d │ │ │ │ ├── sap.conf │ │ │ │ └── sap_RedHat_9.conf │ │ └── tmp │ │ │ ├── hostnamectl-fix.pp │ │ │ └── hostnamectl-fix.te │ ├── handlers │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ ├── collection-requirements.yml │ │ └── main.yml │ ├── tasks │ │ ├── RedHat │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ ├── generic │ │ │ │ ├── assert-dns-name-resolution.yml │ │ │ │ ├── assert-etc-hosts.yml │ │ │ │ ├── assert-firewall.yml │ │ │ │ ├── assert-hostname.yml │ │ │ │ ├── assert-kernel-parameters-loop-block.yml │ │ │ │ ├── assert-kernel-parameters.yml │ │ │ │ ├── assert-limits-conf-file.yml │ │ │ │ ├── assert-nofile-limits.yml │ │ │ │ ├── assert-nproc-limits.yml │ │ │ │ ├── assert-selinux.yml │ │ │ │ ├── assert-systemd-tmpfiles.yml │ │ │ │ ├── assert-tmpfs.yml │ │ │ │ ├── assert-uuidd.yml │ │ │ │ ├── check-dns-name-resolution.yml │ │ │ │ ├── configure-firewall.yml │ │ │ │ ├── configure-hostname.yml │ │ │ │ ├── configure-kernel-parameters.yml │ │ │ │ ├── configure-selinux.yml │ │ │ │ ├── configure-systemd-tmpfiles.yml │ │ │ │ ├── configure-tmpfs.yml │ │ │ │ ├── configure-uuidd.yml │ │ │ │ ├── increase-nofile-limits.yml │ │ │ │ └── increase-nproc-limits.yml │ │ │ └── installation.yml │ │ ├── SLES │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ ├── generic │ │ │ │ ├── grub_update.yml │ │ │ │ ├── saptune_install.yml │ │ │ │ └── saptune_takeover.yml │ │ │ └── installation.yml │ │ ├── main.yml │ │ └── sapnote │ │ │ ├── 2002167 │ │ │ ├── 02-assert-configuration-changes.yml │ │ │ ├── 02-configuration-changes.yml │ │ │ ├── 03-assert-setting-the-hostname.yml │ │ │ ├── 03-setting-the-hostname.yml │ │ │ ├── 04-assert-linux-kernel-parameters.yml │ │ │ ├── 04-linux-kernel-parameters.yml │ │ │ ├── 05-assert-process-resource-limits.yml │ │ │ ├── 05-process-resource-limits.yml │ │ │ ├── 06-additional-notes-for-installing-sap-systems.yml │ │ │ └── 06-assert-additional-notes-for-installing-sap-systems.yml │ │ │ ├── 2578899 │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ └── installation.yml │ │ │ ├── 2772999 │ │ │ ├── 02-assert-selinux.yml │ │ │ ├── 02-configure-selinux.yml │ │ │ ├── 03-assert-hostname.yml │ │ │ ├── 03-configure-hostname.yml │ │ │ ├── 04-assert-network-time-and-date.yml │ │ │ ├── 04-configure-network-time-and-date.yml │ │ │ ├── 05-assert-firewall.yml │ │ │ ├── 05-configure-firewall.yml │ │ │ ├── 06-assert-uuidd.yml │ │ │ ├── 06-configure-uuidd.yml │ │ │ ├── 07-assert-tmpfs.yml │ │ │ ├── 07-configure-tmpfs.yml │ │ │ ├── 08-assert-linux-kernel-parameters.yml │ │ │ ├── 08-configure-linux-kernel-parameters.yml │ │ │ ├── 09-assert-process-resource-limits.yml │ │ │ ├── 09-configure-process-resource-limits.yml │ │ │ ├── 10-assert-systemd-tmpfiles.yml │ │ │ └── 10-configure-systemd-tmpfiles.yml │ │ │ ├── 3108316 │ │ │ ├── 02-assert-selinux.yml │ │ │ ├── 02-configure-selinux.yml │ │ │ ├── 03-assert-hostname.yml │ │ │ ├── 03-configure-hostname.yml │ │ │ ├── 04-assert-network-time-and-date.yml │ │ │ ├── 04-configure-network-time-and-date.yml │ │ │ ├── 05-assert-firewall.yml │ │ │ ├── 05-configure-firewall.yml │ │ │ ├── 06-assert-uuidd.yml │ │ │ ├── 06-configure-uuidd.yml │ │ │ ├── 07-assert-tmpfs.yml │ │ │ ├── 07-configure-tmpfs.yml │ │ │ ├── 08-assert-linux-kernel-parameters.yml │ │ │ ├── 08-configure-linux-kernel-parameters.yml │ │ │ ├── 09-assert-process-resource-limits.yml │ │ │ ├── 09-configure-process-resource-limits.yml │ │ │ ├── 10-assert-systemd-tmpfiles.yml │ │ │ └── 10-configure-systemd-tmpfiles.yml │ │ │ ├── 3562909 │ │ │ ├── 02-assert-selinux.yml │ │ │ ├── 02-configure-selinux.yml │ │ │ ├── 03-assert-hostname.yml │ │ │ ├── 03-configure-hostname.yml │ │ │ ├── 04-assert-network-time-and-date.yml │ │ │ ├── 04-configure-network-time-and-date.yml │ │ │ ├── 05-assert-firewall.yml │ │ │ ├── 05-configure-firewall.yml │ │ │ ├── 06-assert-uuidd.yml │ │ │ ├── 06-configure-uuidd.yml │ │ │ ├── 07-assert-tmpfs.yml │ │ │ ├── 07-configure-tmpfs.yml │ │ │ ├── 08-assert-linux-kernel-parameters.yml │ │ │ ├── 08-configure-linux-kernel-parameters.yml │ │ │ ├── 09-assert-process-resource-limits.yml │ │ │ ├── 09-configure-process-resource-limits.yml │ │ │ ├── 10-assert-systemd-tmpfiles.yml │ │ │ └── 10-configure-systemd-tmpfiles.yml │ │ │ ├── 0941735.yml │ │ │ ├── 1391070.yml │ │ │ ├── 1771258.yml │ │ │ ├── 2002167.yml │ │ │ ├── 2369910.yml │ │ │ ├── 2578899.yml │ │ │ ├── 2772999.yml │ │ │ ├── 3108316.yml │ │ │ ├── 3562909.yml │ │ │ ├── assert-0941735.yml │ │ │ ├── assert-1391070.yml │ │ │ ├── assert-1771258.yml │ │ │ ├── assert-2002167.yml │ │ │ ├── assert-2369910.yml │ │ │ ├── assert-2578899.yml │ │ │ ├── assert-2772999.yml │ │ │ ├── assert-3108316.yml │ │ │ └── assert-3562909.yml │ ├── tests │ │ ├── .pylintrc │ │ ├── beautify-assert-output.sh │ │ ├── run-sap_general_preconfigure-tests.py │ │ └── sap_general_preconfigure-default-settings.yml │ ├── tools │ │ └── beautify-assert-output.sh │ └── vars │ │ ├── RedHat_10.yml │ │ ├── RedHat_7.yml │ │ ├── RedHat_8.0.yml │ │ ├── RedHat_8.1.yml │ │ ├── RedHat_8.2.yml │ │ ├── RedHat_8.yml │ │ ├── RedHat_9.yml │ │ ├── SLES_15.yml │ │ ├── SLES_SAP_15.yml │ │ ├── SLES_SAP_16.yml │ │ └── main.yml ├── sap_ha_install_anydb_ibmdb2 │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── db2_hadr_enable.yml │ │ ├── db2_hadr_pcmk_cluster_create.yml │ │ ├── main.yml │ │ ├── passwordless_ssh.yml │ │ └── platform │ │ ├── ascertain_platform_type.yml │ │ ├── db2cm_cloud_aws_ec2_vs.yml │ │ ├── db2cm_cloud_gcp_ce_vm.yml │ │ ├── db2cm_cloud_ibmcloud_vs.yml │ │ └── db2cm_cloud_msazure_vm.yml ├── sap_ha_install_hana_hsr │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── configure_hsr.yml │ │ ├── hdbuserstore.yml │ │ ├── log_mode.yml │ │ ├── main.yml │ │ ├── pki_files.yml │ │ ├── run_backup.yml │ │ └── update_etchosts.yml ├── sap_ha_pacemaker_cluster │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── DEPRECATED_VARIABLES.md │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ ├── collection-requirements.yml │ │ └── main.yml │ ├── tasks │ │ ├── RedHat │ │ │ ├── post_steps_hana_scaleup.yml │ │ │ ├── pre_steps_hana.yml │ │ │ └── pre_steps_nwas_ascs_ers.yml │ │ ├── Suse │ │ │ ├── post_steps_hana_scaleup.yml │ │ │ ├── post_steps_nwas_abap_ascs_ers.yml │ │ │ ├── post_steps_nwas_java_scs_ers.yml │ │ │ └── pre_steps_hana.yml │ │ ├── ascertain_sap_landscape.yml │ │ ├── configure_nwas_abap_ascs_ers_post_install.yml │ │ ├── configure_nwas_java_scs_ers_post_install.yml │ │ ├── configure_srhook.yml │ │ ├── construct_final_hacluster_vars.yml │ │ ├── construct_vars_common.yml │ │ ├── construct_vars_hana_common.yml │ │ ├── construct_vars_hana_scaleout.yml │ │ ├── construct_vars_hana_scaleup.yml │ │ ├── construct_vars_hana_scaleup_angi.yml │ │ ├── construct_vars_haproxy_constraints_hana.yml │ │ ├── construct_vars_nwas_abap_ascs_ers.yml │ │ ├── construct_vars_nwas_abap_ascs_ers_simple_mount.yml │ │ ├── construct_vars_nwas_abap_pas_aas.yml │ │ ├── construct_vars_nwas_common.yml │ │ ├── construct_vars_nwas_java_scs_ers.yml │ │ ├── construct_vars_nwas_java_scs_ers_simple_mount.yml │ │ ├── construct_vars_stonith.yml │ │ ├── construct_vars_vip_constraints_hana.yml │ │ ├── construct_vars_vip_groups.yml │ │ ├── construct_vars_vip_resources_default.yml │ │ ├── import_hacluster_vars_from_inventory.yml │ │ ├── include_construct_vip_resources.yml │ │ ├── include_vars_common.yml │ │ ├── include_vars_hana.yml │ │ ├── include_vars_nwas.yml │ │ ├── main.yml │ │ ├── platform │ │ │ ├── ascertain_platform_type.yml │ │ │ ├── construct_vars_vip_resources_cloud_aws_ec2_vs.yml │ │ │ ├── construct_vars_vip_resources_cloud_gcp_ce_vm.yml │ │ │ ├── construct_vars_vip_resources_cloud_ibmcloud_powervs.yml │ │ │ ├── construct_vars_vip_resources_cloud_ibmcloud_vs.yml │ │ │ ├── construct_vars_vip_resources_cloud_msazure_vm.yml │ │ │ ├── construct_vars_vip_resources_hyp_ibmpower_vm.yml │ │ │ ├── include_vars_platform.yml │ │ │ ├── preconfigure_cloud_aws_ec2_vs.yml │ │ │ ├── preconfigure_cloud_gcp_ce_vm.yml │ │ │ ├── preconfigure_cloud_ibmcloud_powervs.yml │ │ │ ├── preconfigure_cloud_ibmcloud_vs.yml │ │ │ ├── preconfigure_cloud_msazure_vm.yml │ │ │ ├── register_sysinfo_cloud_ibmcloud_powervs.yml │ │ │ ├── register_sysinfo_cloud_ibmcloud_vs.yml │ │ │ └── register_sysinfo_hyp_ibmpower_vm.yml │ │ ├── pre_steps_nwas_cs_ers.yml │ │ └── validate_input_parameters.yml │ ├── templates │ │ ├── cluster_create_config.j2 │ │ └── sudofile_20-saphana.j2 │ └── vars │ │ ├── RedHat.yml │ │ ├── SLES_15.yml │ │ ├── SLES_16.yml │ │ ├── Suse.yml │ │ ├── hana_scaleout_perf.yml │ │ ├── hana_scaleup_perf.yml │ │ ├── main.yml │ │ ├── nwas_abap_ascs_ers.yml │ │ ├── nwas_common.yml │ │ ├── nwas_java_scs_ers.yml │ │ ├── platform_cloud_aws_ec2_vs.yml │ │ ├── platform_cloud_gcp_ce_vm.yml │ │ ├── platform_cloud_ibmcloud_powervs.yml │ │ ├── platform_cloud_ibmcloud_vs.yml │ │ ├── platform_cloud_msazure_vm.yml │ │ └── platform_hyp_ibmpower_vm.yml ├── sap_hana_install │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── files │ │ └── tmp │ │ │ └── tail-f-hdblcm-install-trc.sh │ ├── meta │ │ ├── argument_specs.yml │ │ ├── collection-requirements.yml │ │ └── main.yml │ ├── tasks │ │ ├── assert-addhosts-loop-block.yml │ │ ├── hana_addhosts.yml │ │ ├── hana_exists.yml │ │ ├── hana_install.yml │ │ ├── main.yml │ │ ├── post_install.yml │ │ ├── post_install │ │ │ ├── firewall.yml │ │ │ ├── hdbuserstore.yml │ │ │ ├── license.yml │ │ │ ├── log_mode.yml │ │ │ ├── recreate_tenant_database.yml │ │ │ ├── update_etchosts.yml │ │ │ └── update_firewall.yml │ │ ├── pre_install-loop-block.yml │ │ ├── pre_install.yml │ │ └── pre_install │ │ │ ├── extract_sarfile.yml │ │ │ ├── hdblcm_configfile.yml │ │ │ ├── hdblcm_prepare.yml │ │ │ ├── prepare_sapcar.yml │ │ │ ├── prepare_sarfiles.yml │ │ │ └── verify_checksum.yml │ ├── templates │ │ ├── fapolicyd-rules.j2 │ │ └── sap-nw-input.j2 │ ├── tests │ │ ├── README.md │ │ ├── install │ │ │ ├── README.md │ │ │ ├── hana-uninstall.yml │ │ │ ├── install-vars.yml │ │ │ ├── prepare-install-test-01.yml │ │ │ ├── prepare-install-test-02.yml │ │ │ ├── prepare-install-test-03.yml │ │ │ ├── prepare-install-tests-ppc64le.yml │ │ │ ├── prepare-install-tests-x86_64.yml │ │ │ ├── remove-all-firewall-ports.yml │ │ │ ├── run-install-test-01.yml │ │ │ ├── run-install-test-02.yml │ │ │ ├── run-install-test-03.yml │ │ │ └── run-sap_hana_install-install-tests.py │ │ └── sapcar │ │ │ ├── prepare-sapcar-tests.yml │ │ │ ├── prepare-test-01.yml │ │ │ ├── prepare-test-02.yml │ │ │ ├── prepare-test-03.yml │ │ │ ├── prepare-test-04.yml │ │ │ ├── prepare-test-05.yml │ │ │ ├── run-sap_hana_install-sapcar-tests.py │ │ │ ├── run-sapcar-test.yml │ │ │ └── sapcar-vars.yml │ └── vars │ │ └── main.yml ├── sap_hana_preconfigure │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── files │ │ └── etc │ │ │ └── tuned │ │ │ └── sap-hana-ppc64le │ │ │ └── tuned.conf │ ├── handlers │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ ├── collection-requirements.yml │ │ └── main.yml │ ├── tasks │ │ ├── RedHat │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ ├── generic │ │ │ │ ├── assert-2055470-loop-block.yml │ │ │ │ ├── assert-2382421-loop-block.yml │ │ │ │ ├── assert-2777782-01-loop-block.yml │ │ │ │ ├── assert-3024346-loop-block.yml │ │ │ │ ├── assert-abrt-ccpp.yml │ │ │ │ ├── assert-abrtd.yml │ │ │ │ ├── assert-auto-numa-balancing.yml │ │ │ │ ├── assert-c-states-for-lower-latency.yml │ │ │ │ ├── assert-coredumps.yml │ │ │ │ ├── assert-cpu-governor-for-performance.yml │ │ │ │ ├── assert-epb.yml │ │ │ │ ├── assert-firewalld.yml │ │ │ │ ├── assert-kdump.yml │ │ │ │ ├── assert-ksm.yml │ │ │ │ ├── assert-selinux.yml │ │ │ │ ├── assert-services.yml │ │ │ │ ├── assert-thp.yml │ │ │ │ ├── assert-tsx.yml │ │ │ │ ├── assert-tuned.yml │ │ │ │ ├── configure-c-states-for-lower-latency.yml │ │ │ │ ├── configure-cpu-governor-for-performance.yml │ │ │ │ ├── configure-epb.yml │ │ │ │ ├── configure-selinux.yml │ │ │ │ ├── configure-thp.yml │ │ │ │ ├── configure-tuned.yml │ │ │ │ ├── disable-abrt-ccpp.yml │ │ │ │ ├── disable-abrtd.yml │ │ │ │ ├── disable-coredumps.yml │ │ │ │ ├── disable-firewalld.yml │ │ │ │ ├── disable-kdump.yml │ │ │ │ ├── disable-ksm.yml │ │ │ │ ├── disable-services.yml │ │ │ │ ├── disable-thp.yml │ │ │ │ ├── enable-tsx.yml │ │ │ │ └── turn-off-auto-numa-balancing.yml │ │ │ └── installation.yml │ │ ├── SLES │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ ├── generic │ │ │ │ ├── grub_update.yml │ │ │ │ ├── saptune_install.yml │ │ │ │ └── saptune_takeover.yml │ │ │ └── installation.yml │ │ ├── main.yml │ │ └── sapnote │ │ │ ├── 1944799 │ │ │ ├── assert-installation.yml │ │ │ └── installation.yml │ │ │ ├── 2292690 │ │ │ ├── 01-assert-tuned.yml │ │ │ ├── 01-configure-tuned.yml │ │ │ ├── 02-assert-auto-numa-balancing.yml │ │ │ ├── 02-turn-off-auto-numa-balancing.yml │ │ │ ├── 03-assert-thp.yml │ │ │ ├── 03-disable-thp.yml │ │ │ ├── 04-assert-c-states-for-lower-latency.yml │ │ │ ├── 04-configure-c-states-for-lower-latency.yml │ │ │ ├── 05-assert-cpu-governor.yml │ │ │ ├── 05-configure-cpu-governor.yml │ │ │ ├── 06-assert-epb.yml │ │ │ ├── 06-configure-epb.yml │ │ │ ├── 07-assert-ksm.yml │ │ │ ├── 07-disable-ksm.yml │ │ │ ├── 09-assert-etc-sudoers.yml │ │ │ ├── 09-check-etc-sudoers.yml │ │ │ ├── 10-assert-ibm-energyscale.yml │ │ │ └── 10-ibm-energyscale.yml │ │ │ ├── 2684254 │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ └── installation.yml │ │ │ ├── 2777782 │ │ │ ├── 01-assert-selinux.yml │ │ │ ├── 01-configure-selinux.yml │ │ │ ├── 02-assert-tuned.yml │ │ │ ├── 02-configure-tuned.yml │ │ │ ├── 03-assert-abrt-coredumps-kdump.yml │ │ │ ├── 03-disable-abrt-coredumps-kdump.yml │ │ │ ├── 04-assert-auto-numa-balancing.yml │ │ │ ├── 04-turn-off-auto-numa-balancing.yml │ │ │ ├── 05-assert-thp.yml │ │ │ ├── 05-configure-thp.yml │ │ │ ├── 06-assert-c-states-for-lower-latency.yml │ │ │ ├── 06-configure-c-states-for-lower-latency.yml │ │ │ ├── 07-assert-cpu-governor.yml │ │ │ ├── 07-configure-cpu-governor.yml │ │ │ ├── 08-assert-epb.yml │ │ │ ├── 08-configure-epb.yml │ │ │ ├── 09-assert-ksm.yml │ │ │ ├── 09-disable-ksm.yml │ │ │ ├── 10-assert-pidmax.yml │ │ │ ├── 10-increase-pidmax.yml │ │ │ ├── 11-assert-tsx.yml │ │ │ └── 11-enable-tsx.yml │ │ │ ├── 3108302 │ │ │ ├── 01-assert-selinux.yml │ │ │ ├── 01-configure-selinux.yml │ │ │ ├── 02-assert-tuned.yml │ │ │ ├── 02-configure-tuned.yml │ │ │ ├── 03-assert-abrt-coredumps-kdump.yml │ │ │ ├── 03-disable-abrt-coredumps-kdump.yml │ │ │ ├── 04-assert-auto-numa-balancing.yml │ │ │ ├── 04-turn-off-auto-numa-balancing.yml │ │ │ ├── 05-assert-thp.yml │ │ │ ├── 05-configure-thp.yml │ │ │ ├── 06-assert-c-states-for-lower-latency.yml │ │ │ ├── 06-configure-c-states-for-lower-latency.yml │ │ │ ├── 07-assert-cpu-governor.yml │ │ │ ├── 07-configure-cpu-governor.yml │ │ │ ├── 08-assert-epb.yml │ │ │ ├── 08-configure-epb.yml │ │ │ ├── 09-assert-ksm.yml │ │ │ ├── 09-disable-ksm.yml │ │ │ ├── 10-assert-pidmax.yml │ │ │ ├── 10-increase-pidmax.yml │ │ │ ├── 11-assert-tsx.yml │ │ │ └── 11-enable-tsx.yml │ │ │ ├── 3562919 │ │ │ ├── 01-assert-selinux.yml │ │ │ ├── 01-configure-selinux.yml │ │ │ ├── 02-assert-tuned.yml │ │ │ ├── 02-configure-tuned.yml │ │ │ ├── 03-assert-abrt-coredumps-kdump.yml │ │ │ ├── 03-disable-abrt-coredumps-kdump.yml │ │ │ ├── 04-assert-auto-numa-balancing.yml │ │ │ ├── 04-turn-off-auto-numa-balancing.yml │ │ │ ├── 05-assert-thp.yml │ │ │ ├── 05-configure-thp.yml │ │ │ ├── 06-assert-c-states-for-lower-latency.yml │ │ │ ├── 06-configure-c-states-for-lower-latency.yml │ │ │ ├── 07-assert-cpu-governor.yml │ │ │ ├── 07-configure-cpu-governor.yml │ │ │ ├── 08-assert-epb.yml │ │ │ ├── 08-configure-epb.yml │ │ │ ├── 09-assert-ksm.yml │ │ │ ├── 09-disable-ksm.yml │ │ │ ├── 10-assert-pidmax.yml │ │ │ ├── 10-increase-pidmax.yml │ │ │ ├── 11-assert-tsx.yml │ │ │ └── 11-enable-tsx.yml │ │ │ ├── 1944799.yml │ │ │ ├── 2009879.yml │ │ │ ├── 2009879_7.yml │ │ │ ├── 2055470.yml │ │ │ ├── 2292690.yml │ │ │ ├── 2382421.yml │ │ │ ├── 2684254.yml │ │ │ ├── 2777782.yml │ │ │ ├── 3024346.yml │ │ │ ├── 3108302.yml │ │ │ ├── 3562919.yml │ │ │ ├── assert-1944799.yml │ │ │ ├── assert-2009879.yml │ │ │ ├── assert-2009879_7.yml │ │ │ ├── assert-2055470.yml │ │ │ ├── assert-2292690.yml │ │ │ ├── assert-2382421.yml │ │ │ ├── assert-2684254.yml │ │ │ ├── assert-2777782.yml │ │ │ ├── assert-3024346.yml │ │ │ ├── assert-3108302.yml │ │ │ └── assert-3562919.yml │ ├── tests │ │ ├── .pylintrc │ │ ├── beautify-assert-output.sh │ │ ├── run-sap_hana_preconfigure-tests.py │ │ └── sap_hana_preconfigure-default-settings.yml │ ├── tools │ │ └── beautify-assert-output.sh │ └── vars │ │ ├── RedHat_10.yml │ │ ├── RedHat_7.yml │ │ ├── RedHat_8.yml │ │ ├── RedHat_9.0.yml │ │ ├── RedHat_9.yml │ │ ├── SLES_15.yml │ │ ├── SLES_SAP_15.yml │ │ ├── SLES_SAP_16.yml │ │ └── main.yml ├── sap_hostagent │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── CONTRIBUTING.md │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── common_post.yml │ │ ├── common_pre.yml │ │ ├── config_ssl.yml │ │ ├── deploy_bundle.yml │ │ ├── deploy_rpm.yml │ │ ├── deploy_sar.yml │ │ ├── deploy_sar_remote.yml │ │ └── main.yml ├── sap_install_media_detect │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── files │ │ └── tmp │ │ │ └── sapfile │ ├── meta │ │ └── main.yml │ └── tasks │ │ ├── cleanup │ │ ├── disable-epel-repo.yml │ │ └── remove_sapfile_utility.yml │ │ ├── find_files_after_extraction.yml │ │ ├── main.yml │ │ ├── organize_files.yml │ │ ├── prepare │ │ ├── check_directories.yml │ │ ├── create_file_list_phase_1.yml │ │ ├── create_file_list_phase_2.yml │ │ ├── enable_rar_handling.yml │ │ ├── enable_zip_handling.yml │ │ ├── move_files_to_main_directory.yml │ │ └── provide_sapfile_utility.yml │ │ ├── rename │ │ ├── add_exe_extension_loop_block.yml │ │ ├── add_file_extension.yml │ │ ├── add_rar_extension_loop_block.yml │ │ └── add_zip_extension_loop_block.yml │ │ └── set_global_vars.yml ├── sap_maintain_etc_hosts │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ └── main.yml │ ├── tasks │ │ ├── main.yml │ │ ├── update_host_absent.yml │ │ └── update_host_present.yml │ ├── tests │ │ ├── README.md │ │ ├── inventory │ │ ├── test.hosts │ │ └── test.yml │ └── vars │ │ └── main.yml ├── sap_netweaver_preconfigure │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ └── main.yml │ ├── tasks │ │ ├── RedHat │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ └── installation.yml │ │ ├── SLES │ │ │ ├── assert-configuration.yml │ │ │ ├── assert-installation.yml │ │ │ ├── configuration.yml │ │ │ ├── generic │ │ │ │ ├── grub_update.yml │ │ │ │ ├── saptune_install.yml │ │ │ │ └── saptune_takeover.yml │ │ │ └── installation.yml │ │ ├── main.yml │ │ └── sapnote │ │ │ ├── 2526952.yml │ │ │ ├── 3119751.yml │ │ │ ├── assert-2526952.yml │ │ │ └── assert-3119751.yml │ ├── tests │ │ ├── .pylintrc │ │ ├── beautify-assert-output.sh │ │ ├── run-sap_netweaver_preconfigure-tests.py │ │ └── sap_netweaver_preconfigure-default-settings.yml │ ├── tools │ │ └── beautify-assert-output.sh │ └── vars │ │ ├── RedHat_10.yml │ │ ├── RedHat_7.yml │ │ ├── RedHat_8.yml │ │ ├── RedHat_9.yml │ │ ├── SLES_15.yml │ │ ├── SLES_SAP_15.yml │ │ ├── SLES_SAP_16.yml │ │ └── main.yml ├── sap_storage_setup │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── meta │ │ ├── argument_specs.yml │ │ └── main.yml │ ├── tasks │ │ ├── generic_tasks │ │ │ ├── configure_local_filesystems.yml │ │ │ ├── configure_multipathing.yml │ │ │ ├── configure_nfs_filesystems.yml │ │ │ ├── configure_swap.yml │ │ │ ├── map_single_disks_to_filesystems.yml │ │ │ └── remove_storage.yml │ │ ├── main.yml │ │ └── platform_tasks │ │ │ ├── aws_main.yml │ │ │ ├── az_main.yml │ │ │ ├── prepare_storage_az.yml │ │ │ └── remove_storage_az.yml │ └── vars │ │ ├── RedHat.yml │ │ └── Suse.yml └── sap_swpm │ ├── .ansible-lint │ ├── .yamllint.yml │ ├── README.md │ ├── defaults │ └── main.yml │ ├── meta │ ├── collection-requirements.yml │ └── main.yml │ ├── tasks │ ├── main.yml │ ├── post_install.yml │ ├── post_install │ │ ├── firewall.yml │ │ ├── sum_push_to_finish.yml │ │ └── update_firewall.yml │ ├── pre_install.yml │ ├── pre_install │ │ ├── assert_hostname_resolution_for_ha.yml │ │ ├── create_os_user.yml │ │ ├── detect_variables_from_inifile.yml │ │ ├── firewall.yml │ │ ├── generate_inifile.yml │ │ ├── install_type.yml │ │ ├── install_type │ │ │ ├── general_install.yml │ │ │ ├── ha_install.yml │ │ │ ├── ha_maint_plan_stack_install.yml │ │ │ ├── maint_plan_stack_install.yml │ │ │ └── restore_install.yml │ │ ├── prepare_software.yml │ │ ├── swpm_prepare.yml │ │ ├── update_etchosts.yml │ │ └── update_firewall.yml │ └── swpm.yml │ └── templates │ └── inifile_params.j2 ├── tests ├── .gitkeep └── sanity │ ├── ignore-2.10.txt │ ├── ignore-2.11.txt │ ├── ignore-2.12.txt │ ├── ignore-2.13.txt │ └── ignore-2.9.txt ├── tools └── swpm2_parameters_inifile_generate.py └── workflows └── check_outdate_deps ├── Dockerfile ├── action.yml └── check_deps.py /.gitattributes: -------------------------------------------------------------------------------- 1 | *.yml linguist-detectable -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_general_preconfigure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_general_preconfigure 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_general_preconfigure/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_general_preconfigure/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_general_preconfigure/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_general_preconfigure 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_ha_install_hana_hsr.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_ha_install_hana_hsr 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_ha_install_hana_hsr/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_ha_install_hana_hsr/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_ha_install_hana_hsr/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_ha_install_hana_hsr 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_ha_pacemaker_cluster.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_ha_pacemaker_cluster 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_ha_pacemaker_cluster/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_ha_pacemaker_cluster/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_ha_pacemaker_cluster/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_ha_pacemaker_cluster 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_hana_install.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_hana_install 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_hana_install/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_hana_install/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_hana_install/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_hana_install 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_hana_preconfigure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_hana_preconfigure 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_hana_preconfigure/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_hana_preconfigure/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_hana_preconfigure/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_hana_preconfigure 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_install_media_detect.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_install_media_detect 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_install_media_detect/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_install_media_detect/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_install_media_detect/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_install_media_detect 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_maintain_etc_hosts.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_maintain_etc_hosts 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_maintain_etc_hosts/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_maintain_etc_hosts/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_maintain_etc_hosts/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_maintain_etc_hosts 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_netweaver_preconfigure.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_netweaver_preconfigure 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_netweaver_preconfigure/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_netweaver_preconfigure/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_netweaver_preconfigure/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_netweaver_preconfigure 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_reusable_workflow.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role 4 | 5 | name: ansible-lint reusable workflow for role 6 | 7 | on: 8 | workflow_call: 9 | inputs: 10 | role: 11 | required: true 12 | type: string 13 | 14 | jobs: 15 | ansible-lint: 16 | runs-on: ubuntu-latest 17 | 18 | steps: 19 | - name: Check out the code 20 | uses: actions/checkout@v4 21 | 22 | - name: Set up Python 3 23 | uses: actions/setup-python@v5 24 | with: 25 | python-version: '3.12' 26 | 27 | - name: Install test dependencies 28 | run: | 29 | pip3 install ansible==9.1.0 30 | pip3 install ansible-compat==4.1.11 31 | pip3 install ansible-core==2.16.2 32 | pip3 install ansible-lint==6.22.2 33 | 34 | - name: Run ansible-lint 35 | working-directory: /home/runner/work/community.sap_install/community.sap_install/roles/${{ inputs.role }} 36 | run: ansible-lint 37 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_storage_setup.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_storage_setup 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_storage_setup/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_storage_setup/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_storage_setup/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_storage_setup 32 | -------------------------------------------------------------------------------- /.github/workflows/ansible-lint-sap_swpm.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | # Workflow for ansible-lint of a role, using reusable workflow 4 | 5 | name: ansible-lint of the role sap_swpm 6 | 7 | on: 8 | push: 9 | branches: 10 | - main 11 | - dev 12 | paths: 13 | - 'roles/sap_swpm/**' 14 | pull_request: 15 | branches: 16 | - main 17 | - dev 18 | paths: 19 | - 'roles/sap_swpm/**' 20 | workflow_dispatch: 21 | branches: 22 | - main 23 | - dev 24 | paths: 25 | - 'roles/sap_swpm/**' 26 | 27 | jobs: 28 | ansible-lint-exec: 29 | uses: sap-linuxlab/community.sap_install/.github/workflows/ansible-lint-sap_reusable_workflow.yml@main 30 | with: 31 | role: sap_swpm 32 | -------------------------------------------------------------------------------- /.github/workflows/check_outdated_dependencies.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | name: Check outdated dependencies 4 | 5 | on: 6 | schedule: 7 | - cron: '0 7 1,15 * *' 8 | 9 | workflow_dispatch: 10 | 11 | jobs: 12 | check_outdate_dependencies: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - name: Check out the code 17 | uses: actions/checkout@main 18 | with: 19 | ref: "dev" 20 | 21 | - name: Check workflow dependencies 22 | uses: ./workflows/check_outdate_deps 23 | env: 24 | GITHUB_REPOSITORY: ${{ github.repository }} 25 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 26 | GITHUB_SHA: ${{ secrets.GITHUB_SHA }} 27 | REQUIREMENT_FILE: "requirements-workflow.txt" 28 | OPEN_PR: "True" 29 | OPEN_PR_BASE: "dev" 30 | -------------------------------------------------------------------------------- /.github/workflows/codespell.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | name: CodeSpell 4 | 5 | on: 6 | push: 7 | branches: 8 | - dev 9 | pull_request: 10 | branches: 11 | - dev 12 | 13 | jobs: 14 | codespell: 15 | name: Check for spelling errors 16 | runs-on: ubuntu-latest 17 | 18 | steps: 19 | - uses: actions/checkout@v3 20 | - uses: codespell-project/actions-codespell@master 21 | with: 22 | ignore_words_list: aas,hsa,te,chage,addopt,sybsystem,uptodate 23 | -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- 1 | [MASTER] 2 | disable= 3 | C0103, # invalid-name 4 | -------------------------------------------------------------------------------- /.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /changelogs/.plugin-cache.yaml: -------------------------------------------------------------------------------- 1 | objects: 2 | role: {} 3 | plugins: 4 | become: {} 5 | cache: {} 6 | callback: {} 7 | cliconf: {} 8 | connection: {} 9 | httpapi: {} 10 | inventory: {} 11 | lookup: {} 12 | module: {} 13 | netconf: {} 14 | shell: {} 15 | strategy: {} 16 | vars: {} 17 | version: 1.1.0 18 | -------------------------------------------------------------------------------- /changelogs/config.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | changelog_filename_template: ../CHANGELOG.rst 4 | changelog_filename_version_depth: 0 5 | changes_file: changelog.yaml 6 | changes_format: combined 7 | ignore_other_fragment_extensions: true 8 | keep_fragments: false 9 | mention_ancestor: true 10 | new_plugins_after_name: removed_features 11 | notesdir: fragments 12 | prelude_section_name: release_summary 13 | prelude_section_title: Release Summary 14 | sanitize_changelog: true 15 | sections: 16 | - - major_changes 17 | - Major Changes 18 | - - minor_changes 19 | - Minor Changes 20 | - - breaking_changes 21 | - Breaking Changes / Porting Guide 22 | - - deprecated_features 23 | - Deprecated Features 24 | - - removed_features 25 | - Removed Features (previously deprecated) 26 | - - security_fixes 27 | - Security Fixes 28 | - - bugfixes 29 | - Bugfixes 30 | - - known_issues 31 | - Known Issues 32 | title: community.sap_install 33 | trivial_section_name: trivial 34 | use_fqcn: true 35 | -------------------------------------------------------------------------------- /docs/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/docs/.gitkeep -------------------------------------------------------------------------------- /meta/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/meta/.gitkeep -------------------------------------------------------------------------------- /meta/runtime.yml: -------------------------------------------------------------------------------- 1 | --- 2 | requires_ansible: '>=2.12.0' 3 | -------------------------------------------------------------------------------- /playbooks/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/playbooks/.gitkeep -------------------------------------------------------------------------------- /playbooks/sample-sap-hana-install.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - name: Ansible Play for executing SAP HANA installation to all hosts in Ansible Inventory 4 | hosts: all 5 | become: true 6 | pre_tasks: 7 | - name: Include variables 8 | ansible.builtin.include_vars: ./vars/sample-variables-sap-hana-install.yml 9 | roles: 10 | - { role: ../roles/sap_hana_install } 11 | -------------------------------------------------------------------------------- /playbooks/sample-sap-hana-preconfigure.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - name: Ansible Play for executing preconfiguration activities for SAP HANA to all hosts in Ansible Inventory 4 | hosts: all 5 | become: true 6 | vars: 7 | sap_general_preconfigure_fail_if_reboot_required: no 8 | sap_hana_preconfigure_fail_if_reboot_required: no 9 | sap_hana_preconfigure_update: yes 10 | sap_netweaver_preconfigure_fail_if_not_enough_swap_space_configured: no 11 | roles: 12 | - { role: community.sap_install.sap_general_preconfigure } 13 | - { role: community.sap_install.sap_hana_preconfigure } 14 | - { role: community.sap_install.sap_netweaver_preconfigure } 15 | -------------------------------------------------------------------------------- /playbooks/sample-sap-swpm-advanced-mode.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Ansible Playbook for executing sap_swpm Ansible in "Advanced Mode" 4 | 5 | - name: Ansible Play for executing SAP SWPM to all hosts in Ansible Inventory 6 | hosts: all 7 | become: true 8 | 9 | vars: 10 | sap_swpm_ansible_role_mode: advanced 11 | 12 | tasks: 13 | 14 | - name: Import variables for sap_swpm Ansible Role (Advanced Mode) 15 | ansible.builtin.include_vars: 16 | # file: ./sample-variables-sap-swpm-advanced-mode-s4hana-install.yml 17 | 18 | - name: Execute Ansible Role sap_install_media_detect 19 | ansible.builtin.include_role: 20 | name: { role: community.sap_install.sap_install_media_detect } 21 | 22 | - name: Execute Ansible Role sap_swpm 23 | ansible.builtin.include_role: 24 | name: { role: community.sap_install.sap_swpm } 25 | -------------------------------------------------------------------------------- /playbooks/sample-sap-swpm-inifile-reuse-mode.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Ansible Playbook for executing sap_swpm Ansible in "Inifile Reuse Mode" 4 | 5 | - name: Ansible Play for executing SAP SWPM to all hosts in Ansible Inventory 6 | hosts: all 7 | become: true 8 | 9 | vars: 10 | sap_swpm_ansible_role_mode: inifile_reuse 11 | # sap_swpm_inifile_reuse_source: ./sample-sap-swpm-inifile-reuse-mode-sample.inifile.params 12 | 13 | tasks: 14 | 15 | - name: Execute Ansible Role sap_install_media_detect 16 | ansible.builtin.include_role: 17 | name: { role: community.sap_install.sap_install_media_detect } 18 | 19 | - name: Execute Ansible Role sap_swpm 20 | ansible.builtin.include_role: 21 | name: { role: community.sap_install.sap_swpm } 22 | -------------------------------------------------------------------------------- /plugins/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/plugins/.gitkeep -------------------------------------------------------------------------------- /plugins/inventory/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/plugins/inventory/.gitkeep -------------------------------------------------------------------------------- /plugins/module_utils/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/plugins/module_utils/.gitkeep -------------------------------------------------------------------------------- /plugins/modules/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/plugins/modules/.gitkeep -------------------------------------------------------------------------------- /requirements-dev.txt: -------------------------------------------------------------------------------- 1 | ansible-test 2 | -------------------------------------------------------------------------------- /requirements-workflow.txt: -------------------------------------------------------------------------------- 1 | ansible==9.5.1 2 | ansible-compat==24.7.0 3 | ansible-core==2.16.9 4 | ansible-lint==24.7.0 5 | -------------------------------------------------------------------------------- /requirements.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | collections: 4 | - name: fedora.linux_system_roles 5 | version: '>=1.13.0' 6 | type: galaxy 7 | - name: community.general 8 | version: '>=9.0.0' 9 | type: galaxy 10 | -------------------------------------------------------------------------------- /roles/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/roles/.gitkeep -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | sap_anydb_install_oracle_prep_reboot_ok: true 5 | 6 | sap_anydb_install_oracle_prep_fail_if_reboot_required: false 7 | 8 | sap_anydb_install_oracle_prep_precheck: false 9 | 10 | # minimal, responsefile 11 | sap_anydb_install_oracle_method: minimal 12 | 13 | sap_anydb_install_oracle_sid: OR1 14 | 15 | sap_anydb_install_oracle_base: /oracle 16 | 17 | sap_anydb_install_oracle_filesystem_storage: /oradata 18 | 19 | sap_anydb_install_oracle_inventory_central: /oraInventory 20 | 21 | sap_anydb_install_oracle_system_password: 22 | 23 | sap_anydb_install_oracle_extract_path: # e.g. /software 24 | 25 | sap_anydb_install_oracle_patch_opatch_zip: # e.g. OPATCH19P_2308-70004508.ZIP 26 | 27 | sap_anydb_install_oracle_patch_sap_zip: # e.g. SAP19P_2311-70004508.ZIP 28 | 29 | sap_anydb_install_oracle_patch_enable: false 30 | -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/handlers/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # handlers file for sap_anydb_install_oracle 4 | 5 | - name: Reboot the managed node 6 | ansible.builtin.reboot: 7 | test_command: /bin/true 8 | listen: __sap_anydb_install_oracle_reboot_handler 9 | when: 10 | - sap_anydb_install_oracle_prep_reboot_ok | d(false) 11 | 12 | - name: Let the role fail if a reboot is required 13 | ansible.builtin.fail: 14 | msg: Reboot is required! 15 | listen: __sap_anydb_install_oracle_reboot_handler 16 | when: 17 | - sap_anydb_install_oracle_prep_fail_if_reboot_required | d(true) 18 | - not sap_anydb_install_oracle_prep_reboot_ok | d(false) 19 | 20 | - name: Show a warning message if a reboot is required 21 | ansible.builtin.debug: 22 | msg: "WARN: Reboot is required!" 23 | listen: __sap_anydb_install_oracle_reboot_handler 24 | when: 25 | - not sap_anydb_install_oracle_prep_fail_if_reboot_required | d(true) 26 | - not sap_anydb_install_oracle_prep_reboot_ok | d(false) 27 | -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Sean Freeman 6 | description: Installation of SAP AnyDB - OracleDB 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 8, 9 ] 13 | galaxy_tags: [ 'sap', 'anydb', 'oracle', 'oracledb', 'rhel', 'redhat', 'sles', 'suse' ] 14 | dependencies: [] 15 | -------------------------------------------------------------------------------- /roles/sap_anydb_install_oracle/tasks/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Oracle DB - Pre-installation 5 | ansible.builtin.include_tasks: "oracledb_install_pre.yml" 6 | 7 | # Allow reboot after pre-installation activities 8 | - name: Flush handlers for reboot 9 | ansible.builtin.meta: flush_handlers 10 | 11 | - name: Oracle DB - Installation 12 | ansible.builtin.include_tasks: "oracledb_installer_{{ sap_anydb_install_oracle_method }}.yml" 13 | 14 | - name: Oracle DB - Post installation MOPatch 15 | ansible.builtin.include_tasks: "oracledb_install_post_mopatch.yml" 16 | when: (sap_anydb_install_oracle_patch_enable | bool) 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/files/etc/tmpfiles.d/sap.conf: -------------------------------------------------------------------------------- 1 | # systemd.tmpfiles exclude file for SAP 2 | # SAP software stores some important files in /tmp which should not be deleted automatically. 3 | # This file has been created using role sap_general_preconfigure in RHEL System Roles for SAP. 4 | # Do not change this file as it might be overwritten when running role sap_general_preconfigure again. 5 | 6 | # Exclude SAP socket and lock files 7 | x /tmp/.sap* 8 | 9 | # Exclude HANA lock file 10 | x /tmp/.hdb*lock 11 | 12 | # Exclude TREX lock file 13 | x /tmp/.trex*lock 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/files/etc/tmpfiles.d/sap_RedHat_9.conf: -------------------------------------------------------------------------------- 1 | # systemd.tmpfiles exclude file for SAP 2 | # SAP software stores some important files in /tmp which should not be deleted automatically. 3 | # This file has been created using role sap_general_preconfigure in RHEL System Roles for SAP. 4 | # Do not change this file as it might be overwritten when running role sap_general_preconfigure again. 5 | 6 | # Exclude SAP socket and lock files 7 | x /tmp/.sap* 8 | 9 | # Exclude TREX lock file 10 | x /tmp/.trex*lock 11 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/files/tmp/hostnamectl-fix.pp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/roles/sap_general_preconfigure/files/tmp/hostnamectl-fix.pp -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/files/tmp/hostnamectl-fix.te: -------------------------------------------------------------------------------- 1 | 2 | module hostnamectl-fix 1.0; 3 | 4 | require { 5 | type initrc_t; 6 | type systemd_hostnamed_t; 7 | class dbus send_msg; 8 | } 9 | 10 | #============= systemd_hostnamed_t ============== 11 | allow systemd_hostnamed_t initrc_t:dbus send_msg; 12 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/meta/collection-requirements.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | collections: 5 | - name: fedora.linux_system_roles 6 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, Bernd Finger, Markus Koch, Rainer Leber 6 | description: Prepare Linux OS (RHEL, SLES) with common configurations required for either SAP NetWeaver or SAP HANA installation 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 7, 8, 9 ] 13 | - name: SLES 14 | versions: [ 15SP3 ] 15 | galaxy_tags: [ 'sap', 'rhel', 'redhat', 'sles', 'suse' ] 16 | dependencies: [] 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/RedHat/assert-configuration.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Gather package facts again after the installation phase 5 | ansible.builtin.package_facts: 6 | tags: 7 | - always 8 | 9 | - name: Assert - List required SAP Notes 10 | ansible.builtin.debug: 11 | var: __sap_general_preconfigure_sapnotes_versions | difference(['']) 12 | tags: 13 | - always 14 | 15 | - name: Gather service facts 16 | ansible.builtin.service_facts: 17 | tags: 18 | - always 19 | 20 | - name: Assert - Include configuration actions for required sapnotes 21 | ansible.builtin.include_tasks: "sapnote/assert-{{ sap_note_line_item.number }}.yml" 22 | with_items: "{{ __sap_general_preconfigure_sapnotes_versions | difference(['']) }}" 23 | loop_control: 24 | loop_var: sap_note_line_item 25 | tags: 26 | - always 27 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/RedHat/generic/assert-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Get info about file /etc/tmpfiles.d/sap.conf 5 | ansible.builtin.stat: 6 | path: /etc/tmpfiles.d/sap.conf 7 | register: __sap_general_preconfigure_register_stat_tmpfiles_sap_conf_assert 8 | 9 | - name: Assert that file /etc/tmpfiles.d/sap.conf exists 10 | ansible.builtin.assert: 11 | that: __sap_general_preconfigure_register_stat_tmpfiles_sap_conf_assert.stat.exists 12 | fail_msg: "FAIL: File /etc/tmpfiles.d/sap.conf does not exist!" 13 | success_msg: "PASS: File /etc/tmpfiles.d/sap.conf exist." 14 | ignore_errors: "{{ sap_general_preconfigure_assert_ignore_errors | d(false) }}" 15 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/RedHat/generic/configure-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Stop and disable service firewalld 5 | ansible.builtin.systemd: 6 | name: firewalld 7 | state: stopped 8 | enabled: false 9 | when: "'firewalld' in ansible_facts.packages" 10 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/RedHat/generic/configure-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Copy file /etc/tmpfiles.d/sap.conf, RHEL 7 or 8 5 | ansible.builtin.copy: 6 | src: etc/tmpfiles.d/sap.conf 7 | dest: /etc/tmpfiles.d/sap.conf 8 | owner: root 9 | group: root 10 | mode: '0644' 11 | backup: true 12 | when: ansible_distribution_major_version != '9' 13 | 14 | - name: Copy file /etc/tmpfiles.d/sap.conf, RHEL 9 15 | ansible.builtin.copy: 16 | src: etc/tmpfiles.d/sap_RedHat_9.conf 17 | dest: /etc/tmpfiles.d/sap.conf 18 | owner: root 19 | group: root 20 | mode: '0644' 21 | backup: true 22 | when: ansible_distribution_major_version == '9' 23 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/RedHat/generic/configure-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Enable and start service uuidd 5 | ansible.builtin.systemd: 6 | name: uuidd 7 | enabled: true 8 | state: started 9 | 10 | - name: Enable and start service uuidd.socket 11 | ansible.builtin.systemd: 12 | name: uuidd.socket 13 | enabled: true 14 | state: started 15 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/SLES/assert-configuration.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert - List required SAP Notes 5 | ansible.builtin.debug: 6 | var: __sap_general_preconfigure_sapnotes_versions | difference(['']) 7 | 8 | - name: Gather service facts 9 | ansible.builtin.service_facts: 10 | 11 | - name: Assert - Include configuration actions for required sapnotes 12 | ansible.builtin.include_tasks: "sapnote/assert-{{ sap_note_line_item.number }}.yml" 13 | loop: "{{ __sap_general_preconfigure_sapnotes_versions | difference(['']) }}" 14 | loop_control: 15 | loop_var: sap_note_line_item 16 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/1391070.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Linux-UUID-solutions 5 | - name: Configure - Display SAP note number 1391070 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1391070$') | first).number }} 8 | (version {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1391070$') | first).version }}): Configure uuidd" 9 | tags: 10 | - always 11 | 12 | - name: Import tasks from '../RedHat/generic/configure-uuidd.yml' 13 | ansible.builtin.import_tasks: ../RedHat/generic/configure-uuidd.yml 14 | when: sap_general_preconfigure_config_all | d(true) or sap_general_preconfigure_1391070 | d(false) 15 | tags: 16 | - sap_general_preconfigure_1391070 17 | - sap_general_preconfigure_configure_uuidd 18 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/1771258.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Set nofile 5 | - name: Configure - Display SAP note number 1771258 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1771258$') | first).number }} 8 | (version {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1771258$') | first).version }}): User and system resource limits" 9 | tags: 10 | - always 11 | 12 | - name: Import tasks from '../RedHat/generic/increase-nofile-limits.yml' 13 | ansible.builtin.import_tasks: ../RedHat/generic/increase-nofile-limits.yml 14 | when: sap_general_preconfigure_config_all | d(true) or sap_general_preconfigure_1771258 | d(false) 15 | tags: 16 | - sap_general_preconfigure_1771258 17 | - sap_general_preconfigure_nofile_limits 18 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/02-assert-configuration-changes.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2002167-2a 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 2a: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | 15 | - name: Assert 2002167-2b 16 | ansible.builtin.debug: 17 | msg: "SAP note 2002167 Step 2b: Configure SELinux" 18 | tags: 19 | - sap_general_preconfigure_selinux 20 | 21 | - name: Import tasks from '../../RedHat/generic/assert-selinux.yml' 22 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 23 | tags: 24 | - sap_general_preconfigure_selinux 25 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/02-configuration-changes.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2002167-2a 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 2a: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | - sap_general_preconfigure_selinux 10 | 11 | - name: Import tasks from '../../RedHat/generic/configure-firewall.yml' 12 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-firewall.yml 13 | tags: 14 | - sap_general_preconfigure_firewall 15 | 16 | - name: Configure 2002167-2b 17 | ansible.builtin.debug: 18 | msg: "SAP note 2002167 Step 2b: Configure SELinux" 19 | 20 | - name: Import tasks from '../../RedHat/generic/configure-selinux.yml' 21 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 22 | tags: 23 | - sap_general_preconfigure_selinux 24 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/03-assert-setting-the-hostname.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2002167-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 3: Setting the Hostname" 7 | tags: 8 | - sap_general_preconfigure_hostname 9 | - sap_general_preconfigure_etc_hosts 10 | - sap_general_preconfigure_dns_name_resolution 11 | 12 | - name: Import tasks from '../../RedHat/generic/assert-hostname.yml' 13 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-hostname.yml 14 | tags: 15 | - sap_general_preconfigure_hostname 16 | 17 | - name: Import tasks from '../../RedHat/generic/assert-etc-hosts.yml' 18 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-etc-hosts.yml 19 | tags: 20 | - sap_general_preconfigure_etc_hosts 21 | 22 | - name: Import tasks from '../../RedHat/generic/assert-dns-name-resolution.yml' 23 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-dns-name-resolution.yml 24 | tags: 25 | - sap_general_preconfigure_dns_name_resolution 26 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/04-assert-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2002167-4 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 4: Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/04-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2002167-4 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 4: Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/05-assert-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2002167-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 5: Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-limits-conf-file.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-limits-conf-file.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | 15 | - name: Import tasks from '../../RedHat/generic/assert-nproc-limits.yml' 16 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-nproc-limits.yml 17 | tags: 18 | - sap_general_preconfigure_nproc_limits 19 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2002167/05-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2002167-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 2002167 Step 5: Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/increase-nproc-limits.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/increase-nproc-limits.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2578899/installation.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Ensure that the required packages are installed 5 | ansible.builtin.package: 6 | name: "{{ __sap_general_preconfigure_packages_2578899 }}" 7 | state: present 8 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/02-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/02-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/03-assert-hostname.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 3: Configure Hostname" 7 | tags: 8 | - sap_general_preconfigure_hostname 9 | - sap_general_preconfigure_etc_hosts 10 | - sap_general_preconfigure_dns_name_resolution 11 | 12 | - name: Import tasks from '../../RedHat/generic/assert-hostname.yml' 13 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-hostname.yml 14 | tags: 15 | - sap_general_preconfigure_hostname 16 | 17 | - name: Import tasks from '../../RedHat/generic/assert-etc-hosts.yml' 18 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-etc-hosts.yml 19 | tags: 20 | - sap_general_preconfigure_etc_hosts 21 | 22 | - name: Import tasks from '../../RedHat/generic/assert-dns-name-resolution.yml' 23 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-dns-name-resolution.yml 24 | tags: 25 | - sap_general_preconfigure_dns_name_resolution 26 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/04-configure-network-time-and-date.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-4 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 4: Configure Network Time and Date" 7 | tags: 8 | - sap_general_preconfigure_network_time_and_date 9 | 10 | - name: Start and enable service chronyd 11 | ansible.builtin.systemd: 12 | name: chronyd 13 | state: started 14 | enabled: true 15 | tags: 16 | - sap_general_preconfigure_network_time_and_date 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/05-assert-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/05-configure-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/06-assert-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/06-configure-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/07-assert-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/assert-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/07-configure-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/configure-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/08-assert-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/08-configure-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/09-assert-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-limits-conf-file.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-limits-conf-file.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | 15 | - name: Import tasks from '../../RedHat/generic/assert-nproc-limits.yml' 16 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-nproc-limits.yml 17 | tags: 18 | - sap_general_preconfigure_nproc_limits 19 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/09-configure-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/increase-nproc-limits.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/increase-nproc-limits.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/10-assert-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2772999-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/2772999/10-configure-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2772999-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 2772999 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/02-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/02-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/03-assert-hostname.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 3: Configure Hostname" 7 | tags: 8 | - sap_general_preconfigure_hostname 9 | - sap_general_preconfigure_etc_hosts 10 | - sap_general_preconfigure_dns_name_resolution 11 | 12 | - name: Import tasks from '../../RedHat/generic/assert-hostname.yml' 13 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-hostname.yml 14 | tags: 15 | - sap_general_preconfigure_hostname 16 | 17 | - name: Import tasks from '../../RedHat/generic/assert-etc-hosts.yml' 18 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-etc-hosts.yml 19 | tags: 20 | - sap_general_preconfigure_etc_hosts 21 | 22 | - name: Import tasks from '../../RedHat/generic/assert-dns-name-resolution.yml' 23 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-dns-name-resolution.yml 24 | tags: 25 | - sap_general_preconfigure_dns_name_resolution 26 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/04-configure-network-time-and-date.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-4 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 4: Configure Network Time and Date" 7 | tags: 8 | - sap_general_preconfigure_network_time_and_date 9 | 10 | - name: Start and enable service chronyd 11 | ansible.builtin.systemd: 12 | name: chronyd 13 | state: started 14 | enabled: true 15 | tags: 16 | - sap_general_preconfigure_network_time_and_date 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/05-assert-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/05-configure-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/06-assert-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/06-configure-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/07-assert-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/assert-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/07-configure-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/configure-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/08-assert-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/08-configure-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/09-assert-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-limits-conf-file.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-limits-conf-file.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | 15 | - name: Import tasks from '../../RedHat/generic/assert-nproc-limits.yml' 16 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-nproc-limits.yml 17 | tags: 18 | - sap_general_preconfigure_nproc_limits 19 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/09-configure-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/increase-nproc-limits.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/increase-nproc-limits.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/10-assert-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108316-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3108316/10-configure-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108316-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108316 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/02-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/02-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 2: Configure SELinux" 7 | tags: 8 | - sap_general_preconfigure_selinux 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-selinux.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 12 | tags: 13 | - sap_general_preconfigure_selinux 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/03-assert-hostname.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 3: Configure Hostname" 7 | tags: 8 | - sap_general_preconfigure_hostname 9 | - sap_general_preconfigure_etc_hosts 10 | - sap_general_preconfigure_dns_name_resolution 11 | 12 | - name: Import tasks from '../../RedHat/generic/assert-hostname.yml' 13 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-hostname.yml 14 | tags: 15 | - sap_general_preconfigure_hostname 16 | 17 | - name: Import tasks from '../../RedHat/generic/assert-etc-hosts.yml' 18 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-etc-hosts.yml 19 | tags: 20 | - sap_general_preconfigure_etc_hosts 21 | 22 | - name: Import tasks from '../../RedHat/generic/assert-dns-name-resolution.yml' 23 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-dns-name-resolution.yml 24 | tags: 25 | - sap_general_preconfigure_dns_name_resolution 26 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/04-configure-network-time-and-date.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-4 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 4: Configure Network Time and Date" 7 | tags: 8 | - sap_general_preconfigure_network_time_and_date 9 | 10 | - name: Start and enable service chronyd 11 | ansible.builtin.systemd: 12 | name: chronyd 13 | state: started 14 | enabled: true 15 | tags: 16 | - sap_general_preconfigure_network_time_and_date 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/05-assert-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/05-configure-firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-5 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 5: Configure the Firewall" 7 | tags: 8 | - sap_general_preconfigure_firewall 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-firewall.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-firewall.yml 12 | tags: 13 | - sap_general_preconfigure_firewall 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/06-assert-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/06-configure-uuidd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-6 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 6: Configure uuidd" 7 | tags: 8 | - sap_general_preconfigure_configure_uuidd 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-uuidd.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-uuidd.yml 12 | tags: 13 | - sap_general_preconfigure_configure_uuidd 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/07-assert-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/assert-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/07-configure-tmpfs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 7: Configure tmpfs; 7 | memtotal_mb = {{ ansible_memtotal_mb }}; 8 | swaptotal_mb = {{ ansible_swaptotal_mb }}; 9 | sap_general_preconfigure_size_of_tmpfs_gb = {{ sap_general_preconfigure_size_of_tmpfs_gb }}" 10 | tags: 11 | - sap_general_preconfigure_configure_tmpfs 12 | 13 | - name: Import tasks from '../../RedHat/generic/configure-tmpfs.yml' 14 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tmpfs.yml 15 | tags: 16 | - sap_general_preconfigure_configure_tmpfs 17 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/08-assert-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/08-configure-linux-kernel-parameters.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-8 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 8: Configure Linux Kernel Parameters" 7 | tags: 8 | - sap_general_preconfigure_kernel_parameters 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-kernel-parameters.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-kernel-parameters.yml 12 | tags: 13 | - sap_general_preconfigure_kernel_parameters 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/09-assert-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-limits-conf-file.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-limits-conf-file.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | 15 | - name: Import tasks from '../../RedHat/generic/assert-nproc-limits.yml' 16 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-nproc-limits.yml 17 | tags: 18 | - sap_general_preconfigure_nproc_limits 19 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/09-configure-process-resource-limits.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 9: Configure Process Resource Limits" 7 | tags: 8 | - sap_general_preconfigure_nproc_limits 9 | 10 | - name: Import tasks from '../../RedHat/generic/increase-nproc-limits.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/increase-nproc-limits.yml 12 | tags: 13 | - sap_general_preconfigure_nproc_limits 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/10-assert-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562909-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/assert-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/3562909/10-configure-systemd-tmpfiles.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562909-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562909 Step 10: Configure systemd-tmpfiles" 7 | tags: 8 | - sap_general_preconfigure_systemd_tmpfiles 9 | 10 | - name: Import tasks from '../../RedHat/generic/configure-systemd-tmpfiles.yml' 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-systemd-tmpfiles.yml 12 | tags: 13 | - sap_general_preconfigure_systemd_tmpfiles 14 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/assert-1391070.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Linux-UUID-solutions 5 | - name: Assert - Display SAP note number 1391070 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1391070$') | first).number }} 8 | (version {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1391070$') | first).version }}): Configure uuidd" 9 | tags: 10 | - always 11 | 12 | - name: Import tasks from '../RedHat/generic/assert-uuidd.yml' 13 | ansible.builtin.import_tasks: ../RedHat/generic/assert-uuidd.yml 14 | when: sap_general_preconfigure_config_all | d(true) or sap_general_preconfigure_1391070 | d(false) 15 | tags: 16 | - sap_general_preconfigure_1391070 17 | - sap_general_preconfigure_configure_uuidd 18 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tasks/sapnote/assert-1771258.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Configure tmpfs 5 | - name: Assert - Display SAP note number 1771258 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1771258$') | first).number }} 8 | (version {{ (__sap_general_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1771258$') | first).version }}): User and system resource limits" 9 | tags: 10 | - always 11 | 12 | - name: Import tasks from '../RedHat/generic/assert-nofile-limits.yml' 13 | ansible.builtin.import_tasks: ../RedHat/generic/assert-nofile-limits.yml 14 | when: sap_general_preconfigure_config_all | d(true) or sap_general_preconfigure_1771258 | d(false) 15 | tags: 16 | - sap_general_preconfigure_1771258 17 | - sap_general_preconfigure_nofile_limits 18 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tests/.pylintrc: -------------------------------------------------------------------------------- 1 | ../../../.pylintrc -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tests/beautify-assert-output.sh: -------------------------------------------------------------------------------- 1 | ../tools/beautify-assert-output.sh -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/tests/sap_general_preconfigure-default-settings.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - hosts: all 4 | collections: 5 | - community.sap_install 6 | roles: 7 | - sap_general_preconfigure 8 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/vars/SLES_SAP_16.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Variables specific to following versions: 4 | # - SUSE Linux Enterprise Server for SAP Applications 16 5 | 6 | __sap_general_preconfigure_sapnotes_versions: [] 7 | 8 | __sap_general_preconfigure_patterns: 9 | - sles_minimal_sap 10 | 11 | __sap_general_preconfigure_packages: 12 | # Patterns are not included in package list 13 | # Ansible package module skips recommended packages resulting in discrepancies. 14 | 15 | # Recommended packages 16 | - tcsh 17 | - psmisc 18 | 19 | # 2578899 is not updated for SLES 16 yet. 20 | - uuidd 21 | - sysstat 22 | - sysctl-logger 23 | 24 | # Additional packages 25 | - nfs-utils 26 | - bind-utils 27 | 28 | 29 | __sap_general_preconfigure_min_pkgs: [] 30 | __sap_general_preconfigure_packagegroups: 31 | __sap_general_preconfigure_envgroups: 32 | __sap_general_preconfigure_kernel_parameters_default: [] 33 | 34 | # SLES_SAP is using saptune, but SLES is using sapconf. 35 | __sap_general_preconfigure_use_saptune: true 36 | -------------------------------------------------------------------------------- /roles/sap_general_preconfigure/vars/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # dummy entries for passing the arg spec validation: 5 | __sap_general_preconfigure_packagegroups: '' 6 | __sap_general_preconfigure_envgroups: '' 7 | __sap_general_preconfigure_patterns: [] 8 | __sap_general_preconfigure_packages: [] 9 | __sap_general_preconfigure_size_of_tmpfs_gb: '' 10 | __sap_general_preconfigure_kernel_parameters_default: [] 11 | -------------------------------------------------------------------------------- /roles/sap_ha_install_anydb_ibmdb2/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | enable_list: 3 | - yaml 4 | skip_list: 5 | - ignore-errors # We use ignore_errors for all the assert tasks, which should be acceptable 6 | - schema # We want to allow single digit version numbers in a role's meta/main.yml file. This is allowed as per https://galaxy.ansible.com/docs/contributing/creating_role.html and https://galaxy.ansible.com/api/v1/platforms/?page=6. 7 | - name[template] # Allow templating inside name. During dev and qa, it should be possible to identify cases where it doesn't work 8 | -------------------------------------------------------------------------------- /roles/sap_ha_install_anydb_ibmdb2/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_ha_install_anydb_ibmdb2/handlers/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - name: "Reload systemd daemon" 4 | ansible.builtin.systemd_service: 5 | daemon_reload: true 6 | listen: "systemd daemon-reload" 7 | -------------------------------------------------------------------------------- /roles/sap_ha_install_anydb_ibmdb2/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Sean Freeman 6 | description: HA for SAP AnyDB - IBM Db2 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 8, 9 ] 13 | galaxy_tags: [ 'sap', 'anydb', 'ibmdb2', 'ibm', 'db2', 'rhel', 'redhat', 'sles', 'suse' ] 14 | dependencies: [] 15 | -------------------------------------------------------------------------------- /roles/sap_ha_install_hana_hsr/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_ha_install_hana_hsr/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_ha_install_hana_hsr/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | sap_ha_install_hana_hsr_sid: "{{ sap_hana_sid }}" 4 | sap_ha_install_hana_hsr_instance_number: "{{ sap_hana_instance_number }}" 5 | sap_ha_install_hana_hsr_cluster_nodes: "{{ sap_hana_cluster_nodes }}" 6 | 7 | sap_ha_install_hana_hsr_hdbuserstore_system_backup_user: HDB_SYSTEMDB 8 | sap_ha_install_hana_hsr_db_system_password: "{{ sap_hana_install_master_password }}" 9 | sap_ha_install_hana_hsr_fqdn: "{{ sap_domain }}" 10 | sap_ha_install_hana_hsr_rep_mode: sync 11 | sap_ha_install_hana_hsr_oper_mode: logreplay 12 | 13 | sap_ha_install_hana_hsr_update_etchosts: true 14 | -------------------------------------------------------------------------------- /roles/sap_ha_install_hana_hsr/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: IBM Lab for SAP Solutions, Red Hat for SAP Community of Practice, Jason Masipiquena, Sherard Guico, Markus Moster 6 | description: Installation of SAP HANA System Replication on Linux OS (RHEL, SLES) 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: "2.9" 10 | platforms: 11 | - name: EL 12 | versions: ["7", "8", "9"] 13 | - name: SLES 14 | versions: ["15SP3"] 15 | galaxy_tags: 16 | [ 17 | "sap", 18 | "hana", 19 | "ha", 20 | "dr", 21 | "linuxpacemaker", 22 | "rhel", 23 | "redhat", 24 | "sles", 25 | "suse", 26 | ] 27 | dependencies: [] 28 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/handlers/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - name: "Reload systemd daemon" 4 | ansible.builtin.systemd_service: 5 | daemon_reload: true 6 | listen: "systemd daemon-reload" 7 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/meta/collection-requirements.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | collections: 5 | - name: fedora.linux_system_roles 6 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, Janine Fuchs 6 | description: Installation and configuration of Pacemaker Cluster for SAP solutions 7 | company: Red Hat, Inc. 8 | 9 | license: Apache-2.0 10 | 11 | min_ansible_version: 2.9 12 | 13 | platforms: 14 | - name: EL 15 | versions: 16 | - 8 17 | - 9 18 | 19 | galaxy_tags: 20 | - sap 21 | - hana 22 | - rhel 23 | - redhat 24 | 25 | # Not defining ha_cluster as dependency here, but using role include tasks 26 | # because this role defines a lot of variables and functions as a wrapper 27 | # to deploy the cluster for SAP environments 28 | dependencies: [] 29 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/tasks/construct_vars_hana_scaleout.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Variables containing variables must be constructed with values 4 | # to be fed into an included role 5 | 6 | # TODO: add here any scale-out special variable constructions 7 | # Make sure to first respect 'ha_cluster' native variables 8 | 9 | # - name: "SAP HA Prepare Pacemaker - Construct cluster vars for SAP HANA Scale-out" 10 | # ansible.builtin.set_fact: 11 | 12 | - name: "SAP HA Prepare Pacemaker - Info" 13 | ansible.builtin.debug: 14 | msg: "INFO: There is currently no Scale-out specific construction, in addition to the SAP HANA common definitions." 15 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/tasks/platform/preconfigure_cloud_ibmcloud_powervs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Requirement to enable the fencing resource to function. 4 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/tasks/platform/preconfigure_cloud_msazure_vm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Requirement to enable the fencing resource to function. 4 | # 5 | # TODO: firewall config for the LB health probe port 6 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/tasks/platform/register_sysinfo_cloud_ibmcloud_vs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # There is no ansible fact with the fully qualified VM instance ID. 4 | # We get this information from the SMBIOS/DMI. 5 | - name: "SAP HA Prepare Pacemaker - IBM Cloud VS - Register instance ID" 6 | ansible.builtin.shell: | 7 | dmidecode -s system-family 8 | register: __sap_ha_pacemaker_cluster_register_ibmcloud_vs_host 9 | changed_when: false 10 | check_mode: false 11 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/vars/SLES_15.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Variables specific to following versions: 4 | # - SUSE Linux Enterprise Server for SAP Applications 15 5 | # - SUSE Linux Enterprise Server 15 6 | 7 | __sap_ha_pacemaker_cluster_sap_extra_packages_dict: 8 | minimal: 9 | # Pattern contains all required cluster packages 10 | - patterns-ha-ha_sles 11 | - ClusterTools2 12 | hana_scaleout: 13 | - SAPHanaSR-ScaleOut 14 | hana_scaleup: 15 | - SAPHanaSR 16 | hana_angi: 17 | - SAPHanaSR-angi 18 | nwas: 19 | - sap-suse-cluster-connector 20 | - sapstartsrv-resource-agents 21 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/vars/hana_scaleout_perf.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # SAP HANA Scale-Out specific parameter values 4 | # 5 | # TODO: make sure to first respect 'ha_cluster' native variables 6 | 7 | # Extra package list is combination of: 8 | # minimal base packages required for all scenarios 9 | # scenario specific packages 10 | __sap_ha_pacemaker_cluster_sap_extra_packages: "{{ 11 | __sap_ha_pacemaker_cluster_sap_extra_packages_dict.minimal | d([]) 12 | + (__sap_ha_pacemaker_cluster_sap_extra_packages_dict.hana_angi 13 | if __sap_ha_pacemaker_cluster_saphanasr_angi_available 14 | else __sap_ha_pacemaker_cluster_sap_extra_packages_dict.hana_scaleout) }}" 15 | 16 | sap_ha_pacemaker_cluster_hadr_provider_name: SAPHanaSR 17 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/vars/nwas_abap_ascs_ers.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # The following directories are appended to the 'nfs_path' of the '/usr/sap' storage 4 | # definition. 5 | # Therefore, the /usr/sap prefix must be left out of the listed path items. 6 | __sap_ha_pacemaker_cluster_nwas_ascs_ers_filesystems: 7 | - "{{ __sap_ha_pacemaker_cluster_nwas_sid }}/ASCS{{ __sap_ha_pacemaker_cluster_nwas_ascs_instance_nr }}" 8 | - "{{ __sap_ha_pacemaker_cluster_nwas_sid }}/ERS{{ __sap_ha_pacemaker_cluster_nwas_ers_instance_nr }}" 9 | 10 | # List of ASCS/ERS profile names. 11 | # Used in tasks/configure_nwas_postinstallation.yml for sap_cluster_connector setup. 12 | __sap_ha_pacemaker_cluster_nwas_ascs_ers_profile_paths: 13 | - "{{ __sap_ha_pacemaker_cluster_nwas_ascs_sapinstance_start_profile_string }}" 14 | - "{{ __sap_ha_pacemaker_cluster_nwas_ers_sapinstance_start_profile_string }}" 15 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/vars/nwas_common.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # SAP NetWeaver ABAP specific parameter values 4 | # 5 | # TODO: make sure to first respect 'ha_cluster' native variables 6 | 7 | # Extra package list is combination of: 8 | # minimal base packages required for all scenarios 9 | # scenario specific packages 10 | # halib package if selected 11 | __sap_ha_pacemaker_cluster_sap_extra_packages: "{{ 12 | __sap_ha_pacemaker_cluster_sap_extra_packages_dict.minimal | d([]) 13 | + __sap_ha_pacemaker_cluster_sap_extra_packages_dict.nwas | unique }}" 14 | -------------------------------------------------------------------------------- /roles/sap_ha_pacemaker_cluster/vars/nwas_java_scs_ers.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # The following directories are appended to the 'nfs_path' of the '/usr/sap' storage 4 | # definition. 5 | # Therefore, the /usr/sap prefix must be left out of the listed path items. 6 | __sap_ha_pacemaker_cluster_nwas_scs_ers_filesystems: 7 | - "{{ __sap_ha_pacemaker_cluster_nwas_sid }}/SCS{{ __sap_ha_pacemaker_cluster_nwas_scs_instance_nr }}" 8 | - "{{ __sap_ha_pacemaker_cluster_nwas_sid }}/ERS{{ __sap_ha_pacemaker_cluster_nwas_ers_instance_nr }}" 9 | 10 | # List of SCS/ERS profile names. 11 | # Used in tasks/configure_nwas_postinstallation.yml for sap_cluster_connector setup. 12 | __sap_ha_pacemaker_cluster_nwas_scs_ers_profile_paths: 13 | - "{{ __sap_ha_pacemaker_cluster_nwas_scs_sapinstance_start_profile_string }}" 14 | - "{{ __sap_ha_pacemaker_cluster_nwas_ers_sapinstance_start_profile_string }}" 15 | -------------------------------------------------------------------------------- /roles/sap_hana_install/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_hana_install/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | while true; do 4 | # in case hdblcm has not yet started, we assume that it is waiting for sapdsigner to complete: 5 | ps -ef | awk '/\/usr\/sap\/hostctrl\/exe\/sapdsigner/&&!/awk/{print}' 6 | _HDBLCM_PID=$(ps -ef | awk '/hdblcm/&&/instlog_dir/&&!/awk/{print $2}') 7 | if [[ ${_HDBLCM_PID}. != "." ]]; then 8 | # skip SC2046: No need to quote at "$(ps" because the awk statement should take 9 | # care of preventing word splitting 10 | # skip SC2125: We are using braces inside awk, not inside the shell. 11 | # shellcheck disable=SC2046,SC2125 12 | _HDBLCM_TRC_FILE=$(echo /var/tmp/hdblcm_$(ps -ef | awk '/hdblcm/{print}' | \ 13 | awk 'BEGIN{RS=" "}/instlog_dir/{split ($0, a, "install_"); print a[2]}')*.trc) 14 | echo "hdblcm trace file: ${_HDBLCM_TRC_FILE}" 15 | tail -100f "${_HDBLCM_TRC_FILE}" 16 | else 17 | echo "Still waiting for hdblcm." 18 | fi 19 | sleep 2 20 | done 21 | -------------------------------------------------------------------------------- /roles/sap_hana_install/meta/argument_specs.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | argument_specs: 4 | main: 5 | short_description: SAP HANA Installation 6 | options: # List of variables 7 | 8 | sap_hana_install_sid: 9 | description: HANA SID 10 | type: str # str, list, dict, bool, int, float, path, raw, jsonarg, json, bytes, bits 11 | required: false 12 | 13 | sap_hana_install_number: 14 | description: HANA Instance Number 15 | type: str # str, list, dict, bool, int, float, path, raw, jsonarg, json, bytes, bits 16 | required: false 17 | 18 | sap_hana_install_fapolicyd_integrity: 19 | default: 'sha256' 20 | description: 21 | - fapolicyd integrity check option 22 | choices: 23 | - 'none' 24 | - 'size' 25 | - 'sha256' 26 | - 'ima' 27 | required: false 28 | type: str 29 | -------------------------------------------------------------------------------- /roles/sap_hana_install/meta/collection-requirements.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | collections: 5 | - name: fedora.linux_system_roles 6 | -------------------------------------------------------------------------------- /roles/sap_hana_install/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, IBM Lab for SAP Solutions, Markus Koch, Thomas Bludau, Bernd Finger, Than Ngo, Rainer Leber 6 | description: Installation of SAP HANA on Linux OS (RHEL, SLES) 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 7, 8, 9 ] 13 | galaxy_tags: [ 'sap', 'hana', 'rhel', 'redhat', 'sles', 'suse' ] 14 | dependencies: [] 15 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tasks/post_install/hdbuserstore.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP HANA Post Install - Create and Store Connection Info in hdbuserstore 5 | ansible.builtin.shell: | 6 | /usr/sap/{{ sap_hana_install_sid }}/SYS/exe/hdb/hdbuserstore \ 7 | SET {{ sap_hana_install_hdbuserstore_key }} \ 8 | {{ ansible_hostname }}:3{{ sap_hana_install_number }}13 \ 9 | SYSTEM '{{ sap_hana_install_db_system_password | d(sap_hana_install_master_password) }}' 10 | args: 11 | executable: /bin/bash 12 | become: true 13 | become_user: "{{ sap_hana_install_sid | lower }}adm" 14 | when: not ansible_check_mode 15 | changed_when: no 16 | register: __sap_hana_install_store_connection_information 17 | tags: sap_hana_install_store_connection_information 18 | 19 | - name: SAP HANA Post Install - Display the output of hdbuserstore 20 | ansible.builtin.debug: 21 | var: __sap_hana_install_store_connection_information.stdout_lines 22 | tags: sap_hana_install_store_connection_information 23 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tasks/post_install/license.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP HANA Post Install - Apply the SAP HANA license 5 | ansible.builtin.shell: | 6 | /usr/sap/{{ sap_hana_install_sid | upper }}/HDB{{ sap_hana_install_number }}/exe/hdbsql \ 7 | -i {{ sap_hana_install_number }} -u SYSTEM 8 | -p {{ sap_hana_install_db_system_password | d(sap_hana_install_master_password) }} -m < "{{ sap_hana_install_sapcar_filename }}.sha256" 20 | chdir: "{{ sap_hana_install_software_directory }}" 21 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tests/sapcar/prepare-test-03.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Prepare test 03 5 | hosts: all 6 | become: true 7 | vars_files: 8 | - sapcar-vars.yml 9 | gather_facts: false 10 | 11 | tasks: 12 | - name: Prepare test 03 - Make sure there is no SHA256 file 13 | ansible.builtin.file: 14 | path: "{{ sap_hana_install_software_directory }}/SHA256" 15 | state: absent 16 | 17 | - name: Prepare test 03 - Create correct checksum file 18 | ansible.builtin.shell: 19 | cmd: sha256sum "{{ sap_hana_install_sapcar_filename }}" > "{{ sap_hana_install_sapcar_filename }}.sha256" 20 | chdir: "{{ sap_hana_install_software_directory }}" 21 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tests/sapcar/prepare-test-04.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Prepare test 04 5 | hosts: all 6 | become: true 7 | vars_files: 8 | - sapcar-vars.yml 9 | vars: 10 | sap_hana_install_global_checksum_file: "{{ sap_hana_install_software_directory }}/SHA256" 11 | gather_facts: false 12 | 13 | tasks: 14 | - name: Prepare test 04 - Make sure there is no checksum file 15 | ansible.builtin.file: 16 | path: "{{ sap_hana_install_software_directory }}/{{ sap_hana_install_sapcar_filename }}.sha256" 17 | state: absent 18 | 19 | - name: Prepare test 04 - Create wrong checksum in global checksum file 20 | ansible.builtin.shell: 21 | cmd: (sha256sum /usr/bin/bash; sha256sum "{{ sap_hana_install_sapcar_filename }}" | awk '{gsub ("1", "2", $1); printf ("%s %s\n", $1, $2)}'; sha256sum /usr/bin/ls) > "{{ sap_hana_install_global_checksum_file }}" 22 | chdir: "{{ sap_hana_install_software_directory }}" 23 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tests/sapcar/prepare-test-05.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Prepare test 05 5 | hosts: all 6 | become: true 7 | vars_files: 8 | - sapcar-vars.yml 9 | vars: 10 | sap_hana_install_global_checksum_file: "{{ sap_hana_install_software_directory }}/SHA256" 11 | gather_facts: false 12 | 13 | tasks: 14 | - name: Prepare test 05 - Make sure there is no checksum file 15 | ansible.builtin.file: 16 | path: "{{ sap_hana_install_software_directory }}/{{ sap_hana_install_sapcar_filename }}.sha256" 17 | state: absent 18 | 19 | - name: Prepare test 05 - Create correct checksum in global checksum file 20 | ansible.builtin.shell: 21 | cmd: (sha256sum /usr/bin/bash; sha256sum "{{ sap_hana_install_sapcar_filename }}"; sha256sum /usr/bin/ls) > "{{ sap_hana_install_global_checksum_file }}" 22 | chdir: "{{ sap_hana_install_software_directory }}" 23 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tests/sapcar/run-sapcar-test.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: test 5 | hosts: all 6 | collections: 7 | - community.sap_install 8 | become: true 9 | vars_files: 10 | - sapcar-vars.yml 11 | roles: 12 | - sap_hana_install 13 | -------------------------------------------------------------------------------- /roles/sap_hana_install/tests/sapcar/sapcar-vars.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | sap_hana_install_sid: T01 5 | sap_hana_install_number: 01 6 | sap_hana_install_software_directory: '/software/sap_hana_install_test' 7 | sap_hana_install_checksum_algorithm: sha256 8 | # sap_hana_install_sapcar_filename_ppc64: SAPCAR_1115-70006175.EXE # ppc64 9 | sap_hana_install_sapcar_filename_ppc64le: SAPCAR_1115-70006238.EXE # ppc64le 10 | # sap_hana_install_sapcar_filename: SAPCAR_1211-80000935.EXE # x86_64, rel 721, patch 1211 11 | sap_hana_install_sapcar_filename_x86_64: SAPCAR_1115-70006178.EXE # x86_64, rel 722, patch 1115 12 | -------------------------------------------------------------------------------- /roles/sap_hana_install/vars/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # SAP System IDs that are reserved and must not be used 5 | # Reference: SAP Note 1979280 6 | __sap_hana_install_sid_prohibited: ['ADD', 'ADM', 'ALL', 'AMD', 'AND', 'ANY', 'ARE', 'ASC', 'AUX', 'AVG', 'BIN', 'BIT', 'CDC', 'COM', 'CON', 'DAA', 'DBA', 'DBM', 'DBO', 'DTD', 'ECO', 'END', 'EPS', 'EXE', 'FOR', 'GET', 'GID', 'IBM', 'INT', 'KEY', 'LIB', 'LOG', 'LPT', 'MAP', 'MAX', 'MEM', 'MIG', 'MIN', 'MON', 'NET', 'NIX', 'NOT', 'NUL', 'OFF', 'OLD', 'OMS', 'OUT', 'PAD', 'PRN', 'RAW', 'REF', 'ROW', 'SAP', 'SET', 'SGA', 'SHG', 'SID', 'SQL', 'SUM', 'SYS', 'TMP', 'TOP', 'TRC', 'UID', 'USE', 'USR', 'VAR'] 7 | 8 | __sap_hana_install_fact_tmp_dirname: '' 9 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/files/etc/tuned/sap-hana-ppc64le/tuned.conf: -------------------------------------------------------------------------------- 1 | [main] 2 | summary=Adjustments for SAP HANA on RHEL 8.0 on ppc64le 3 | [sysctl] 4 | kernel.sched_min_granularity_ns=3000000 5 | kernel.sched_wakeup_granularity_ns=4000000 6 | [disk] 7 | replace=true 8 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/meta/collection-requirements.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | collections: 5 | - name: fedora.linux_system_roles 6 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, Markus Koch, Thomas Bludau, Bernd Finger, Than Ngo, Rainer Leber 6 | description: Prepare Linux OS (RHEL, SLES) with specific configurations required for SAP HANA installation 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 7, 8, 9 ] 13 | - name: SLES 14 | versions: [ 15SP3 ] 15 | galaxy_tags: [ 'sap', 'hana', 'rhel', 'redhat', 'sles', 'suse' ] 16 | dependencies: [] 17 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/assert-configuration.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Gather package facts again after the installation phase 5 | ansible.builtin.package_facts: 6 | 7 | - name: Assert - List required SAP Notes 8 | ansible.builtin.debug: 9 | var: __sap_hana_preconfigure_sapnotes_versions | difference(['']) 10 | 11 | - name: Gather service facts 12 | ansible.builtin.service_facts: 13 | 14 | - name: Assert - Include configuration actions for required sapnotes 15 | ansible.builtin.include_tasks: "sapnote/assert-{{ sap_note_line_item.number }}.yml" 16 | with_items: "{{ __sap_hana_preconfigure_sapnotes_versions | difference(['']) }}" 17 | loop_control: 18 | loop_var: sap_note_line_item 19 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Reason for noqa: Both yum and dnf support "state: latest" 5 | - name: Install the package which provides the semanage command # noqa package-latest 6 | ansible.builtin.package: 7 | state: latest 8 | name: policycoreutils-python-utils 9 | 10 | - name: Assert SELinux directory settings 11 | ansible.builtin.include_tasks: assert-2777782-01-loop-block.yml 12 | loop: "{{ sap_hana_preconfigure_hana_directories }}" 13 | loop_control: 14 | loop_var: line_item 15 | when: sap_hana_preconfigure_modify_selinux_labels 16 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/configure-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Configure C-States for lower latency 6 | ansible.builtin.lineinfile: 7 | path: /etc/default/grub 8 | backup: yes 9 | backrefs: yes 10 | state: present 11 | regexp: '^(GRUB_CMDLINE_LINUX=(?!.* {{ line_item }}).*). *$' 12 | line: "\\1 {{ line_item }}\"" 13 | with_items: 14 | - "processor.max_cstate=1" 15 | - "intel_idle.max_cstate=1" 16 | notify: __sap_hana_preconfigure_regenerate_grub2_conf_handler 17 | when: ansible_architecture == 'x86_64' and 18 | (not sap_hana_preconfigure_use_tuned or 19 | sap_hana_preconfigure_modify_grub_cmdline_linux) 20 | tags: grubconfig 21 | loop_control: 22 | loop_var: line_item 23 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-abrt-ccpp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Disable abrt-ccpp 5 | ansible.builtin.include_tasks: disable-services.yml 6 | vars: 7 | line_item: abrt-ccpp 8 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-abrtd.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Disable abrtd 5 | ansible.builtin.include_tasks: disable-services.yml 6 | vars: 7 | line_item: abrtd 8 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-coredumps.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Reasons for noqa: 1. Tabs can increase readability; 5 | # 2. The example in man limits.conf is tab formatted; 6 | # 3. It is difficult to replace tabs by spaces for entries for which their lengths are not known 7 | - name: Disable core file creation for all users # noqa no-tabs 8 | ansible.builtin.lineinfile: 9 | path: /etc/security/limits.d/99-sap.conf 10 | create: yes 11 | mode: "0644" 12 | regexp: '^\*\s+{{ line_item }}\s+core\s.*' 13 | line: "*\t{{ line_item }}\tcore\t0" 14 | with_items: 15 | - hard 16 | - soft 17 | loop_control: 18 | loop_var: line_item 19 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-firewalld.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Disable firewalld 5 | ansible.builtin.include_tasks: disable-services.yml 6 | vars: 7 | line_item: firewalld 8 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Disable kdump 5 | ansible.builtin.include_tasks: disable-services.yml 6 | vars: 7 | line_item: kdump 8 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-services.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Disable service {{ __sap_hana_preconfigure_packages_and_services[line_item].svc }} 5 | if package {{ __sap_hana_preconfigure_packages_and_services[line_item].pkg }} is installed 6 | ansible.builtin.systemd: 7 | name: "{{ __sap_hana_preconfigure_packages_and_services[line_item].svc }}" 8 | state: "{{ __sap_hana_preconfigure_packages_and_services[line_item].systemd_state }}" 9 | enabled: "{{ __sap_hana_preconfigure_packages_and_services[line_item].systemd_enabled }}" 10 | when: "__sap_hana_preconfigure_packages_and_services[line_item].pkg in ansible_facts.packages" 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/disable-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Disable transparent hugepages at boot time 6 | ansible.builtin.lineinfile: 7 | path: /etc/default/grub 8 | backup: yes 9 | backrefs: yes 10 | state: present 11 | regexp: '^(GRUB_CMDLINE_LINUX=(?!.* {{ line_item }}).*). *$' 12 | line: "\\1 {{ line_item }}\"" 13 | with_items: 14 | - "transparent_hugepage=never" 15 | notify: __sap_hana_preconfigure_regenerate_grub2_conf_handler 16 | when: not sap_hana_preconfigure_use_tuned or 17 | sap_hana_preconfigure_modify_grub_cmdline_linux 18 | tags: grubconfig 19 | loop_control: 20 | loop_var: line_item 21 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/enable-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Get boot command line 5 | ansible.builtin.slurp: 6 | src: /proc/cmdline 7 | register: __sap_hana_preconfigure_register_proc_cmdline 8 | 9 | - name: Enable TSX at boot time 10 | ansible.builtin.command: /bin/true 11 | notify: __sap_hana_preconfigure_grubby_update_handler 12 | changed_when: true 13 | when: 14 | - ansible_architecture == 'x86_64' 15 | - ansible_distribution == 'RedHat' 16 | - (ansible_distribution_major_version >= '9') or 17 | (ansible_distribution_major_version == '8' and 18 | __sap_hana_preconfigure_fact_ansible_distribution_minor_version | int >= 3) 19 | - not ( __sap_hana_preconfigure_register_proc_cmdline['content'] | b64decode | regex_findall('tsx=on') ) 20 | tags: grubconfig 21 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/RedHat/generic/turn-off-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Disable numad 6 | ansible.builtin.include_tasks: disable-services.yml 7 | vars: 8 | line_item: numad 9 | when: not sap_hana_preconfigure_use_tuned 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/1944799.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # 1944799 - SAP HANA Guidelines for SLES Operating System Installation 4 | 5 | - name: Configure - Display SAP note number 1944799 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1944799$') | first).number }} 8 | (version {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1944799$') | first).version }}): 9 | SAP HANA Guidelines for SLES Operating System Installation" 10 | 11 | - name: Import tasks from '1944799/installation.yml' 12 | ansible.builtin.import_tasks: 1944799/installation.yml 13 | 14 | # - name: Import tasks from '1944799/configuration.yml' 15 | # ansible.builtin.import_tasks: 1944799/configuration.yml 16 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/1944799/installation.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Ensure that the required packages are installed 5 | ansible.builtin.package: 6 | state: present 7 | name: "{{ item }}" 8 | loop: "{{ __sap_hana_preconfigure_packages_1944799 }}" 9 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/01-assert-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2292690-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 1: Configure tuned to use profile sap-hana" 7 | 8 | - name: Import ../../RedHat/generic/assert-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/01-configure-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2292690-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 1: Configure tuned to use profile sap-hana" 7 | 8 | - name: Import ../../RedHat/generic/configure-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/02-assert-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Assert 2292690-2 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 2: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/assert-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/02-turn-off-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Configure 2292690-2 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 2: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/turn-off-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/turn-off-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/03-assert-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Assert 2292690-3 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 3: Disable Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/assert-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/03-disable-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Configure 2292690-3 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 3: Disable Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/disable-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/04-assert-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Assert 2292690-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 4: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/assert-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/04-configure-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Configure 2292690-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 4: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/configure-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/05-assert-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 2292690-5 7 | ansible.builtin.debug: 8 | msg: "SAP note 2292690 Step 5: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/05-configure-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 2292690-5 7 | ansible.builtin.debug: 8 | msg: "SAP note 2292690 Step 5: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/06-assert-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 2292690-6 7 | ansible.builtin.debug: 8 | msg: "SAP note 2292690 Step 6: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/06-configure-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 2292690-6 7 | ansible.builtin.debug: 8 | msg: "SAP note 2292690 Step 6: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/07-assert-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2292690-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 7: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/assert-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/07-disable-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2292690-7 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 7: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/disable-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/09-assert-etc-sudoers.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2292690-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 9: Database startup fails with an error message - /etc/sudoers" 7 | 8 | - name: Get contents of /etc/sudoers 9 | ansible.builtin.command: grep '^Defaults[ \s]*requiretty' /etc/sudoers 10 | register: __sap_hana_preconfigure_register_etc_sudoers_requiretty_assert 11 | changed_when: no 12 | ignore_errors: yes 13 | 14 | - name: Assert that "Defaults requiretty" is not set in /etc/sudoers 15 | ansible.builtin.assert: 16 | that: __sap_hana_preconfigure_register_etc_sudoers_requiretty_assert is failed 17 | fail_msg: "FAIL: The string 'Defaults requiretty' was found in /etc/sudoers!" 18 | success_msg: "PASS: The string 'Defaults requiretty' was not found in /etc/sudoers!" 19 | ignore_errors: "{{ sap_hana_preconfigure_assert_ignore_errors | d(false) }}" 20 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/09-check-etc-sudoers.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2292690-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2292690 Step 9: Database startup fails with an error message - /etc/sudoers" 7 | 8 | - name: Ensure "Defaults requiretty" is not set in /etc/sudoers 9 | ansible.builtin.lineinfile: 10 | path: /etc/sudoers 11 | state: absent 12 | regexp: '^Defaults[ \s]*requiretty' 13 | validate: '/usr/sbin/visudo -cf %s' 14 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2292690/10-ibm-energyscale.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | #### Special recommendations for Power 8 5 | - name: Configure 2292690-10 6 | ansible.builtin.debug: 7 | msg: "SAP note 2292690 Step 10: IBM EnergyScale for POWER8 Processor-Based Systems" 8 | 9 | - name: Ensure pseries-energy package is not installed 10 | ansible.builtin.package: 11 | name: pseries-energy 12 | state: absent 13 | when: ansible_architecture == "ppc64le" 14 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2684254/installation.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Ensure that the required packages are installed 5 | ansible.builtin.package: 6 | state: present 7 | name: "{{ item }}" 8 | loop: "{{ __sap_hana_preconfigure_packages_2684254 }}" 9 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/01-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/assert-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/01-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/configure-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/02-assert-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 2: Configure tuned to use profile sap-hana" 7 | 8 | - name: Import ../../RedHat/generic/assert-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/02-configure-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 2: Configure tuned to use profile for SAP HANA" 7 | 8 | - name: Import ../../RedHat/generic/configure-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/03-assert-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 3: Disable ABRT, core dumps, and kdump" 7 | 8 | - name: Import ../../RedHat/generic/assert-abrtd.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-abrtd.yml 10 | 11 | - name: Import ../../RedHat/generic/assert-abrt-ccpp.yml 12 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-abrt-ccpp.yml 13 | 14 | - name: Import ../../RedHat/generic/assert-coredumps.yml 15 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-coredumps.yml 16 | 17 | - name: Import ../../RedHat/generic/assert-kdump.yml 18 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kdump.yml 19 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/03-disable-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 3: Disable ABRT, core dumps, and kdump" 7 | 8 | - name: Import ../../RedHat/generic/disable-abrtd.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-abrtd.yml 10 | 11 | - name: Import ../../RedHat/generic/disable-abrt-ccpp.yml 12 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-abrt-ccpp.yml 13 | 14 | - name: Import ../../RedHat/generic/disable-coredumps.yml 15 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-coredumps.yml 16 | 17 | - name: Import ../../RedHat/generic/disable-kdump.yml 18 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-kdump.yml 19 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/04-assert-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Assert 2777782-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/assert-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/04-turn-off-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Configure 2777782-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/turn-off-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/turn-off-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/05-assert-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Assert 2777782-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 5: Disable Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/assert-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/05-configure-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Configure 2777782-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 5: Disable Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/configure-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/06-assert-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Assert 2777782-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/assert-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/06-configure-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Configure 2777782-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 2777782 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/configure-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/07-assert-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 2777782-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 2777782 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/07-configure-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 2777782-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 2777782 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/08-assert-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 2777782-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 2777782 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/08-configure-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 2777782-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 2777782 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/09-assert-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/assert-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/09-disable-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/disable-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/10-assert-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pidmax' is asserted 9 | ansible.builtin.debug: 10 | msg: "INFO: Kernel parameter 'kernel.pid_max' is already asserted by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/10-increase-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pid_max' is set 9 | ansible.builtin.debug: 10 | msg: "Kernel parameter 'kernel.pid_max' is already set by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/11-assert-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 2777782-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/assert-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/2777782/11-enable-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 2777782-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 2777782 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/enable-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/enable-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/01-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/assert-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/01-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/configure-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/02-assert-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 2: Configure tuned to use profile sap-hana" 7 | 8 | - name: Import ../../RedHat/generic/assert-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/02-configure-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 2: Configure tuned to use profile for SAP HANA" 7 | 8 | - name: Import ../../RedHat/generic/configure-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/03-assert-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 3: Disable kdump" 7 | 8 | - name: Import ../../RedHat/generic/assert-kdump.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kdump.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/03-disable-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 3: Disable kdump" 7 | 8 | - name: Import ../../RedHat/generic/disable-kdump.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-kdump.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/04-assert-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Assert 3108302-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/assert-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/04-turn-off-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Configure 3108302-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/turn-off-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/turn-off-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/05-assert-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Assert 3108302-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 5: Configure Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/assert-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/05-configure-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" or "transparent_hugepages=madvise" 5 | - name: Configure 3108302-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 5: Configure Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/configure-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/06-assert-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Assert 3108302-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/assert-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/06-configure-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Configure 3108302-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 3108302 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/configure-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/07-assert-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 3108302-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 3108302 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/07-configure-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 3108302-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 3108302 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/08-assert-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 3108302-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 3108302 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/08-configure-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 3108302-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 3108302 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/09-assert-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/assert-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/09-disable-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/disable-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/10-assert-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pidmax' is asserted 9 | ansible.builtin.debug: 10 | msg: "INFO: Kernel parameter 'kernel.pid_max' is already asserted by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/10-increase-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pid_max' is set 9 | ansible.builtin.debug: 10 | msg: "Kernel parameter 'kernel.pid_max' is already set by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/11-assert-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3108302-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/assert-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3108302/11-enable-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3108302-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 3108302 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/enable-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/enable-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/01-assert-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/assert-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/01-configure-selinux.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-1 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 1: Configure SELinux" 7 | 8 | - name: Import ../../RedHat/generic/configure-selinux.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-selinux.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/02-assert-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 2: Configure tuned to use profile sap-hana" 7 | 8 | - name: Import ../../RedHat/generic/assert-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/02-configure-tuned.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-2 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 2: Configure tuned to use profile for SAP HANA" 7 | 8 | - name: Import ../../RedHat/generic/configure-tuned.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-tuned.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/03-assert-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 3: Disable kdump" 7 | 8 | - name: Import ../../RedHat/generic/assert-kdump.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-kdump.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/03-disable-abrt-coredumps-kdump.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-3 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 3: Disable kdump" 7 | 8 | - name: Import ../../RedHat/generic/disable-kdump.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-kdump.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/04-assert-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Assert 3562919-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/assert-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/04-turn-off-auto-numa-balancing.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "kernel.numa_balancing = 0" 5 | - name: Configure 3562919-4 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 4: Turn off auto-numa balancing" 8 | 9 | - name: Import ../../RedHat/generic/turn-off-auto-numa-balancing.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/turn-off-auto-numa-balancing.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/05-assert-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" 5 | - name: Assert 3562919-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 5: Configure Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/assert-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/05-configure-thp.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "transparent_hugepages=never" or "transparent_hugepages=madvise" 5 | - name: Configure 3562919-5 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 5: Configure Transparent Hugepages (THP)" 8 | 9 | - name: Import ../../RedHat/generic/configure-thp.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-thp.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/06-assert-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Assert 3562919-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/assert-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/06-configure-c-states-for-lower-latency.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "force_latency=70" 5 | - name: Configure 3562919-6 6 | ansible.builtin.debug: 7 | msg: "SAP note 3562919 Step 6: Configure C-States for lower latency (x86_64 platform only)" 8 | 9 | - name: Import ../../RedHat/generic/configure-c-states-for-lower-latency.yml 10 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-c-states-for-lower-latency.yml 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/07-assert-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 3562919-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 3562919 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/07-configure-cpu-governor.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "governor=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 3562919-7 7 | ansible.builtin.debug: 8 | msg: "SAP note 3562919 Step 7: Configure CPU Governor for performance (x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-cpu-governor-for-performance.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-cpu-governor-for-performance.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/08-assert-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Assert 3562919-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 3562919 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/assert-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/08-configure-epb.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # can be configured by tuned profile sap-hana, entry "energy_perf_bias=performance" 5 | # in included tuned profile throughput-performance 6 | - name: Configure 3562919-8 7 | ansible.builtin.debug: 8 | msg: "SAP note 3562919 Step 8: Configure Energy Performance Bias (EPB, x86_64 platform only)" 9 | 10 | - name: Import ../../RedHat/generic/configure-epb.yml 11 | ansible.builtin.import_tasks: ../../RedHat/generic/configure-epb.yml 12 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/09-assert-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/assert-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/09-disable-ksm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-9 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 9: Disable Kernel samepage merging (KSM)" 7 | 8 | - name: Import ../../RedHat/generic/disable-ksm.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/disable-ksm.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/10-assert-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pidmax' is asserted 9 | ansible.builtin.debug: 10 | msg: "INFO: Kernel parameter 'kernel.pid_max' is already asserted by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/10-increase-pidmax.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-10 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 10: Increase kernel.pidmax" 7 | 8 | - name: Notify about where 'kernel.pid_max' is set 9 | ansible.builtin.debug: 10 | msg: "Kernel parameter 'kernel.pid_max' is already set by role 'sap_general_preconfigure' if necessary." 11 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/11-assert-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Assert 3562919-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/assert-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/assert-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/3562919/11-enable-tsx.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Configure 3562919-11 5 | ansible.builtin.debug: 6 | msg: "SAP note 3562919 Step 11: Enable TSX (Intel Transactional Synchronization Extensions)" 7 | 8 | - name: Import ../../RedHat/generic/enable-tsx.yml 9 | ansible.builtin.import_tasks: ../../RedHat/generic/enable-tsx.yml 10 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/assert-1944799.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # 1944799 - SAP HANA Guidelines for SLES Operating System Installation 4 | 5 | - name: Assert - Display SAP note number 1944799 and its version 6 | ansible.builtin.debug: 7 | msg: "SAP note {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1944799$') | first).number }} 8 | (version {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^1944799$') | first).version }}): 9 | SAP HANA Guidelines for SLES Operating System Installation" 10 | 11 | - name: Import tasks from '1944799/assert-installation.yml' 12 | ansible.builtin.import_tasks: 1944799/assert-installation.yml 13 | 14 | # - name: Import tasks from '1944799/assert-configuration.yml' 15 | # ansible.builtin.import_tasks: 1944799/assert-configuration.yml 16 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tasks/sapnote/assert-2009879.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # OS RELEASE: RHEL 6.x, 7.x 4 | # Check EUS Channels 5 | # https://launchpad.support.sap.com/#/notes/2009879 6 | # 7 | # This SAP Note Contains the general installation guides for all RHEL systems in PDF format 8 | # We include the release specific stuff here 9 | # 10 | 11 | - name: Assert - Display SAP note number 2009879 and its version 12 | ansible.builtin.debug: 13 | msg: "SAP note {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^2009879$') | first).number }} 14 | (version {{ (__sap_hana_preconfigure_sapnotes_versions | selectattr('number', 'match', '^2009879$') | first).version }}): SAP HANA Guidelines for RHEL 7 (pdf)" 15 | 16 | ### Package installation is done in installation.yml 17 | 18 | - name: Import tasks from 'assert-2009879_X.yml' 19 | ansible.builtin.include_tasks: assert-2009879_{{ ansible_distribution_major_version }}.yml 20 | -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tests/.pylintrc: -------------------------------------------------------------------------------- 1 | ../../../.pylintrc -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tests/beautify-assert-output.sh: -------------------------------------------------------------------------------- 1 | ../tools/beautify-assert-output.sh -------------------------------------------------------------------------------- /roles/sap_hana_preconfigure/tests/sap_hana_preconfigure-default-settings.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - hosts: all 4 | collections: 5 | - community.sap_install 6 | roles: 7 | - sap_hana_preconfigure 8 | -------------------------------------------------------------------------------- /roles/sap_hostagent/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_hostagent/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_hostagent/defaults/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Global Default variables 4 | # Adapt to your default settings 5 | 6 | # Installation type: RPM, SAR or OTHER -- Defaulting to RPM 7 | sap_hostagent_installation_type: "rpm" 8 | 9 | # Temporary directory for SAPHOSTAGENT files 10 | sap_hostagent_agent_tmp_directory: "/tmp/hostagent" 11 | 12 | # Remove the temporary directory after the installation has been done 13 | sap_hostagent_clean_tmp_directory: false 14 | 15 | # SSL Variables 16 | sap_hostagent_config_ssl: False 17 | -------------------------------------------------------------------------------- /roles/sap_hostagent/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | author: IBM Lab for SAP Solutions, Red Hat for SAP Community of Practice 5 | description: Standalone installation of SAP Host Agent on Linux OS (RHEL, SLES) 6 | license: Apache-2.0 7 | min_ansible_version: 2.9 8 | platforms: 9 | - name: EL 10 | versions: [ 7, 8, 9 ] 11 | - name: SLES 12 | versions: [ 15SP3 ] 13 | galaxy_tags: [ 'sap', 'rhel', 'redhat', 'sles', 'suse' ] 14 | dependencies: [] 15 | -------------------------------------------------------------------------------- /roles/sap_hostagent/tasks/common_post.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Ensure {{ sap_hostagent_agent_tmp_directory }} directory is removed from the target host 5 | - name: Ensure {{ sap_hostagent_agent_tmp_directory }} directory does not exist 6 | ansible.builtin.file: 7 | path: "{{ sap_hostagent_agent_tmp_directory }}" 8 | state: absent 9 | mode: '0755' 10 | when: sap_hostagent_clean_tmp_directory 11 | -------------------------------------------------------------------------------- /roles/sap_hostagent/tasks/common_pre.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Ensure {{ sap_hostagent_agent_tmp_directory }} directory exists on the target host 5 | - name: Ensure {{ sap_hostagent_agent_tmp_directory }} directory exists 6 | ansible.builtin.file: 7 | path: "{{ sap_hostagent_agent_tmp_directory }}" 8 | state: directory 9 | mode: '0755' 10 | -------------------------------------------------------------------------------- /roles/sap_hostagent/tasks/deploy_bundle.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Extract the SAPHOSTAGENT TGZ file from the Bundle 5 | ansible.builtin.unarchive: 6 | src: "{{ sap_hostagent_bundle_path }}/HOSTAGENT.TGZ" 7 | dest: "{{ sap_hostagent_agent_tmp_directory }}" 8 | remote_src: yes 9 | mode: '0755' 10 | 11 | - name: Install SAPHOSTAGENT 12 | ansible.builtin.command: "{{ sap_hostagent_agent_tmp_directory }}/global/hdb/saphostagent_setup/saphostexec -install" 13 | register: installagent 14 | args: 15 | chdir: "{{ sap_hostagent_agent_tmp_directory }}/global/hdb/saphostagent_setup/" 16 | changed_when: "'Install service' in installagent.stdout" 17 | -------------------------------------------------------------------------------- /roles/sap_hostagent/tasks/deploy_rpm.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Copy RPM based SAPHOSTAGENT to the target host 5 | ansible.builtin.copy: 6 | src: "{{ sap_hostagent_rpm_local_path }}/{{ sap_hostagent_rpm_file_name }}" 7 | dest: "{{ sap_hostagent_agent_tmp_directory }}/{{ sap_hostagent_rpm_file_name }}" 8 | mode: '0755' 9 | when: sap_hostagent_rpm_local_path is defined 10 | 11 | - name: Ensure RPM file is installed 12 | ansible.builtin.yum: 13 | name: "{{ sap_hostagent_agent_tmp_directory }}/{{ sap_hostagent_rpm_file_name }}" 14 | state: present 15 | disable_gpg_check: yes 16 | when: sap_hostagent_rpm_local_path is defined 17 | 18 | - name: Ensure RPM file is installed 19 | ansible.builtin.yum: 20 | name: "{{ sap_hostagent_rpm_remote_path }}/{{ sap_hostagent_rpm_file_name }}" 21 | state: present 22 | disable_gpg_check: yes 23 | when: sap_hostagent_rpm_remote_path is defined 24 | -------------------------------------------------------------------------------- /roles/sap_hostagent/tasks/deploy_sar_remote.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Extract the SAPHOSTAGENT archive using SAPCAR 5 | ansible.builtin.command: >- 6 | {{ sap_hostagent_sapcar_remote_path }}/{{ sap_hostagent_sapcar_file_name }} \ 7 | -xvf {{ sap_hostagent_sar_remote_path }}/{{ sap_hostagent_sar_file_name }} -manifest SIGNATURE.SMF 8 | register: extractagent 9 | args: 10 | chdir: "{{ sap_hostagent_agent_tmp_directory }}" 11 | changed_when: "'SAPCAR: processing archive' in extractagent.stdout" 12 | 13 | - name: Install SAPHOSTAGENT 14 | ansible.builtin.command: "{{ sap_hostagent_agent_tmp_directory }}/saphostexec -install" 15 | register: installagent 16 | args: 17 | chdir: "{{ sap_hostagent_agent_tmp_directory }}" 18 | changed_when: "'Install service' in installagent.stdout" 19 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: IBM Lab for SAP Solutions, Red Hat for SAP Community of Practice 6 | description: Detection of SAP Software installation media, for usage with other Ansible Roles 7 | license: Apache-2.0 8 | min_ansible_version: 2.9 9 | platforms: 10 | - name: EL 11 | versions: [ 7, 8, 9 ] 12 | - name: SLES 13 | versions: [ 15SP3 ] 14 | galaxy_tags: [ 'sap', 'rhel', 'redhat', 'sles', 'suse' ] 15 | dependencies: [] 16 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/tasks/cleanup/remove_sapfile_utility.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP Install Media Detect - Prepare - Remove temporary directory 5 | ansible.builtin.file: 6 | path: "{{ __sap_install_media_detect_tmpdir.path }}" 7 | state: absent 8 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/tasks/prepare/enable_zip_handling.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP Install Media Detect - Prepare - Ensure the presence of the 'unzip' package 5 | ansible.builtin.package: 6 | name: 'unzip' 7 | state: present 8 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/tasks/prepare/provide_sapfile_utility.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP Install Media Detect - Prepare - Create temporary directory to store various files 5 | ansible.builtin.tempfile: 6 | state: directory 7 | suffix: media_detect 8 | register: __sap_install_media_detect_tmpdir 9 | 10 | - name: SAP Install Media Detect - Prepare - Copy the sapfile utility to '{{ __sap_install_media_detect_tmpdir.path }}' 11 | ansible.builtin.copy: 12 | src: tmp/sapfile 13 | dest: "{{ __sap_install_media_detect_tmpdir.path }}/sapfile" 14 | owner: root 15 | group: root 16 | mode: '0755' 17 | 18 | - name: SAP Install Media Detect - Prepare - Set fact for the sapfile utility 19 | ansible.builtin.set_fact: 20 | __sap_install_media_detect_sapfile_path: "{{ __sap_install_media_detect_tmpdir.path }}/sapfile" 21 | -------------------------------------------------------------------------------- /roles/sap_install_media_detect/tasks/rename/add_file_extension.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP Install Media Detect - Rename - Add 'zip' extension to zip files 5 | ansible.builtin.include_tasks: ./add_zip_extension_loop_block.yml 6 | loop: "{{ __sap_install_media_detect_fact_zip_files_without_extension | d([]) }}" 7 | loop_control: 8 | loop_var: line_item 9 | 10 | - name: SAP Install Media Detect - Rename - Add 'exe' extension to self-extracting rar files 11 | ansible.builtin.include_tasks: ./add_exe_extension_loop_block.yml 12 | loop: "{{ __sap_install_media_detect_fact_exe_files_without_extension | d([]) }}" 13 | loop_control: 14 | loop_var: line_item 15 | 16 | - name: SAP Install Media Detect - Rename - Add 'rar' extension to rar files 17 | ansible.builtin.include_tasks: ./add_rar_extension_loop_block.yml 18 | loop: "{{ __sap_install_media_detect_fact_rar_files_without_extension | d([]) }}" 19 | loop_control: 20 | loop_var: line_item 21 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, Markus Koch 6 | description: Configuration of /etc/hosts 7 | company: Red Hat, Inc. 8 | 9 | license: Apache-2.0 10 | 11 | min_ansible_version: "2.11" 12 | 13 | platforms: 14 | - name: "EL" 15 | versions: 16 | - "7" 17 | - "8" 18 | - "9" 19 | - name: "SLES" 20 | versions: 21 | - "15" 22 | 23 | galaxy_tags: 24 | - rhel 25 | - redhat 26 | - sles 27 | - suse 28 | 29 | dependencies: [] 30 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/tests/README.md: -------------------------------------------------------------------------------- 1 | # Some testing guidelines 2 | 3 | for testing the role without mangling around with a real /etc/hosts file it is possible 4 | to create a test file in the host file format, like the following: 5 | 6 | ```[bash] 7 | $ cat ./test.hostsfile 8 | 127.0.0.1 localhost host1 localhost.localdomain host1.abc.de 9 | 1.2.3.5 thishost.to.be.deleted 10 | 1.2.3.6 host2 11 | ``` 12 | 13 | Then you can run the role with 14 | 15 | ```[bash] 16 | ansible-playbook -K test.yml -e __sap_maintain_etc_hosts_file=./test.hostsfile 17 | ``` 18 | 19 | The result should look like: 20 | 21 | ```[bash] 22 | 127.0.0.1 localhost localhost.localdomain 23 | 1.2.3.4 host1.abc.de host1 alias1 anotheralias2 # Here comes text after hashsign 24 | ``` 25 | 26 | Please feel free to test with other example host files and report errors accordingly 27 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost 2 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/tests/test.hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/tests/test.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # you can run 'ansible-playbook test.yml -K -e __sap_maintain_etc_hosts_file=./test.hosts' for testing this role 4 | - name: Test play 5 | hosts: localhost 6 | gather_facts: false 7 | 8 | vars: 9 | sap_maintain_etc_hosts_list: 10 | - node_ip: 1.2.3.5 11 | state: absent 12 | - node_name: host1 13 | state: absent 14 | - node_ip: 1.2.3.5 15 | node_name: host1 16 | node_domain: abc.de 17 | node_role: primary 18 | hana_site: DC1 19 | - node_ip: 1.2.3.7 20 | node_name: host2 21 | node_domain: abc.de 22 | - node_ip: 1.2.3.4 23 | node_name: host3 24 | node_domain: abc.de 25 | aliases: 26 | - alias1 27 | - anotheralias2 28 | node_comment: "Here comes text after hashsign" 29 | state: present 30 | roles: 31 | - sap_maintain_etc_hosts 32 | -------------------------------------------------------------------------------- /roles/sap_maintain_etc_hosts/vars/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # vars file for sap_maintain_etc_hosts 4 | __sap_maintain_etc_hosts_file: /etc/hosts 5 | __sap_maintain_etc_hosts_gather_subset: 6 | - 'default_ipv4' 7 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: Red Hat for SAP Community of Practice, Bernd Finger, Rainer Leber 6 | description: Prepare Linux OS (RHEL, SLES) with specific configurations required for SAP NetWeaver installation 7 | company: Red Hat, Inc. 8 | license: Apache-2.0 9 | min_ansible_version: 2.9 10 | platforms: 11 | - name: EL 12 | versions: [ 7, 8, 9 ] 13 | galaxy_tags: [ 'sap', 'netweaver', 'rhel', 'redhat', 'sles', 'suse' ] 14 | dependencies: [] 15 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/tasks/RedHat/installation.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: Gather package facts 5 | ansible.builtin.package_facts: 6 | 7 | - name: Ensure required packages for SAP NetWeaver are installed 8 | ansible.builtin.package: 9 | state: present 10 | name: "{{ sap_netweaver_preconfigure_packages }}" 11 | 12 | - name: Ensure required packages for Adobe Document Services are installed, x86_64 only 13 | ansible.builtin.package: 14 | state: present 15 | name: "{{ __sap_netweaver_preconfigure_adobe_doc_services_packages }}" 16 | when: 17 | - ansible_architecture == 'x86_64' 18 | - sap_netweaver_preconfigure_use_adobe_doc_services 19 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/tests/.pylintrc: -------------------------------------------------------------------------------- 1 | ../../../.pylintrc -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/tests/beautify-assert-output.sh: -------------------------------------------------------------------------------- 1 | ../tools/beautify-assert-output.sh -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/tests/sap_netweaver_preconfigure-default-settings.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | - hosts: all 4 | collections: 5 | - community.sap_install 6 | roles: 7 | - sap_netweaver_preconfigure 8 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/vars/RedHat_10.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # vars file for sap_netweaver_preconfigure 5 | 6 | __sap_netweaver_preconfigure_sapnotes: 7 | - "2526952" 8 | 9 | __sap_netweaver_preconfigure_sapnotes_versions: 10 | - { number: '2526952', version: '5' } 11 | 12 | __sap_netweaver_preconfigure_packages: 13 | - tuned-profiles-sap 14 | 15 | # SAP note 3242422 v2: 16 | __sap_netweaver_preconfigure_adobe_doc_services_packages: 17 | - autoconf 18 | - automake 19 | - cyrus-sasl 20 | - expat 21 | - fontconfig 22 | - glibc-devel 23 | - keyutils-libs 24 | - krb5-libs 25 | - libcom_err 26 | - libidn2 27 | - libselinux 28 | - libxcb 29 | - nspr 30 | - nss 31 | - nss-softokn 32 | - nss-softokn-freebl 33 | - nss-util 34 | - openldap 35 | - openssl 36 | - zlib 37 | - libstdc++ 38 | - libX11 39 | - libXau 40 | - glibc 41 | - libstdc++ 42 | - libgcc 43 | - libuuid 44 | -------------------------------------------------------------------------------- /roles/sap_netweaver_preconfigure/vars/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # define variables here that will not change 5 | # Those are valid for all OS 6 | # 7 | 8 | # dummy entry for passing the arg spec validation: 9 | __sap_netweaver_preconfigure_packages: [] 10 | __sap_netweaver_preconfigure_patterns: [] 11 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: IBM Lab for SAP Solutions, Red Hat for SAP Community of Practice 6 | description: Configuration of disk layout and filesystem setup for SAP Software 7 | license: Apache-2.0 8 | min_ansible_version: 2.9 9 | platforms: 10 | - name: EL 11 | versions: [ 7, 8, 9 ] 12 | - name: SLES 13 | versions: [ 15SP3 ] 14 | galaxy_tags: [ 'sap', 'rhel', 'redhat', 'sles', 'suse' ] 15 | dependencies: [] 16 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/tasks/platform_tasks/aws_main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Placeholder for AWS platform tasks 4 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/vars/RedHat.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # RHEL specific variables 4 | 5 | __sap_storage_setup_extra_packages: 6 | - lvm2 7 | - nfs-utils 8 | # - lvm2-dbusd 9 | 10 | __sap_storage_setup_extra_packages_multipath: 11 | - device-mapper-multipath 12 | 13 | #__sap_storage_setup_extra_services: 14 | # - lvm2-lvmdbusd 15 | 16 | __sap_storage_setup_extra_services_multipath: 17 | - multipathd 18 | -------------------------------------------------------------------------------- /roles/sap_storage_setup/vars/Suse.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # SLES specific variables 4 | 5 | __sap_storage_setup_extra_packages: 6 | - lvm2 7 | - nfs-client 8 | 9 | __sap_storage_setup_extra_packages_multipath: 10 | - multipath-tools 11 | 12 | #__sap_storage_setup_extra_services: 13 | # - lvm2-lvmdbusd 14 | 15 | __sap_storage_setup_extra_services_multipath: 16 | - multipathd 17 | -------------------------------------------------------------------------------- /roles/sap_swpm/.ansible-lint: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - tests/ 4 | enable_list: 5 | - yaml 6 | skip_list: 7 | # We don't want to enforce new Ansible versions for Galaxy: 8 | - meta-runtime[unsupported-version] 9 | # We do not want to use checks which are marked as experimental: 10 | - experimental 11 | # We use ignore_errors for all the assert tasks, which should be acceptable: 12 | - ignore-errors 13 | # We want to allow single digit version numbers in a role's meta/main.yml file: 14 | - schema 15 | # Allow templating inside name because it creates more detailed output: 16 | - name[template] 17 | -------------------------------------------------------------------------------- /roles/sap_swpm/.yamllint.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # Based on ansible-lint config 4 | extends: default 5 | 6 | rules: 7 | braces: {max-spaces-inside: 1, level: error} 8 | brackets: {max-spaces-inside: 1, level: error} 9 | # colons: {max-spaces-after: -1, level: error} 10 | # commas: {max-spaces-after: -1, level: error} 11 | comments: 12 | require-starting-space: false 13 | min-spaces-from-content: 1 14 | comments-indentation: disable 15 | # document-start: disable 16 | # empty-lines: {max: 3, level: error} 17 | # hyphens: {level: error} 18 | # indentation: disable 19 | # key-duplicates: enable 20 | line-length: disable 21 | # new-line-at-end-of-file: disable 22 | # new-lines: {type: unix} 23 | # trailing-spaces: disable 24 | truthy: disable 25 | octal-values: 26 | forbid-implicit-octal: true 27 | forbid-explicit-octal: true 28 | -------------------------------------------------------------------------------- /roles/sap_swpm/meta/collection-requirements.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | collections: 5 | - name: ansible.posix 6 | - name: community.general 7 | -------------------------------------------------------------------------------- /roles/sap_swpm/meta/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | galaxy_info: 4 | namespace: community 5 | author: IBM Lab for SAP Solutions, Red Hat for SAP Community of Practice, Jason Masipiquena, Sean Freeman 6 | description: Installation of SAP Software using the SAP Software Provisioning Manager (SWPM) on Linux OS (RHEL, SLES) 7 | license: Apache-2.0 8 | min_ansible_version: 2.9 9 | platforms: 10 | - name: EL 11 | versions: [ 7, 8, 9 ] 12 | - name: SLES 13 | versions: [ 15SP3 ] 14 | galaxy_tags: [ 'sap', 'swpm', 'sapinst', 'rhel', 'redhat', 'sles', 'suse' ] 15 | dependencies: [] 16 | -------------------------------------------------------------------------------- /roles/sap_swpm/tasks/main.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | - name: SAP SWPM - run pre_install tasks 5 | ansible.builtin.import_tasks: pre_install.yml 6 | tags: 7 | - sap_swpm_pre_install 8 | - sap_swpm_install 9 | 10 | - name: SAP SWPM - run swpm 11 | ansible.builtin.import_tasks: swpm.yml 12 | when: sap_swpm_run_sapinst 13 | tags: 14 | - sap_swpm_install 15 | 16 | - name: SAP SWPM - run postinstall task 17 | ansible.builtin.import_tasks: post_install.yml 18 | when: sap_swpm_run_sapinst 19 | -------------------------------------------------------------------------------- /roles/sap_swpm/tasks/post_install/update_firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # This task requires the variable passed_port 4 | 5 | - name: Update Firewall - {{ passed_port + '/tcp' }} 6 | ansible.posix.firewalld: 7 | zone: public 8 | port: "{{ passed_port }}/tcp" 9 | permanent: yes 10 | immediate: yes 11 | state: enabled 12 | -------------------------------------------------------------------------------- /roles/sap_swpm/tasks/pre_install/install_type/general_install.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # Placeholder for future if required 5 | -------------------------------------------------------------------------------- /roles/sap_swpm/tasks/pre_install/install_type/restore_install.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | 4 | # System Copy restore installation 5 | 6 | - name: SAP SWPM Pre Install - Check availability backup location - {{ sap_swpm_backup_location }} 7 | ansible.builtin.stat: 8 | path: "{{ sap_swpm_backup_location }}" 9 | register: sap_swpm_backup_location_stat 10 | failed_when: not sap_swpm_backup_location_stat.stat.exists and '.CP' in sap_swpm_product_catalog_id 11 | 12 | - name: SAP SWPM Pre Install - Change ownership of backup location - {{ sap_swpm_backup_location }} 13 | ansible.builtin.file: 14 | path: "{{ sap_swpm_backup_location }}" 15 | state: directory 16 | recurse: yes 17 | mode: '0755' 18 | owner: root 19 | group: root 20 | when: 21 | - sap_swpm_backup_location_stat.stat.exists and sap_swpm_backup_location_stat.stat.isdir 22 | -------------------------------------------------------------------------------- /roles/sap_swpm/tasks/pre_install/update_firewall.yml: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: Apache-2.0 2 | --- 3 | # This task requires the variable passed_port 4 | 5 | - name: Update Firewall - {{ passed_port + '/tcp' }} 6 | ansible.posix.firewalld: 7 | zone: public 8 | port: "{{ passed_port }}/tcp" 9 | permanent: yes 10 | immediate: yes 11 | state: enabled 12 | -------------------------------------------------------------------------------- /tests/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sap-linuxlab/community.sap_install/8a89687bc58f865f6d77a38d960323345ff2a60f/tests/.gitkeep -------------------------------------------------------------------------------- /tests/sanity/ignore-2.10.txt: -------------------------------------------------------------------------------- 1 | roles/sap_general_preconfigure/tools/beautify-assert-output.sh shebang!skip 2 | roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh shebang!skip 3 | roles/sap_hana_preconfigure/tools/beautify-assert-output.sh shebang!skip 4 | roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh shebang!skip 5 | -------------------------------------------------------------------------------- /tests/sanity/ignore-2.11.txt: -------------------------------------------------------------------------------- 1 | roles/sap_general_preconfigure/tools/beautify-assert-output.sh shebang!skip 2 | roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh shebang!skip 3 | roles/sap_hana_preconfigure/tools/beautify-assert-output.sh shebang!skip 4 | roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh shebang!skip 5 | -------------------------------------------------------------------------------- /tests/sanity/ignore-2.12.txt: -------------------------------------------------------------------------------- 1 | roles/sap_general_preconfigure/tools/beautify-assert-output.sh shebang!skip 2 | roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh shebang!skip 3 | roles/sap_hana_preconfigure/tools/beautify-assert-output.sh shebang!skip 4 | roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh shebang!skip 5 | -------------------------------------------------------------------------------- /tests/sanity/ignore-2.13.txt: -------------------------------------------------------------------------------- 1 | roles/sap_general_preconfigure/tools/beautify-assert-output.sh shebang!skip 2 | roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh shebang!skip 3 | roles/sap_hana_preconfigure/tools/beautify-assert-output.sh shebang!skip 4 | roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh shebang!skip 5 | -------------------------------------------------------------------------------- /tests/sanity/ignore-2.9.txt: -------------------------------------------------------------------------------- 1 | roles/sap_general_preconfigure/tools/beautify-assert-output.sh shebang!skip 2 | roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh shebang!skip 3 | roles/sap_hana_preconfigure/tools/beautify-assert-output.sh shebang!skip 4 | roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh shebang!skip 5 | -------------------------------------------------------------------------------- /workflows/check_outdate_deps/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.12-slim 2 | 3 | COPY check_deps.py /check_deps.py 4 | RUN chmod +x /check_deps.py 5 | 6 | RUN pip3 install requests; \ 7 | apt-get update; \ 8 | apt-get install -y --no-install-recommends git 9 | 10 | ENTRYPOINT [ "/check_deps.py" ] 11 | -------------------------------------------------------------------------------- /workflows/check_outdate_deps/action.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | name: 'Check dependencies and try to solve it' 4 | description: 'This action will check dependencies in .github/workflows that are installed using pip and open issue and create a pull request to solve the problem' 5 | runs: 6 | using: 'docker' 7 | image: 'Dockerfile' 8 | --------------------------------------------------------------------------------