Skip to content

Commit

Permalink
Merge pull request #771 from sap-linuxlab/dev
Browse files Browse the repository at this point in the history
collection: merge dev to main for release 1.4.1
  • Loading branch information
berndfinger authored Jun 24, 2024
2 parents 42af6ba + b25f536 commit c1b479e
Show file tree
Hide file tree
Showing 176 changed files with 3,831 additions and 854 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/ansible-test-sanity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@
name: ansible-test sanity of the collection

on:
schedule:
- cron: '31 12 * * 1'

pull_request:
branches:
- main
- dev
workflow_dispatch:

jobs:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
---

name: CodeSpell

on:
Expand Down
45 changes: 45 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,51 @@ community.sap_install Release Notes
.. contents:: Topics


v1.4.1
======

Release Summary
---------------

| Release Date: 2024-06-21
| feat: sap_hana_install: add compatibility for fapolicyd
| feat: sap_swpm: append generate options for s4hana java
| feat: sap_ha_pacemaker_cluster: upgrade to ha_cluster Ansible Role with SLES compatibility
| feat: sap_ha_pacemaker_cluster: compatibility enhancement for SLES
| feat: sap_ha_pacemaker_cluster: improved handling of custom SAP HANA srHooks
| feat: sap_ha_pacemaker_cluster: handling for future merged Resource Agent package (SAPHanaSR-angi)
| feat: sap_ha_pacemaker_cluster: graceful SAP HANA start after PCMK Cluster start
| feat: sap_ha_pacemaker_cluster: ASCS ERS Simple Mount
| collection: add sample AAS installation var file
| collection: fix ansible-test sanity errors
| collection: for package_facts Ansible Module add python3-rpm requirement for SLES
| collection: use -i instead of -l test scripts
| sap_*_preconfigure: disable and stop sapconf when saptune run
| sap_general_preconfigure: fix /etc/hosts check in assert mode
| sap_general_preconfigure: revert to awk for asserting /etc/hosts
| sap_general_preconfigure: use tags for limiting the role scope
| sap_general_preconfigure: use the package module in most cases
| sap_general_preconfigure: use the role sap_maintain_etc_hosts - RHEL systems
| sap_hana_preconfigure: move handlers to the correct location
| sap_hana_preconfigure: catch SELinux disabled
| sap_hana_preconfigure: update kernel parameters for SLES
| sap_netweaver_preconfigure: sync with SAP note 3119751 v.13 for RHEL
| sap_anydb_install_oracle: fix temp directory removal
| sap_ha_pacemaker_cluster: use expect Ansible Module and add python3-pip requirement
| sap_ha_pacemaker_cluster: add retry for Azure Files (NFS) to avoid locks
| sap_ha_pacemaker_cluster: variable changes for different os and platforms
| sap_ha_pacemaker_cluster: fix pcs resource restart
| sap_hana_install: update documentation for parameter sap_hana_install_force
| sap_install_media_detect: detection of SAP Kernel Part I only
| sap_install_media_detect: duplicate SAR file handling for SAP Kernel, IGS, WebDisp
| sap_install_media_detect: directory handling fix for SAP SWPM
| sap_maintain_etc_hosts: fix wrong assert messages
| sap_maintain_etc_hosts: remove use ansible.utils.ip
| sap_storage_setup: fix for TB disks
| sap_swpm: directory handling fix for SAP SWPM
| sap_swpm: align execution and monitoring timeouts to 24hrs (86400s)
| sap_swpm: optionally skip setting file permissions
v1.4.0
======

