Compare commits

..

No commits in common. "imports/c9-beta/rhel-system-roles-sap-3.3.0-3.el9" and "c8" have entirely different histories.

10 changed files with 39566 additions and 394 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/auto-maintenance-e2a233f5a0cb68363798bf014b16552cca681bd0.tar.gz SOURCES/auto-maintenance-e2a233f5a0cb68363798bf014b16552cca681bd0.tar.gz
SOURCES/community.sap_install-a2c6785d02092bb9142d9f2c170ad4b097d1af2f.tar.gz SOURCES/redhat.sap_install-1.3.5.tar.gz

View File

@ -1,2 +1,2 @@
584f8d1681adf13cb7af256a7b38d94ca80dcab2 SOURCES/auto-maintenance-e2a233f5a0cb68363798bf014b16552cca681bd0.tar.gz 584f8d1681adf13cb7af256a7b38d94ca80dcab2 SOURCES/auto-maintenance-e2a233f5a0cb68363798bf014b16552cca681bd0.tar.gz
831f15e14b4fe7bc152c46f882280ac7db0f52f8 SOURCES/community.sap_install-a2c6785d02092bb9142d9f2c170ad4b097d1af2f.tar.gz 835376d0e4799989e9d4deb21ac7e1d335c941de SOURCES/redhat.sap_install-1.3.5.tar.gz

View File

