rhel-system-roles-sap/redhat.sap_install-ecaccb7a...

520 lines
24 KiB
Diff

commit ecaccb7a32617943e5bfc41de0e9269ae93e38f8
Author: Bernd Finger <bfinger@redhat.com>
Date: Mon Jan 22 18:57:29 2024 +0100
version 1.3.4: Further fixes
- Add missing LICENSE file
- Fix syntax error for defining dependent collections in galaxy.yml
- Use certain updated README.md files
- Add .ansible-lint and .yamllint.yml
Signed-off-by: Bernd Finger <bfinger@redhat.com>
diff --git a/.ansible-lint b/.ansible-lint
new file mode 100644
index 0000000..fc315df
--- /dev/null
+++ b/.ansible-lint
@@ -0,0 +1,36 @@
+---
+# Collection wide lint-file
+# DO NOT CHANGE
+exclude_paths:
+ - .cache/
+ - .github/
+ #- docs/
+ - changelogs/
+ - playbooks/
+ - roles/sap_anydb_install_oracle
+ #- roles/sap_general_preconfigure
+ #- roles/sap_ha_install_hana_hsr
+ #- roles/sap_ha_pacemaker_cluster
+ #- roles/sap_hana_install
+ #- roles/sap_hana_preconfigure
+ - roles/sap_hostagent
+ - roles/sap_hypervisor_node_preconfigure
+ #- roles/sap_install_media_detect
+ #- roles/sap_netweaver_preconfigure
+ #- roles/sap_storage_setup
+ #- roles/sap_swpm
+ - roles/sap_vm_preconfigure
+ - tests/
+enable_list:
+ - yaml
+skip_list:
+ # We don't want to enforce new Ansible versions for Galaxy:
+ - meta-runtime[unsupported-version]
+ # We do not want to use checks which are marked as experimental:
+ - experimental
+ # We use ignore_errors for all the assert tasks, which should be acceptable:
+ - ignore-errors
+ # We want to allow single digit version numbers in a role's meta/main.yml file:
+ - schema
+ # Allow templating inside name because it creates more detailed output:
+ - name[template]
diff --git a/.yamllint.yml b/.yamllint.yml
new file mode 100644
index 0000000..57ef427
--- /dev/null
+++ b/.yamllint.yml
@@ -0,0 +1,21 @@
+---
+# Based on ansible-lint config
+extends: default
+
+rules:
+ braces: {max-spaces-inside: 1, level: error}
+ brackets: {max-spaces-inside: 1, level: error}
+# colons: {max-spaces-after: -1, level: error}
+# commas: {max-spaces-after: -1, level: error}
+ comments: disable
+ comments-indentation: disable
+# document-start: disable
+# empty-lines: {max: 3, level: error}
+# hyphens: {level: error}
+# indentation: disable
+# key-duplicates: enable
+ line-length: disable
+# new-line-at-end-of-file: disable
+# new-lines: {type: unix}
+# trailing-spaces: disable
+ truthy: disable
diff --git a/FILES.json b/FILES.json
index 0aa2f0c..9d05f0a 100644
--- a/FILES.json
+++ b/FILES.json
@@ -4662,6 +4662,27 @@
"chksum_sha256": "c21704059069b661602183a76facc9b89d8ce762347d70a2814c1115309d2706",
"format": 1
},
+ {
+ "name": ".ansible-lint",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "e7c54d2713dff6625c16c9c4054c34b6951302bcc80fd224d7c6eeacd7989e35",
+ "format": 1
+ },
+ {
+ "name": ".yamllint.yml",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "472c1f78b944dd89a218a05882b9e6e6f7a0b468680648ea16aec26024d698b9",
+ "format": 1
+ },
+ {
+ "name": "LICENSE",
+ "ftype": "file",
+ "chksum_type": "sha256",
+ "chksum_sha256": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4",
+ "format": 1
+ },
{
"name": "CHANGELOG.rst",
"ftype": "file",
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..261eeb9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/MANIFEST.json b/MANIFEST.json
index a9a4f02..a1fad57 100644
--- a/MANIFEST.json
+++ b/MANIFEST.json
@@ -20,11 +20,11 @@
"sap"
],
"description": "Collection of Ansible Roles for SAP software installation in various deployment configurations",
- "license": [
- "Apache-2.0"
- ],
- "license_file": null,
- "dependencies": {},
+ "license": [],
+ "license_file": "LICENSE",
+ "dependencies": {
+ "fedora.linux_system_roles": ">=1.13.0"
+ },
"repository": "https://github.com/sap-linuxlab/community.sap_install",
"documentation": "https://github.com/sap-linuxlab/sap-linuxlab.github.io/blob/master/README.md",
"homepage": "https://sap-linuxlab.github.io",
@@ -34,7 +34,7 @@
"name": "FILES.json",
"ftype": "file",
"chksum_type": "sha256",
- "chksum_sha256": "e6402c80541e6642518408607ee3a370b11d69eb631f66ef520b70d725c84619",
+ "chksum_sha256": "63450d0681ed48ccd03707ccabe7cef5f0323602faef9b542b4b60b26707d7b6",
"format": 1
},
"format": 1
diff --git a/docs/README_sap_hana_install.md b/docs/README_sap_hana_install.md
index f3617e8..2deb5ac 100644
--- a/docs/README_sap_hana_install.md
+++ b/docs/README_sap_hana_install.md
@@ -12,7 +12,6 @@ make sure that the required collections are installed, for example by using the
### Configure your system for the installation of SAP HANA
- Make sure required volumes and filesystems are configured in the host.
-You can use the role `sap_storage_setup` to configure this. More info [here](/roles/sap_storage_setup)
- Run the roles `sap_general_preconfigure` and `sap_hana_preconfigure` for installing required packages and
for configuring system settings.
@@ -160,6 +159,12 @@ The firewall ports for SAP HANA are defined in member `port` of the first field
member `state` is set to `enabled`, the ports will be enabled. If the member `state` is set to `disabled`,
the ports will be disabled, which might be useful for testing.
+Certain parameters have identical meanings, for supporting different naming schemes in playbooks and inventories.
+You can find those in the task `Rename some variables used by hdblcm configfile` of the file `tasks/main.yml`.
+Example: The parameter `sap_hana_install_number`, which is used by the role to define the hdblm parameter `number`
+(= SAP HANA instance number) can be defined by setting `sap_hana_instance_number`, `sap_hana_install_instance_nr`,
+`sap_hana_install_instance_number`, or `sap_hana_install_number`. The order of precedence is from left to right.
+
### Default Parameters
Please check the default parameters file for more information on other parameters that can be used as an input
@@ -189,7 +194,7 @@ Sample Ansible Playbook Execution
sap_hana_install_software_directory: /software/hana
sap_hana_install_common_master_password: 'NewPass$321'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -208,7 +213,7 @@ Sample Ansible Playbook Execution
sap_hana_install_root_password: 'NewPass$321'
sap_hana_install_addhosts: 'host2:role=worker,host3:role=worker:group=g02,host4:role=standby:group=g02'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -228,7 +233,7 @@ Sample Ansible Playbook Execution
sap_hana_install_common_master_password: 'NewPass$321'
sap_hana_install_root_password: 'NewPass$321'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -242,7 +247,7 @@ You can find more complex playbooks in directory `playbooks` of the collection `
#### Perform Initial Checks
These checks are only performed if `sap_hana_install_force` is set to `true`. Its default value is `false`
-- If variable `sap_hana_install_check_sidadm_user` is undefined or set to `y`: Check if user sidadm exists. If yes,
+- If variable `sap_hana_install_check_sidadm_user` is undefined or set to `yes`: Check if user sidadm exists. If yes,
abort the role.
- Check if `/usr/sap/hostctrl/exe/saphostctrl` exists and get info on running HANA instances.
@@ -261,7 +266,7 @@ These checks are only performed if `sap_hana_install_force` is set to `true`. It
- If file `hdblcm` is found, skip the next step and proceed with the `hdblcm` existence check.
- - If file `hdblcm` ist not found, proceed with the next step.
+ - If file `hdblcm` is not found, proceed with the next step.
- Prepare SAR files for `hdblcm`:
@@ -303,7 +308,7 @@ in a temporary directory for use by the hdblcm command in the next step.
- Set Log Mode key to overwrite value and apply to system.
-- Apply SAP HANA license to the new deployed instance if set to `y`.
+- Apply SAP HANA license to the new deployed instance if set to `yes`.
- Set expiry of Unix created users to `never`.
diff --git a/docs/README_sap_vm_preconfigure.md b/docs/README_sap_vm_preconfigure.md
index e86e885..95b5f39 100644
--- a/docs/README_sap_vm_preconfigure.md
+++ b/docs/README_sap_vm_preconfigure.md
@@ -1,5 +1,3 @@
-`EXPERIMENTAL`
-
sap_vm_preconfigure
==================
diff --git a/roles/sap_hana_install/README.md b/roles/sap_hana_install/README.md
index f3617e8..2deb5ac 100644
--- a/roles/sap_hana_install/README.md
+++ b/roles/sap_hana_install/README.md
@@ -12,7 +12,6 @@ make sure that the required collections are installed, for example by using the
### Configure your system for the installation of SAP HANA
- Make sure required volumes and filesystems are configured in the host.
-You can use the role `sap_storage_setup` to configure this. More info [here](/roles/sap_storage_setup)
- Run the roles `sap_general_preconfigure` and `sap_hana_preconfigure` for installing required packages and
for configuring system settings.
@@ -160,6 +159,12 @@ The firewall ports for SAP HANA are defined in member `port` of the first field
member `state` is set to `enabled`, the ports will be enabled. If the member `state` is set to `disabled`,
the ports will be disabled, which might be useful for testing.
+Certain parameters have identical meanings, for supporting different naming schemes in playbooks and inventories.
+You can find those in the task `Rename some variables used by hdblcm configfile` of the file `tasks/main.yml`.
+Example: The parameter `sap_hana_install_number`, which is used by the role to define the hdblm parameter `number`
+(= SAP HANA instance number) can be defined by setting `sap_hana_instance_number`, `sap_hana_install_instance_nr`,
+`sap_hana_install_instance_number`, or `sap_hana_install_number`. The order of precedence is from left to right.
+
### Default Parameters
Please check the default parameters file for more information on other parameters that can be used as an input
@@ -189,7 +194,7 @@ Sample Ansible Playbook Execution
sap_hana_install_software_directory: /software/hana
sap_hana_install_common_master_password: 'NewPass$321'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -208,7 +213,7 @@ Sample Ansible Playbook Execution
sap_hana_install_root_password: 'NewPass$321'
sap_hana_install_addhosts: 'host2:role=worker,host3:role=worker:group=g02,host4:role=standby:group=g02'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -228,7 +233,7 @@ Sample Ansible Playbook Execution
sap_hana_install_common_master_password: 'NewPass$321'
sap_hana_install_root_password: 'NewPass$321'
sap_hana_install_sid: 'H01'
- sap_hana_install_instance_number: '00'
+ sap_hana_install_instance_nr: '00'
roles:
- sap_hana_install
```
@@ -242,7 +247,7 @@ You can find more complex playbooks in directory `playbooks` of the collection `
#### Perform Initial Checks
These checks are only performed if `sap_hana_install_force` is set to `true`. Its default value is `false`
-- If variable `sap_hana_install_check_sidadm_user` is undefined or set to `y`: Check if user sidadm exists. If yes,
+- If variable `sap_hana_install_check_sidadm_user` is undefined or set to `yes`: Check if user sidadm exists. If yes,
abort the role.
- Check if `/usr/sap/hostctrl/exe/saphostctrl` exists and get info on running HANA instances.
@@ -261,7 +266,7 @@ These checks are only performed if `sap_hana_install_force` is set to `true`. It
- If file `hdblcm` is found, skip the next step and proceed with the `hdblcm` existence check.
- - If file `hdblcm` ist not found, proceed with the next step.
+ - If file `hdblcm` is not found, proceed with the next step.
- Prepare SAR files for `hdblcm`:
@@ -303,7 +308,7 @@ in a temporary directory for use by the hdblcm command in the next step.
- Set Log Mode key to overwrite value and apply to system.
-- Apply SAP HANA license to the new deployed instance if set to `y`.
+- Apply SAP HANA license to the new deployed instance if set to `yes`.
- Set expiry of Unix created users to `never`.