Expand Down
43 changes: 43 additions & 0 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,46 @@ releases:
| sap_anydb_install_oracle: Feature add for Oracle DB install with patch
'
release_date: '2024-02-02'
1.4.1:
changes:
release_summary: '| Release Date: 2024-06-20
| feat: sap_hana_install: add compatibility for fapolicyd
| feat: sap_swpm: append generate options for s4hana java
| feat: sap_ha_pacemaker_cluster: upgrade to ha_cluster Ansible Role with SLES compatibility
| feat: sap_ha_pacemaker_cluster: compatibility enhancement for SLES
| feat: sap_ha_pacemaker_cluster: improved handling of custom SAP HANA srHooks
| feat: sap_ha_pacemaker_cluster: handling for future merged Resource Agent package (SAPHanaSR-angi)
| feat: sap_ha_pacemaker_cluster: graceful SAP HANA start after PCMK Cluster start
| feat: sap_ha_pacemaker_cluster: ASCS ERS Simple Mount
| collection: add sample AAS installation var file
| collection: fix ansible-test sanity errors
| collection: for package_facts Ansible Module add python3-rpm requirement for SLES
| collection: use -i instead of -l test scripts
| sap_*_preconfigure: disable and stop sapconf when saptune run
| sap_general_preconfigure: fix /etc/hosts check in assert mode
| sap_general_preconfigure: revert to awk for asserting /etc/hosts
| sap_general_preconfigure: use tags for limiting the role scope
| sap_general_preconfigure: use the package module in most cases
| sap_general_preconfigure: use the role sap_maintain_etc_hosts - RHEL systems
| sap_hana_preconfigure: move handlers to the correct location
| sap_hana_preconfigure: catch SELinux disabled
| sap_hana_preconfigure: update kernel parameters for SLES
| sap_netweaver_preconfigure: sync with SAP note 3119751 v.13 for RHEL
| sap_anydb_install_oracle: fix temp directory removal
| sap_ha_pacemaker_cluster: use expect Ansible Module and add python3-pip requirement
| sap_ha_pacemaker_cluster: add retry for Azure Files (NFS) to avoid locks
| sap_ha_pacemaker_cluster: variable changes for different os and platforms
| sap_ha_pacemaker_cluster: fix pcs resource restart
| sap_hana_install: update documentation for parameter sap_hana_install_force
| sap_install_media_detect: detection of SAP Kernel Part I only
| sap_install_media_detect: duplicate SAR file handling for SAP Kernel, IGS, WebDisp
| sap_install_media_detect: directory handling fix for SAP SWPM
| sap_maintain_etc_hosts: fix wrong assert messages
| sap_maintain_etc_hosts: remove use ansible.utils.ip
| sap_storage_setup: fix for TB disks
| sap_swpm: directory handling fix for SAP SWPM
| sap_swpm: align execution and monitoring timeouts to 24hrs (86400s)
| sap_swpm: optionally skip setting file permissions
'
release_date: '2024-06-20'
3 changes: 2 additions & 1 deletion galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace: community
name: sap_install

# The version of the collection. Must be compatible with semantic versioning
version: 1.4.0
version: 1.4.1

# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
Expand All @@ -25,6 +25,7 @@ authors:
- Janine Fuchs <jfuchs(at)redhat.com>
- Steven Stringer <steven.stringer(at)suse.com>
- Marcel Mamula <marcel.mamula(at)suse.com>
- Gabriele Puliti <gabriele.puliti(at)suse.com>

### OPTIONAL but strongly recommended
# A short summary description of the collection
Expand Down
1 change: 1 addition & 0 deletions playbooks/sample-sap-swpm-default-mode.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
- name: Import variables for sap_swpm Ansible Role (Default Mode)
ansible.builtin.include_vars:
# file: ./sample-variables-sap-swpm-default-mode-bw4hana-onehost-install.yml
# file: ./sample-variables-sap-swpm-default-mode-s4hana-distributed-aas-install
# file: ./sample-variables-sap-swpm-default-mode-s4hana-distributed-ascs-install
# file: ./sample-variables-sap-swpm-default-mode-s4hana-distributed-dbload-install
# file: ./sample-variables-sap-swpm-default-mode-s4hana-distributed-ers-install
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---

# Detect SAP NetWeaver software
sap_install_media_detect_source_directory: "/software"
sap_install_media_detect_source: local_dir
sap_install_media_detect_swpm: true
sap_install_media_detect_hostagent: true
sap_install_media_detect_igs: true
sap_install_media_detect_kernel: true
sap_install_media_detect_webdisp: false