@ -1,63 +0,0 @@
Red Hat Enterprise Linux System Roles for SAP Ansible Collection
=====================================
Red Hat Enterprise Linux System Roles for SAP is a set of roles for preparing Red Hat Enterprise Linux systems for the initial installation of SAP NetWeaver and SAP HANA, for installing SAP HANA Scale-Up and Scale-Out, and for installing a SAP HANA Two-Node Scale-Up cluster.
## Dependencies
If installing from RPM, any dependencies will be installed with the package.
Otherwise, the dependencies are listed in `requirements.txt` and/or `bindep.txt`.
## Installation
There are currently two ways to use the Red Hat Enterprise Linux System Roles for SAP Collection in your setup.
### Installation from Automation Hub
You can install the collection from Automation Hub by running:
```
ansible-galaxy collection install redhat.sap_install
```
After the installation, the roles are available as `redhat.sap_install.<role_name>`.
Please see the [Using Ansible collections documentation](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for further details.
### Installation via RPM
You can install the collection with the software package management tool `dnf` by running:
```
dnf install rhel-system-roles-sap
```
## Documentation
The official RHEL System Roles for SAP documentation can be found [here](https://access.redhat.com/articles/4488731).
## Support
### Supported Ansible Versions
The supported Ansible versions are aligned with currently maintained Ansible versions that support Collections (Ansible 2.9 and later). You can find the list of maintained Ansible versions [here](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#release-status).
### Modules and Plugins
The modules and other plugins in this collection are private, used only internally to the collection, unless otherwise noted.
### Fully Supported Roles
<!--ts-->
* sap_general_preconfigure
* sap_hana_preconfigure
* sap_netweaver_preconfigure
<!--te-->
### Roles in Technology Preview Support
<!--ts-->
* sap_hana_install
* sap_ha_install_hana_hsr
* sap_ha_prepare_pacemaker
* sap_ha_install_pacemaker
* sap_ha_set_hana
<!--te-->

View File

@ -1,90 +0,0 @@
diff -up community.sap_install/roles/sap_general_preconfigure/tests/run-sap_general_preconfigure-tests.py.me community.sap_install/roles/sap_general_preconfigure/tests/run-sap_general_preconfigure-tests.py
--- community.sap_install/roles/sap_general_preconfigure/tests/run-sap_general_preconfigure-tests.py.me 2022-07-12 16:23:48.262581739 +0200
+++ community.sap_install/roles/sap_general_preconfigure/tests/run-sap_general_preconfigure-tests.py 2022-07-12 16:36:43.620709628 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
"""
Tests for role sap_general_preconfigure
diff -up community.sap_install/roles/sap_hana_install/tests/install/run-sap_hana_install-install-tests.py.me community.sap_install/roles/sap_hana_install/tests/install/run-sap_hana_install-install-tests.py
--- community.sap_install/roles/sap_hana_install/tests/install/run-sap_hana_install-install-tests.py.me 2022-07-12 16:36:52.262900877 +0200
+++ community.sap_install/roles/sap_hana_install/tests/install/run-sap_hana_install-install-tests.py 2022-07-12 16:36:59.246055414 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
import os
import sys
diff -up community.sap_install/roles/sap_hana_install/tests/sapcar/run-sap_hana_install-sapcar-tests.py.me community.sap_install/roles/sap_hana_install/tests/sapcar/run-sap_hana_install-sapcar-tests.py
--- community.sap_install/roles/sap_hana_install/tests/sapcar/run-sap_hana_install-sapcar-tests.py.me 2022-07-12 16:37:17.272454327 +0200
+++ community.sap_install/roles/sap_hana_install/tests/sapcar/run-sap_hana_install-sapcar-tests.py 2022-07-12 16:37:24.142606360 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
import os
import sys
diff -up community.sap_install/roles/sap_hana_preconfigure/tests/run-sap_hana_preconfigure-tests.py.me community.sap_install/roles/sap_hana_preconfigure/tests/run-sap_hana_preconfigure-tests.py
--- community.sap_install/roles/sap_hana_preconfigure/tests/run-sap_hana_preconfigure-tests.py.me 2022-07-12 16:37:52.794240408 +0200
+++ community.sap_install/roles/sap_hana_preconfigure/tests/run-sap_hana_preconfigure-tests.py 2022-07-12 16:37:58.553367854 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
"""
Tests for role sap_hana_preconfigure
diff -up community.sap_install/roles/sap_netweaver_preconfigure/tests/run-sap_netweaver_preconfigure-tests.py.me community.sap_install/roles/sap_netweaver_preconfigure/tests/run-sap_netweaver_preconfigure-tests.py
--- community.sap_install/roles/sap_netweaver_preconfigure/tests/run-sap_netweaver_preconfigure-tests.py.me 2022-07-12 16:37:34.384833016 +0200
+++ community.sap_install/roles/sap_netweaver_preconfigure/tests/run-sap_netweaver_preconfigure-tests.py 2022-07-12 16:37:41.495990384 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
"""
Tests for role sap_netweaver_preconfigure
diff -up community.sap_install/tools/swpm2_parameters_inifile_generate.py.me community.sap_install/tools/swpm2_parameters_inifile_generate.py
--- community.sap_install/tools/swpm2_parameters_inifile_generate.py.me 2022-07-12 16:38:10.026621753 +0200
+++ community.sap_install/tools/swpm2_parameters_inifile_generate.py 2022-07-12 16:38:29.915061875 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
from __future__ import (absolute_import, division, print_function)
__metaclass__ = type
diff -up community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_general_preconfigure/tools/beautify-assert-output.sh.me community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_general_preconfigure/tools/beautify-assert-output.sh
--- community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_general_preconfigure/tools/beautify-assert-output.sh.me 2022-07-12 17:48:10.476508351 +0200
+++ community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_general_preconfigure/tools/beautify-assert-output.sh 2022-07-12 17:48:27.813896005 +0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
# default font color: Light Cyan, which should be readable on both bright and dark background
__FONT_COLOR=36m
diff -up community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh.me community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh
--- community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh.me 2022-07-12 17:48:35.527068474 +0200
+++ community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_install/files/tmp/tail-f-hdblcm-install-trc.sh 2022-07-12 17:48:43.703251292 +0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
while true; do
# in case hdblcm has not yet started, we assume that it is waiting for sapdsigner to complete:
diff -up community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh.me community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh
--- community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh.me 2022-07-12 17:49:22.425117059 +0200
+++ community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh 2022-07-12 17:49:30.241291825 +0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
# default font color: Light Cyan, which should be readable on both bright and dark background
__FONT_COLOR=36m
diff -up community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh.me community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh
--- community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh.me 2022-07-12 17:48:51.584427510 +0200
+++ community.sap_install-29b37456211c8bf825547f614652f24cf324860a/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh 2022-07-12 17:49:00.678630847 +0200
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
# default font color: Light Cyan, which should be readable on both bright and dark background
__FONT_COLOR=36m

View File

@ -1,70 +0,0 @@
### REQUIRED
# The namespace of the collection. This can be a company/brand/organization or product namespace under which all
# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with
# underscores or numbers and cannot contain consecutive underscores
namespace: __NAMESPACE__
# The name of the collection. Has the same character restrictions as 'namespace'
name: sap_install
# The version of the collection. Must be compatible with semantic versioning
version: 1.1.1
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
# A list of the collection's content authors. Can be just the name or in the format 'Full Name <email> (url)
# @nicks:irc/im.site#channel'
authors:
- Bernd Finger <bfinger@redhat.com>
- Sean Freeman <sean.freeman@uk.ibm.com>
- Rainer Leber <rainer.leber@sva.de>
- Markus Koch <mkoch@redhat.com>
- Markus Moster <mmoster@redhat.com>
- Janine Fuchs <jfuchs@redhat.com>
### OPTIONAL but strongly recommended
# A short summary description of the collection
description: Collection of Ansible Roles for SAP software installation on Red Hat Enterprise Linux
# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only
# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file'
license:
- Apache-2.0
# The path to the license file for the collection. This path is relative to the root of the collection. This key is
# mutually exclusive with 'license'
# license_file: ''
# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character
# requirements as 'namespace' and 'name'
tags:
- database
- application
- sap
# Collections that this collection requires to be installed for it to be usable. The key of the dict is the
# collection label 'namespace.name'. The value is a version range
# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version
# range specifiers can be set and are separated by ','
dependencies: {}
# The URL of the originating SCM repository
repository: https://github.com/sap-linuxlab/community.sap_install
# The URL to any online docs
documentation: https://github.com/sap-linuxlab/sap-linuxlab.github.io/blob/master/README.md
# The URL to the homepage of the collection/project
homepage: https://sap-linuxlab.github.io
# The URL to the collection issue tracker
issues: https://github.com/sap-linuxlab/community.sap_install/issues
# A list of file glob-like patterns used to filter any files or directories that should not be included in the build
# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This
# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry',
# and '.git' are always filtered
build_ignore: ['tests', 'internal-*']

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,128 @@
commit 83db825f7f30445408efa6061631d8dd0590e891
Author: Than Ngo <than@redhat.com>
Date: Thu Jan 25 16:17:21 2024 +0100
add missing tools folders
Signed-off-by: Than Ngo <than@redhat.com>
diff --git a/roles/sap_general_preconfigure/tools/beautify-assert-output.sh b/roles/sap_general_preconfigure/tools/beautify-assert-output.sh
new file mode 100755
index 0000000..f48087c
--- /dev/null
+++ b/roles/sap_general_preconfigure/tools/beautify-assert-output.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# default font color: Light Cyan, which should be readable on both bright and dark background
+__FONT_COLOR=36m
+
+if [[ ${1}. == "font_light_gray". ]]; then
+ __FONT_COLOR=37m
+elif [[ ${1}. == "font_no_color". ]]; then
+ __FONT_COLOR=30m
+fi
+
+if [[ ${2}. == "reset." ]]; then
+ awk 'BEGIN{printf ("\033['${__FONT_COLOR}'Resetting font color\n")}'
+ exit
+fi
+
+awk '{sub (" \"msg\": ", "")}
+ /TASK/{task_line=$0}
+ /fatal:/{fatal_line=$0; nfatal[host]++}
+ /...ignoring/{nfatal[host]--; if (nfatal[host]<0) nfatal[host]=0}
+ /^[a-z]/&&/: \[/{gsub ("\\[", ""); gsub ("]", ""); gsub (":", ""); host=$2}
+ /SAP note/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ /FAIL:/{nfail[host]++; print "\033[31m[" host"] "$0}
+ /WARN:/{nwarn[host]++; print "\033[33m[" host"] "$0}
+ /PASS:/{npass[host]++; print "\033[32m[" host"] "$0}
+ /INFO:/{print "\033[34m[" host"] "$0}
+ /changed/&&/unreachable/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ END{print ("---"); for (var in npass) {printf ("[%s] ", var); if (nfatal[var]>0) {
+ printf ("\033[31mFATAL ERROR!!! Playbook might have been aborted!!!\033['${__FONT_COLOR}' Last TASK and fatal output:\n"); print task_line, fatal_line
+ exit 199
+ }
+ else printf ("\033[31mFAIL: %d \033[33mWARN: %d \033[32mPASS: %d\033['${__FONT_COLOR}'\n", nfail[var], nwarn[var], npass[var])}
+ if (nfail[var] != 0) exit (nfail[var])
+ }'
diff --git a/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh b/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh
new file mode 100755
index 0000000..f48087c
--- /dev/null
+++ b/roles/sap_hana_preconfigure/tools/beautify-assert-output.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# default font color: Light Cyan, which should be readable on both bright and dark background
+__FONT_COLOR=36m
+
+if [[ ${1}. == "font_light_gray". ]]; then
+ __FONT_COLOR=37m
+elif [[ ${1}. == "font_no_color". ]]; then
+ __FONT_COLOR=30m
+fi
+
+if [[ ${2}. == "reset." ]]; then
+ awk 'BEGIN{printf ("\033['${__FONT_COLOR}'Resetting font color\n")}'
+ exit
+fi
+
+awk '{sub (" \"msg\": ", "")}
+ /TASK/{task_line=$0}
+ /fatal:/{fatal_line=$0; nfatal[host]++}
+ /...ignoring/{nfatal[host]--; if (nfatal[host]<0) nfatal[host]=0}
+ /^[a-z]/&&/: \[/{gsub ("\\[", ""); gsub ("]", ""); gsub (":", ""); host=$2}
+ /SAP note/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ /FAIL:/{nfail[host]++; print "\033[31m[" host"] "$0}
+ /WARN:/{nwarn[host]++; print "\033[33m[" host"] "$0}
+ /PASS:/{npass[host]++; print "\033[32m[" host"] "$0}
+ /INFO:/{print "\033[34m[" host"] "$0}
+ /changed/&&/unreachable/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ END{print ("---"); for (var in npass) {printf ("[%s] ", var); if (nfatal[var]>0) {
+ printf ("\033[31mFATAL ERROR!!! Playbook might have been aborted!!!\033['${__FONT_COLOR}' Last TASK and fatal output:\n"); print task_line, fatal_line
+ exit 199
+ }
+ else printf ("\033[31mFAIL: %d \033[33mWARN: %d \033[32mPASS: %d\033['${__FONT_COLOR}'\n", nfail[var], nwarn[var], npass[var])}
+ if (nfail[var] != 0) exit (nfail[var])
+ }'
diff --git a/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh b/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh
new file mode 100755
index 0000000..f48087c
--- /dev/null
+++ b/roles/sap_netweaver_preconfigure/tools/beautify-assert-output.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+# default font color: Light Cyan, which should be readable on both bright and dark background
+__FONT_COLOR=36m
+
+if [[ ${1}. == "font_light_gray". ]]; then
+ __FONT_COLOR=37m
+elif [[ ${1}. == "font_no_color". ]]; then
+ __FONT_COLOR=30m
+fi
+
+if [[ ${2}. == "reset." ]]; then
+ awk 'BEGIN{printf ("\033['${__FONT_COLOR}'Resetting font color\n")}'
+ exit
+fi
+
+awk '{sub (" \"msg\": ", "")}
+ /TASK/{task_line=$0}
+ /fatal:/{fatal_line=$0; nfatal[host]++}
+ /...ignoring/{nfatal[host]--; if (nfatal[host]<0) nfatal[host]=0}
+ /^[a-z]/&&/: \[/{gsub ("\\[", ""); gsub ("]", ""); gsub (":", ""); host=$2}
+ /SAP note/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ /FAIL:/{nfail[host]++; print "\033[31m[" host"] "$0}
+ /WARN:/{nwarn[host]++; print "\033[33m[" host"] "$0}
+ /PASS:/{npass[host]++; print "\033[32m[" host"] "$0}
+ /INFO:/{print "\033[34m[" host"] "$0}
+ /changed/&&/unreachable/{print "\033['${__FONT_COLOR}'[" host"] "$0}
+ END{print ("---"); for (var in npass) {printf ("[%s] ", var); if (nfatal[var]>0) {
+ printf ("\033[31mFATAL ERROR!!! Playbook might have been aborted!!!\033['${__FONT_COLOR}' Last TASK and fatal output:\n"); print task_line, fatal_line
+ exit 199
+ }
+ else printf ("\033[31mFAIL: %d \033[33mWARN: %d \033[32mPASS: %d\033['${__FONT_COLOR}'\n", nfail[var], nwarn[var], npass[var])}
+ if (nfail[var] != 0) exit (nfail[var])
+ }'

View File

@ -1,19 +0,0 @@
diff -up community.sap_install/roles/sap_hana_preconfigure/README.md.me community.sap_install/roles/sap_hana_preconfigure/README.md
--- community.sap_install/roles/sap_hana_preconfigure/README.md.me 2021-03-22 14:08:21.960414814 +0100
+++ community.sap_install/roles/sap_hana_preconfigure/README.md 2021-03-22 14:10:28.220020075 +0100
@@ -216,13 +216,13 @@ In case you want the role to set or chec
sap_hana_preconfigure_use_netapp_settings_nfsv3
```
-### Add the repository for IBM service and productivity tools for POWER (ppc64le only)
+### Add the repository for IBM service and productivity tools (ppc64le only)
In case you do *not* want to automatically add the repository for the IBM service and productivity tools, set the following variable to `no`. Default is `yes`, meaning that the role will download and install the package specified in variable sap_hana_preconfigure_ibm_power_repo_url (see below) and also run the command /opt/ibm/lop/configure to accept the license.
```yaml
sap_hana_preconfigure_add_ibm_power_repo
```
-### URL for IBM service and productivity tools for POWER (ppc64le only)
+### URL for IBM service and productivity tools (ppc64le only)
The following variable is set to the location of package ibm-power-repo-lastest.noarch.rpm or a package with similar contents, as defined by variable __sap_hana_preconfigure_ibm_power_repo_url in vars/RedHat_7.yml and vars/RedHat_8.yml.
You can replace it by your own URL by setting this variable to a different URL.
```yaml

View File

@ -1,11 +1,9 @@
%if 0%{?rhel} && ! 0%{?epel} # disable collection_artifact by default
%bcond_with ansible
%else
%bcond_without ansible
%endif
%bcond_with collection_artifact %bcond_with collection_artifact
# disable collection by default since version 3.6.0 (1.3.4)
%bcond_with collection
%if 0%{?fedora} || 0%{?rhel} > 8 %if 0%{?fedora} || 0%{?rhel} > 8
%bcond_without html %bcond_without html
%else %else
@ -26,48 +24,45 @@
# collection_version has to be increased by every rebuild # collection_version has to be increased by every rebuild
# otherwise, it cannot be uploaded to Automation Hub and Galaxy # otherwise, it cannot be uploaded to Automation Hub and Galaxy
# due to version conflict # due to version conflict
%define collection_version 1.1.1 %define collection_version 1.3.5
%global mainid e2a233f5a0cb68363798bf014b16552cca681bd0 %global mainid e2a233f5a0cb68363798bf014b16552cca681bd0
%global commit_id_sap_install a2c6785d02092bb9142d9f2c170ad4b097d1af2f %global commit_id_sap_install %{collection_version}
%global rolename1 sap_general_preconfigure %global rolename1 sap_general_preconfigure
%global rolename2 sap_hana_preconfigure %global rolename2 sap_ha_install_hana_hsr
%global rolename3 sap_netweaver_preconfigure %global rolename3 sap_hana_install
%global rolename4 sap_hana_install %global rolename4 sap_hana_preconfigure
%global rolename5 sap_ha_set_hana %global rolename5 sap_ha_pacemaker_cluster
%global rolename6 sap_ha_set_netweaver %global rolename6 sap_hypervisor_node_preconfigure
%global rolename7 sap_hostagent %global rolename7 sap_netweaver_preconfigure
%global rolename8 sap_install_media_detect %global rolename8 sap_swpm
%global rolename9 sap_storage %global rolename9 sap_vm_preconfigure
%global rolename10 sap_swpm
%global rolename11 sap_ha_install_hana_hsr
%global rolename12 sap_ha_prepare_pacemaker
%global rolename13 sap_ha_install_pacemaker
%global src_owner linux-system-roles %global src_owner linux-system-roles
%global github_repo_sap_install community.sap_install %global github_repo_sap_install redhat.sap_install
%global rolename_rhel %{rolename1} %{rolename2} %{rolename3} %{rolename4} %{rolename5} %{rolename11} %{rolename12} %{rolename13} %global rolename_rhel %{rolename1} %{rolename2} %{rolename3} %{rolename4} %{rolename5} %{rolename6} %{rolename7} %{rolename8} %{rolename9}
%global rolename_community %{rolename_rhel} %{rolename1} %{rolename6} %{rolename7} %{rolename8} %{rolename9} %{rolename10}
%if 0%{?fedora}
%global rolenames %{rolename_community}
%else
%global rolenames %{rolename_rhel} %global rolenames %{rolename_rhel}
%endif
Name: %{package_name} Name: %{package_name}
Summary: System Roles to configure RHEL for running SAP NetWeaver- or SAP HANA-based products Summary: System Roles to configure RHEL for running SAP NetWeaver- or SAP HANA-based products
Version: 3.3.0 Version: 3.6.0
Release: 3%{?dist} Release: 2%{?dist}
License: GPLv3+ License: GPL-3.0-or-later
Url: https://github.com/berndfinger/community.sap_install Url: https://github.com/redhat-sap/community.sap_install
Source0: https://github.com/linux-system-roles/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz Source0: https://github.com/linux-system-roles/auto-maintenance/archive/%{mainid}/auto-maintenance-%{mainid}.tar.gz
Source1: https://github.com/berndfinger/%{github_repo_sap_install}/archive/%{commit_id_sap_install}/%{github_repo_sap_install}-%{commit_id_sap_install}.tar.gz Source1: https://github.com/redhat-sap/redhat.sap_install/archive/%{commit_id_sap_install}/%{github_repo_sap_install}-%{commit_id_sap_install}.tar.gz
Source4: https://gitlab.cee.redhat.com/bfinger/build-redhat.sap_install/-/raw/main/README.md
Source5: https://gitlab.cee.redhat.com/bfinger/build-redhat.sap_install/-/raw/main/galaxy.yml # add collection files
Patch1: community.sap_install-shebang.patch Patch1: redhat.sap_install-1.3.5-collections-files-324bfb8bab50d2baa1c4aacdb59e4e5c9e2ba74f.patch
Patch2: sap-hana-preconfigure-md2html-error.patch
# add tests files
Patch2: redhat.sap_install-1.3.4-add_tests.patch
# add tools files
Patch3: redhat.sap_install-1.3.4-add_tools.patch
BuildArch: noarch BuildArch: noarch
Requires: rhel-system-roles
%if %{with html} %if %{with html}
# Requirements for md2html.sh to build the documentation # Requirements for md2html.sh to build the documentation
@ -92,8 +87,14 @@ Requires: python-jmespath
Requires: python-netaddr Requires: python-netaddr
%endif %endif
%if %{with ansible} # NOTE: ansible-core is in rhel-8.6 and newer, but not installable
BuildRequires: ansible-core >= 2.9.10 # in buildroot as it depended on modular Python.
# It has been installable at buildtime in 8.8 and newer.
%if %{with collection}
%if 0%{?rhel} >= 8
BuildRequires: ansible-core >= 2.11.0
Requires: (ansible-core >= 2.11.0 or ansible >= 2.9.0)
%endif
%endif %endif
%if %{undefined __ansible_provides} %if %{undefined __ansible_provides}
@ -102,6 +103,10 @@ Provides: ansible-collection(%{collection_namespace}.%{collection_name}) = %{ver
# be compatible with the usual Fedora Provides: # be compatible with the usual Fedora Provides:
Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release} Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{version}-%{release}
# ansible-galaxy is available by ansible-core on RHEL 8.6 and newer at buildtime.
%define ansible_collection_build() ansible-galaxy collection build
%define ansible_collection_install() ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
%if 0%{?fedora} || 0%{?rhel} >= 8 %if 0%{?fedora} || 0%{?rhel} >= 8
%{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/} %{!?ansible_collection_files:%define ansible_collection_files %{_datadir}/ansible/collections/ansible_collections/%{collection_namespace}/}
%else %else
@ -110,13 +115,6 @@ Provides: ansible-collection-%{collection_namespace}-%{collection_name} = %{vers
%endif %endif
%endif %endif
%if %{without ansible}
%define ansible_collection_build_install() tar -cf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz .; mkdir -p %{buildroot}%{ansible_collection_files}%{collection_name}; (cd %{buildroot}%{ansible_collection_files}%{collection_name}; tar -xf %{_tmppath}/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz)
%else
%define ansible_collection_build_install() ansible-galaxy collection build; ansible-galaxy collection install -n -p %{buildroot}%{_datadir}/ansible/collections %{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
%endif
%description %description
Collection of Ansible roles which configures a RHEL system according Collection of Ansible roles which configures a RHEL system according
to applicable SAP notes so that any SAP software can be installed. to applicable SAP notes so that any SAP software can be installed.
@ -132,36 +130,24 @@ Collection artifact for %{name}. This package contains %{collection_namespace}-%
%prep %prep
%setup -q -a1 -n auto-maintenance-%{mainid} %setup -q -a1 -n auto-maintenance-%{mainid}
# add correct version and namespace for Automation Hub and Galaxy
cp %{SOURCE5} .
sed -i -e "s|^namespace: .*|namespace: %{collection_namespace}|" galaxy.yml
sed -i -e "s|^version: .*|version: %{collection_version}|" galaxy.yml
pushd %{github_repo_sap_install}-%{commit_id_sap_install}/ pushd %{github_repo_sap_install}-%{commit_id_sap_install}/
%patch1 -p1 %patch -P1 -p1
%patch2 -p1 %patch -P2 -p1
%patch -P3 -p1
# workaround for md2html error
sed -i -e "s|for POWER ||g" roles/sap_hana_preconfigure/README.md
popd popd
# remove zero file and symlinks # remove zero file and symlinks
find . -type f -size 0 -delete find . -type f -size 0 -delete
find . -type l -delete find . -type l -delete
pushd %{github_repo_sap_install}-%{commit_id_sap_install}/roles/ # fix python and bash shebangs
# remove all SLES stuff and RHEL 5 stuff find -type f \( -iname "*.py" \) -exec sed -i '1s=^#! */usr/bin/\(python\|env python\)[23]\?=#!/usr/bin/python3=' {} +
rm -rf */tasks/SLES/ find -type f \( -iname "*.sh" \) -exec sed -i '1s=^#! */bin/bash=#!/usr/bin/bash=' {} +
rm -f */vars/SLES_15.yml
rm -rf sap_hana_preconfigure/tasks/sapnote/1275776 # SLES - sapconf, saptune, etc # remove json files, these are already present in the collection subdirectory
rm -rf sap_hana_preconfigure/tasks/sapnote/1944799 # SLES - HANA install and config guidelines rm -f FILES.json MANIFEST.json
rm -f sap_hana_preconfigure/tasks/sapnote/1944799.yml
rm -f sap_hana_preconfigure/tasks/sapnote/2013638.yml # RHEL 6.5 - OS settings
rm -f sap_hana_preconfigure/tasks/sapnote/2136965.yml # RHEL 6.6 - OS settings
rm -f sap_hana_preconfigure/tasks/sapnote/2247020.yml # RHEL 6.7 - OS settings
rm -rf sap_hana_preconfigure/tasks/sapnote/2578899 # SLES 15 - installation
rm -rf sap_hana_preconfigure/tasks/sapnote/2684254 # SLES 15 - OS settings for HANA
rm -f sap_hana_preconfigure/vars/RedHat_6.5.yml
rm -f sap_hana_preconfigure/vars/RedHat_6.6.yml
rm -f sap_hana_preconfigure/vars/RedHat_6.7.yml
popd
%build %build
%if %{with html} %if %{with html}
@ -169,9 +155,10 @@ readmes=""
for role in %{rolenames}; do for role in %{rolenames}; do
readmes="${readmes} %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/README.md" readmes="${readmes} %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/README.md"
done done
sh md2html.sh $readmes sh md2html.sh $readmes %{github_repo_sap_install}-%{commit_id_sap_install}/README.md
%endif %endif
%if %{with collection}
# create dest-path # create dest-path
mkdir .collections mkdir .collections
@ -180,19 +167,35 @@ LANG=en_US.utf-8 LC_ALL=en_US.utf-8 python3 lsr_role2collection.py --role "$role
--src-path %{github_repo_sap_install}-%{commit_id_sap_install}/roles/"$role" \ --src-path %{github_repo_sap_install}-%{commit_id_sap_install}/roles/"$role" \
--src-owner %{src_owner} \ --src-owner %{src_owner} \
--dest-path .collections \ --dest-path .collections \
--readme %{SOURCE4} \
--namespace %{collection_namespace} \ --namespace %{collection_namespace} \
--collection %{collection_name} \ --collection %{collection_name} \
--new-role "$new_role" --new-role "$new_role"
done done
cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name} cp -p galaxy.yml .collections/ansible_collections/%{collection_namespace}/%{collection_name}
# update README.md
cp %{github_repo_sap_install}-%{commit_id_sap_install}/README.md .collections/ansible_collections/%{collection_namespace}/%{collection_name}
# Build the collection
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
%ansible_collection_build
popd
%endif
%install %install
mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles mkdir -p $RPM_BUILD_ROOT%{_datadir}/ansible/roles \
$RPM_BUILD_ROOT%{_pkgdocdir}
# create file selection for documents # create file selection for documents
echo "%dir %{_pkgdocdir}" > files_section.txt echo "%dir %{_pkgdocdir}" > files_section.txt
cp %{github_repo_sap_install}-%{commit_id_sap_install}/README.md $RPM_BUILD_ROOT%{_pkgdocdir}/
%if %{with html}
cp %{github_repo_sap_install}-%{commit_id_sap_install}/README.html $RPM_BUILD_ROOT%{_pkgdocdir}/
%endif
echo "%{_pkgdocdir}/README.*" >> files_section.txt
for role in %{rolenames} ; do for role in %{rolenames} ; do
mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/$role mkdir -p $RPM_BUILD_ROOT%{_pkgdocdir}/$role
cp -pR %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role $RPM_BUILD_ROOT%{_datadir}/ansible/roles/ cp -pR %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role $RPM_BUILD_ROOT%{_datadir}/ansible/roles/
@ -207,9 +210,13 @@ install -m 644 %{github_repo_sap_install}-%{commit_id_sap_install}/roles/$role/R
done done
# install collection files # install collection files
%if %{with collection}
pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/ pushd .collections/ansible_collections/%{collection_namespace}/%{collection_name}/
%ansible_collection_build_install %ansible_collection_install
popd popd
%else
cp -pR %{github_repo_sap_install}-%{commit_id_sap_install}/collections $RPM_BUILD_ROOT%{_datadir}/ansible/
%endif
# install collection_artifact # install collection_artifact
%if %{with collection_artifact} %if %{with collection_artifact}
@ -223,112 +230,119 @@ popd
%dir %{_datadir}/ansible %dir %{_datadir}/ansible
%dir %{_datadir}/ansible/roles %dir %{_datadir}/ansible/roles
%doc %{_pkgdocdir}/*/README.md %doc %{_pkgdocdir}/*/README.md
%license %{_pkgdocdir}/*/LICENSE
%{_datadir}/ansible/roles/*
%if %{with html} %if %{with html}
%{_pkgdocdir}/*/README.html %{_pkgdocdir}/*/README.html
%endif %endif
%license %{_pkgdocdir}/*/LICENSE %if %{with collection}
%{_datadir}/ansible/roles/*
%{ansible_collection_files} %{ansible_collection_files}
%else
%{_datadir}/ansible/collections
%endif
%if %{with collection_artifact} %if %{with collection_artifact}
%files collection-artifact %files collection-artifact
%{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz %{_datadir}/ansible/collections/%{collection_namespace}-%{collection_name}-%{collection_version}.tar.gz
%endif %endif
%changelog %changelog
* Thu Jul 14 2022 Than Ngo <than@redhat.com> - 3.3.0-3 * Mon Feb 05 2024 Than Ngo <than@redhat.com> - 3.6.0-2
- more fixes, update README.md - sap_hypervisor_node_preconfigure: fix for role name and path for included tasks
Related: #2101373 - update collection files
Related: RHEL-16897
* Thu Jan 25 2024 Than Ngo <than@redhat.com> - 3.6.0-1
- rebase sap roles to version 1.3.4
- add collection files
- update README files and add missing galaxy.yml, LICENSE
- fix syntax error for defining dependent collections in galaxy.yml
- add tools and tests
Resolves: RHEL-16897
* Mon May 08 2023 Than Ngo <than@redhat.com> - 3.5.0-1
- updated README.md files for sap and sap_swpm roles
- migrated to SPDX license
- converted patch macro use to the most compatible syntax
- rebased sap roles to version 1.2.3
Resolves: #2185037
* Mon Jan 30 2023 Than Ngo <than@redhat.com> - 3.4.0-3
- Related: #2155876, rebase sap roles to version 1.2.1
* Thu Jan 19 2023 Than Ngo <than@redhat.com> - 3.4.0-2
- Related: #2155876, compat-sap-c++-10 is not available for RHEL 8.2 and earlier on hardware platform s390x
* Wed Jan 11 2023 Than Ngo <than@redhat.com> - 3.4.0-1
- Resolves: #2155876, rebase sap roles to version 1.2.0
* Tue Nov 22 2022 Than Ngo <than@redhat.com> - 3.3.0-4
- Resolves: #2142957, drop deprecated paramater for Ansible 2.14
* Fri Jul 15 2022 Than Ngo <than@redhat.com> - 3.3.0-3
- update galaxy.yml and README.md and url
Related: #2103633
* Tue Jul 12 2022 Than Ngo <than@redhat.com> - 3.3.0-2 * Tue Jul 12 2022 Than Ngo <than@redhat.com> - 3.3.0-2
- make the role Ansible 2.13 compliant - make the role Ansible 2.13 compliant
- get rid of all the new ansible-lint 6.3.0 errors for preconfigure and sap_hana_install roles - get rid of all the new ansible-lint 6.3.0 errors for preconfigure and sap_hana_install roles
Resolves: #2101373 Resolves: #2103633
* Mon Jul 04 2022 Than Ngo <than@redhat.com> - 3.3.0-1 * Mon Jul 04 2022 Than Ngo <than@redhat.com> - 3.3.0-1
- Resolves: #2101373, include roles for setting up a two-node SAP HANA pacemaker cluster - Resolves: #2103633, include roles for setting up a two-node SAP HANA pacemaker cluster
* Wed Jun 08 2022 Than Ngo <than@redhat.com> - 3.2.0-5 * Thu Jun 09 2022 Than Ngo <than@redhat.com> - 3.2.0-3
- increase release
Related: #2065407
* Wed Jun 08 2022 Than Ngo <than@redhat.com> - 3.2.0-4
- sap_hana_preconfigure: using wrong variable name
- do not attempt to enable HANA repos for s390x
- sap_general_preconfigure: fix variable inclusion for RHEL minor releases
- sap_hana_preconfigure: Add vars for RHEL 9.1 managed nodes - sap_hana_preconfigure: Add vars for RHEL 9.1 managed nodes
- sap_hana_preconfigure: Fix issue #154 - sap_general_preconfigure: fix variable inclusion for RHEL minor releases
Related: #2065407 Related: #2063050
* Sun Mar 13 2022 Than Ngo <than@redhat.com> - 3.2.0-3 * Wed Jun 08 2022 Than Ngo <than@redhat.com> - 3.2.0-2
- Resolves: #2065407, new rebase - sap_general_preconfigure: do not attempt to enable HANA repos for s390x
- sap_hana_preconfigure: using wrong variable name
- sap_hana_preconfigure: Fix issue sap-linuxlab#154
Related: #2063050
* Tue Feb 22 2022 Than Ngo <than@redhat.com> - 3.2.0-2 * Mon Mar 21 2022 Than Ngo <than@redhat.com> - 3.2.0-1
- Related: #2047282, new rebase, fixed collection basename - Resolves: #2063050, rebase to new upstream org sap-linuxlab
* Mon Jan 31 2022 Than Ngo <than@redhat.com> - 3.2.0-1 * Fri Dec 03 2021 Than Ngo <than@redhat.com> - 3.1.1-10
- Resolves: #2047282, Rebase to new upstream org sap-linuxlab - Related: #2016858, increase release to avoid update conflict
* Fri Dec 03 2021 Than Ngo <than@redhat.com> - 3.1.1-15 * Fri Dec 03 2021 Than Ngo <than@redhat.com> - 3.1.1-8
- Related: #2021579, ansible-lint cleanup - Related: #2016858, rebase
* Tue Nov 16 2021 Than Ngo <than@redhat.com> - 3.1.1-14 * Tue Nov 16 2021 Than Ngo <than@redhat.com> - 3.1.1-7
- Resolves: #2021579, ansible-lint cleanup - Resolves: #2016858, ansible-lint cleanup
* Fri Oct 15 2021 Than Ngo <than@redhat.com> - 3.1.1-13 * Wed Sep 08 2021 Than Ngo <than@redhat.com> - 3.1.1-6
- Fix the version of the collection tar file
* Fri Oct 15 2021 Than Ngo <than@redhat.com> - 3.1.1-12
- Resolves: #2003630, Pepare the roles for ansible-core 2.11: Only use ansible.core modules
* Wed Sep 01 2021 Than Ngo <than@redhat.com> - 3.1.1-11
- fix yum group install errors on RHEL 7
- use grubby for setting tsx=on
- set min kernel version for RHEL 8.4 x86_64 - set min kernel version for RHEL 8.4 x86_64
- use grubby for setting tsx=on
- add tsx=on to the kernel command line unconditionally
* Fri Aug 20 2021 Than Ngo <than@redhat.com> - 3.1.1-10 * Wed Sep 01 2021 Than Ngo <than@redhat.com> - 3.1.1-5
- Related: #1977195, fix #149, #177, #193, #194 - Related: #1928398, fix yum group install errors on RHEL 7
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 3.1.1-9 * Fri Aug 20 2021 Than Ngo <than@redhat.com> - 3.1.1-4
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags - Related: #1928398, fix #149, #177, #193, #194
Related: rhbz#1991688
* Fri Jul 16 2021 Than Ngo <than@redhat.com> - 3.1.1-8 * Mon Jul 12 2021 Than Ngo <than@redhat.com> - 3.1.1-3
- Related: #1977195, add missing vars/RedHat_9.yml in sap-netweaver-preconfigure - add missing __sap_preconfigure_envgroups for RHEL 7.x
- add __sap_hana_preconfigure_req_repos variables for RHEL 8.5 and later
Related: #1928398
* Tue Jul 13 2021 Than Ngo <than@redhat.com> - 3.1.1-7 * Thu Jul 01 2021 Than Ngo <than@redhat.com> - 3.1.1-2
- Related: #1977195, add missing __sap_preconfigure_envgroups for RHEL 7.x and - Related: #1928398, add missing changelogs
missing __sap_hana_preconfigure_req_repos variables for RHEL 8.5 and later
* Tue Jun 29 2021 Than Ngo <than@redhat.com> - 3.1.1-6 * Tue Jun 29 2021 Than Ngo <than@redhat.com> - 3.1.1-1
- Resolves: #1977195, make RHEL system roles for SAP RHEL9 compatible - Resolves: #1928398, rebase to 3.1.1 for Ansible Collections
* Mon Jun 28 2021 Than Ngo <than@redhat.com> - 3.1.1-5 * Fri Mar 05 2021 Than Ngo <than@redhat.com> - 3.0.1-4
- updated tarball, galaxy.yml, README.md - fixed issue #130 in sap-preconfigure
- fixed typos in README.md in sap_hana_preconfigure
* Mon Jun 07 2021 Than Ngo <than@redhat.com> - 3.1.1-4 - added detailed explanations for sap_hana_preconfigure_kernel_parameters_ppc64le in README.md
- update README.md - fixed issue #170 in sap_hana_preconfigure
- Adding the -collection-artifact subpackage, enabled using Related: #1891642
"--with collection_artifact". It is used for importing to
ansible galaxy/automation hub.
* Fri May 21 2021 Than Ngo <than@redhat.com> - 3.1.1-3
- convert roles to FQCN in the README files
* Thu May 20 2021 Than Ngo <than@redhat.com> - 3.1.1-2
- rename dashes by underscores and drop sap-
* Tue May 18 2021 Than Ngo <than@redhat.com> - 3.1.1-1
- rebase
* Wed Apr 14 2021 Than Ngo <than@redhat.com> - 3.1.0-3
- bz#1928398, rebuilt against new python-ruamel-yaml-0.15.100 for conversion problem
* Mon Mar 22 2021 Than Ngo <than@redhat.com> - 3.1.0-2
- rebase
* Tue Mar 02 2021 Than Ngo <than@redhat.com> - 3.1.0-1
- added support Transfer SAP roles into collection format
* Wed Feb 24 2021 Than Ngo <than@redhat.com> - 3.0.1-3 * Wed Feb 24 2021 Than Ngo <than@redhat.com> - 3.0.1-3
- Related: #1891642, fixed issue #125 in sap-preconfigure and #163 and #164 in sap-hana-preconfigure - Related: #1891642, fixed issue #125 in sap-preconfigure and #163 and #164 in sap-hana-preconfigure
@ -346,9 +360,6 @@ Related: #2065407
- Resolves: #1891638, bug fixes - Resolves: #1891638, bug fixes
- Resolves: #1891642, new features - Resolves: #1891642, new features
* Tue Jan 12 2021 Than Ngo <than@redhat.com> - 2.0.0-8
- RHEL 9.0.0 Alpha build
* Mon Sep 21 2020 Than Ngo <than@redhat.com> - 2.0.0-7 * Mon Sep 21 2020 Than Ngo <than@redhat.com> - 2.0.0-7
- Related: #1867027, fix #119 - Related: #1867027, fix #119