# Product ID for New Installation
sap_swpm_product_catalog_id: NW_DI:S4HANA2020.CORE.HDB.PD
#NW_DI:S4HANA2020.CORE.HDB.ABAPHA

# Generate inifile.params using sap_swpm Ansible Role
sap_swpm_inifile_list:
- swpm_installation_media
- credentials
- db_connection_nw_hana
- nw_config_other
- nw_config_additional_application_server_instance
- nw_config_host_agent
- sap_os_linux_user

# Software
sap_swpm_software_path: /software/download_basket
sap_swpm_sapcar_path: /software/download_basket
sap_swpm_swpm_path: /software/download_basket

# NW Passwords
sap_swpm_master_password: "NewPass$321"
sap_swpm_ddic_000_password: "NewPass$321"

# HDB Passwords
sap_swpm_db_system_password: "NewPass$321"
sap_swpm_db_systemdb_password: "NewPass$321"
sap_swpm_db_schema_abap: "SAPHANADB"
sap_swpm_db_schema_abap_password: "NewPass$321"
sap_swpm_db_sidadm_password: "NewPass$321"

# NW Instance Parameters
sap_swpm_sid: S4D
sap_swpm_aas_instance_nr: "00"
sap_swpm_aas_instance_hostname: "s4h2020aas"

# Unix User ID
sap_swpm_sapadm_uid: '3000'
sap_swpm_sapsys_gid: '3001'
sap_swpm_sidadm_uid: '3001'

# HDB Instance Parameters
sap_swpm_db_host: "hana01"
sap_swpm_db_sid: HDD
sap_swpm_db_instance_nr: "00"
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ sap_swpm_inifile_list:
- nw_config_java_ume
- nw_config_host_agent
- sap_os_linux_user
- solman_credentials_swpm1
- nw_config_java_icm_credentials
- solman_abap_swpm1

# Software
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ sap_swpm_inifile_list:
- nw_config_ports
- nw_config_host_agent
# - sap_os_linux_user # Ignore, and SAP SWPM will auto-assign UID and GID
- solman_credentials_swpm1
- nw_config_java_icm_credentials
- nw_config_java_feature_template_ids

sap_swpm_java_template_id_selected_list:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,5 +89,5 @@

- name: Oracle DB Patch - Remove the temp dir
ansible.builtin.file:
path: "{{ sap_anydb_install_oracle_base }}/tmp_sbp"
state: absent
path: "{{ sap_anydb_install_oracle_base }}/tmp_sbp"
state: absent
52 changes: 52 additions & 0 deletions roles/sap_general_preconfigure/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,58 @@ sap_general_preconfigure_db_group_name: dba

<!-- END: Role Input Parameters for sap_general_preconfigure -->

## Tags (RHEL systems only)

With the following tags, the role can be called to perform certain activities only:
- tag `sap_general_preconfigure_installation`: Perform only the installation tasks
- tag `sap_general_preconfigure_configuration`: Perform only the configuration tasks
- tag `sap_general_preconfigure_3108316`: Perform only the tasks(s) related to this SAP note.
- tag `sap_general_preconfigure_2772999_03`: Perform only the tasks(s) related to step 3 of the SAP note.
- tag `sap_general_preconfigure_etc_hosts`: Perform only the tasks(s) related to this step. This step might be one of multiple
configuration activities of a SAP note. Also this step might be valid for multiple RHEL major releases.

Sample call for only performing all installation and configuration tasks (sample playbook name sap.yml, see the next section for
an example). This is the default behavior. If no tag is specified, all installation and configuration tasks are enabled:
```
# ansible-playbook sap.yml
```

Sample call for only performing all installation tasks:
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_installation
```

Sample call for only performing all configuration tasks:
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_configuration
```

Sample call for only verifying and modifying the /etc/hosts file:
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_etc_hosts
```

Sample call for performing all configuration steps except verifying and modifying the /etc/hosts file:
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_configuration --skip_tags=sap_general_preconfigure_etc_hosts
```

Sample call for only performing the configuration activities related to SAP note 3108316 (RHEL 9 specific):
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_3108316
```

Sample call for performing all configuration activities except those related to step 2 (SELinux settings) of SAP note 3108316 (RHEL 9 specific):
Sample call for only performing the configuration activities related to step 2 (SELinux settings) of SAP note 3108316 (RHEL 9 specific):
```
# ansible-playbook sap.yml --tags=sap_general_preconfigure_3108316_02
```

Sample call for performing all configuration activities except those related to step 2 (SELinux settings) of SAP note 3108316 (RHEL 9 specific):
```
# ansible-playbook sap-general-preconfigure.yml --tags=sap_general_preconfigure_configuration --skip_tags=sap_general_preconfigure_3108316_02
```

## Dependencies

This role does not depend on any other role.
Expand Down
14 changes: 6 additions & 8 deletions roles/sap_general_preconfigure/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,18 +145,16 @@ sap_general_preconfigure_kernel_parameters: "{{ __sap_general_preconfigure_kerne
sap_general_preconfigure_max_hostname_length: '13'
# The maximum length of the hostname. See SAP note 611361.

# Reason for noqa: A separate role is planned to replace the code which uses this variable.
sap_hostname: "{{ ansible_hostname }}" # noqa var-naming[no-role-prefix]
# If "global" variables are set, use those. If not, default to the values from gather_facts:
sap_general_preconfigure_ip: "{{ sap_ip | d(ansible_default_ipv4.address) }}"
# The IPV4 address to be used for updating or checking `/etc/hosts` entries.

sap_general_preconfigure_hostname: "{{ sap_hostname | d(ansible_hostname) }}"
# The hostname to be used for updating or checking `/etc/hosts` entries.

# Reason for noqa: A separate role is planned to replace the code which uses this variable.
sap_domain: "{{ ansible_domain }}" # noqa var-naming[no-role-prefix]
sap_general_preconfigure_domain: "{{ sap_domain | d(ansible_domain) }}"
# The DNS domain name to be used for updating or checking `/etc/hosts` entries.

# Reason for noqa: A separate role is planned to replace the code which uses this variable.
sap_ip: "{{ ansible_default_ipv4.address }}" # noqa var-naming[no-role-prefix]
# The IPV4 address to be used for updating or checking `/etc/hosts` entries.

# sap_general_preconfigure_db_group_name: (not defined by default)
# Use this variable to specify the name of the RHEL group which is used for the database processes.
# If defined, it will be used to configure process limits as per step
Expand Down
6 changes: 3 additions & 3 deletions roles/sap_general_preconfigure/meta/argument_specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -310,21 +310,21 @@ argument_specs:
required: false
type: str

sap_hostname:
sap_general_preconfigure_hostname:
default: "{{ ansible_hostname }}"
description:
- The hostname to be used for updating or checking `/etc/hosts` entries.
required: false
type: str

sap_domain:
sap_general_preconfigure_domain:
default: "{{ ansible_domain }}"
description:
- The DNS domain name to be used for updating or checking `/etc/hosts` entries.
required: false
type: str

sap_ip:
sap_general_preconfigure_ip:
default: "{{ ansible_default_ipv4.address }}"
description:
- The IPV4 address to be used for updating or checking `/etc/hosts` entries.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,18 @@
- name: Assert - List required SAP Notes
ansible.builtin.debug:
var: __sap_general_preconfigure_sapnotes_versions | difference([''])
tags:
- always

- name: Gather service facts
ansible.builtin.service_facts:
tags:
- always

- name: Assert - Include configuration actions for required sapnotes
ansible.builtin.include_tasks: "sapnote/assert-{{ sap_note_line_item.number }}.yml"
with_items: "{{ __sap_general_preconfigure_sapnotes_versions | difference(['']) }}"
loop_control:
loop_var: sap_note_line_item
tags:
- always
Loading

0 comments on commit c1b479e

Please sign in to comment.