|
2 | 2 |
|
3 | 3 |  |
4 | 4 |
|
5 | | -This Ansible Collection executes various SAP Infrastructure related tasks, creating resources needed for hosts of SAP Systems. |
| 5 | +## Description |
| 6 | +This Ansible Collection provides a set of Ansible Roles designed to automate various infrastructure-related tasks for SAP systems. It focuses on creating and configuring the necessary resources on different infrastructure platforms, including cloud hyperscalers and hypervisors. |
6 | 7 |
|
7 | | -These Ansible Roles are often run first and combined with other Ansible Collections to provide end-to-end automation. |
| 8 | +These roles are typically used as a foundational step in end-to-end automation workflows, often in conjunction with other Ansible Collections that handle higher-level configurations, such as SAP application deployments. |
8 | 9 |
|
9 | | -Various Infrastructure Platforms (Cloud Hyperscalers and Hypervisors) are compatible and tested with this Ansible Collection. |
| 10 | +The included roles cover a range of tasks, such as: |
| 11 | +- Provisioning Virtual Machines on target infrastructure platforms, using `Ansible` or `Terraform`. |
| 12 | + - This also includes provisioning of High Availability resources (Routing, Load Balancers, etc.), where applicable. |
| 13 | +- Assigning temporary Virtual IP Addresses for application installation, before they are managed by a cluster. |
| 14 | +- Pre-configuring hypervisor nodes for hosting virtual machines for SAP systems. |
| 15 | +- Pre-configuring virtual machines (`Work in Progress`). |
| 16 | +- Verifying provisioned virtual machines (`Work in Progress`). |
10 | 17 |
|
11 | 18 |
|
12 | | -**Please read the [full documentation](./docs#readme) for how-to guidance, requirements, and all other details. Summary documentation is below:** |
| 19 | +## Requirements |
| 20 | +**Please read the detailed documentation for each Ansible Role to understand their specific requirements.** |
13 | 21 |
|
| 22 | +Always follow official [Ansible Documentation](https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix) for compatibility matrix between Control and Managed nodes. |
14 | 23 |
|
15 | | -## Contents |
| 24 | +### Control Nodes |
| 25 | +Supported Operating systems: |
| 26 | +- Any operating system with required Python and Ansible versions. |
| 27 | + |
| 28 | +Component versions: |
| 29 | +| Component | Version | |
| 30 | +| --- | --- | |
| 31 | +| Python | 3.11 or higher | |
| 32 | +| ansible-core | 2.16 or higher | |
| 33 | + |
| 34 | +**NOTE:** We recommend using the latest version of components. </br> |
| 35 | +Each minor version of `ansible-core` can bring Security fixes (CVE) that can affect functionality. Examples: |
| 36 | +- `CVE-2023-5764` changed `assert` functionality in `2.14.12`, `2.15.8` and `2.16.1`. |
| 37 | +- `CVE-2024-11079` changed `hostvars` functionality in `2.16.14`, `2.17.7` and `2.18.1`. |
| 38 | + |
| 39 | +### Managed Nodes |
| 40 | +Supported Operating systems: |
| 41 | +- SUSE Linux Enterprise Server for SAP applications (SLE4SAP): 15 SP5-SP7 and 16 |
| 42 | +- Red Hat Enterprise Linux for SAP Solutions (RHEL4SAP): 8.x, 9.x and 10.x |
| 43 | + |
| 44 | +**NOTE: Operating system needs to have access to required package repositories either directly or via a subscription registration.** |
| 45 | + |
| 46 | +Component versions: |
| 47 | +| Component | Version | |
| 48 | +| --- | --- | |
| 49 | +| Python | 3.6 or higher | |
| 50 | + |
| 51 | + |
| 52 | +## Installation Instructions |
| 53 | + |
| 54 | +### Installation |
| 55 | +Install this collection with Ansible Galaxy command: |
| 56 | +```console |
| 57 | +ansible-galaxy collection install community.sap_infrastructure |
| 58 | +``` |
| 59 | + |
| 60 | +Optionally you can include collection in requirements.yml file and include it together with other collections using: `ansible-galaxy collection install -r requirements.yml`.</br> |
| 61 | +**NOTE: This is not recommended for this collection, because you will need only specific subset of collections for your chosen Infrastructure Platform.**</br> |
| 62 | + |
| 63 | +Requirements file need to be maintained in following format: |
| 64 | +```yaml |
| 65 | +collections: |
| 66 | + - name: community.sap_infrastructure |
| 67 | +``` |
| 68 | +
|
| 69 | +### Upgrade |
| 70 | +Installed Ansible Collection will not be upgraded automatically when Ansible package is upgraded. |
| 71 | +
|
| 72 | +To upgrade the collection to the latest available version, run the following command: |
| 73 | +```console |
| 74 | +ansible-galaxy collection install community.sap_infrastructure --upgrade |
| 75 | +``` |
| 76 | + |
| 77 | +You can also install a specific version of the collection if you encounter issues with the latest version. Please report such issues in the affected Role repository. |
| 78 | +For example, to install version 1.1.0: |
| 79 | +``` |
| 80 | +ansible-galaxy collection install community.sap_infrastructure:==1.1.0 |
| 81 | +``` |
| 82 | + |
| 83 | +See [Installing collections](https://docs.ansible.com/ansible/latest/collections_guide/collections_installing.html) for more details on installation methods. |
16 | 84 |
|
17 | | -Within this Ansible Collection, there are various Ansible Roles and no custom Ansible Modules. |
18 | 85 |
|
19 | 86 | ### Ansible Roles |
| 87 | +All included roles can be executed independently or as part of [ansible.playbooks_for_sap](https://github.com/sap-linuxlab/ansible.playbooks_for_sap) playbooks. |
20 | 88 |
|
21 | 89 | | Name | Summary | |
22 | 90 | | :--- | :--- | |
23 | | -| [sap_hypervisor_node_preconfigure](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_hypervisor_node_preconfigure)<br/>`Beta` | Vendor-specific configuration preparation tasks for Hypervisor nodes hosting Virtual Machines running SAP Systems | |
24 | | -| ~~[sap_vm_preconfigure](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_preconfigure)~~<br/>`WIP` | ~~Vendor-specific configuration preparation tasks for Virtual Machines running SAP Systems~~ | |
25 | | -| [sap_vm_provision](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_provision) | Provision Virtual Machines to different Infrastructure Platforms; with optional Ansible to Terraform to provision minimal landing zone (partial compatibility via [Terraform Modules for SAP](https://github.com/sap-linuxlab/terraform.modules_for_sap)) | |
26 | | -| [sap_vm_temp_vip](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_temp_vip)<br/>`Beta` | Temporary Virtual IP (VIP) assigned to OS Network Interface prior to Linux Pacemaker ownership | |
27 | | -| ~~[sap_vm_verify](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_verify)~~<br/>`WIP` | ~~Verification of Virtual Machine state and readiness to perform SAP Software installation~~ | |
| 91 | +| [sap_hypervisor_node_preconfigure](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_hypervisor_node_preconfigure)`Beta` | Vendor-specific configuration preparation tasks for Hypervisor nodes hosting Virtual Machines running SAP Systems | |
| 92 | +| ~~[sap_vm_preconfigure](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_preconfigure)~~`WIP` | ~~Vendor-specific configuration preparation tasks for Virtual Machines running SAP Systems~~ | |
| 93 | +| [sap_vm_provision](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_provision) | Provision Virtual Machines to different Infrastructure Platforms; with optional Ansible to Terraform to provision minimal landing zone. | |
| 94 | +| [sap_vm_temp_vip](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_temp_vip)<br/> | Temporary Virtual IP (VIP) assigned to OS Network Interface prior to Linux Pacemaker ownership | |
| 95 | +| ~~[sap_vm_verify](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_verify)~~ `WIP` | ~~Verification of Virtual Machine state and readiness to perform SAP Software installation~~ | |
28 | 96 |
|
29 | 97 |
|
30 | | -## License |
| 98 | +## Testing |
| 99 | +This Ansible Collection has been tested across different operating systems, SAP products, and scenarios. |
| 100 | + |
| 101 | +Prior to each release, basic scenarios are executed to confirm functionality is working as expected, including SAP S/4HANA installation. |
| 102 | + |
| 103 | +**NOTE: It is not possible for the project maintainers to test every combination of Infrastructure Platform, Operating System and SAP Software for every release.** |
| 104 | + |
31 | 105 |
|
32 | | -- [Apache 2.0](./LICENSE) |
| 106 | +## Contributing |
| 107 | +For information on how to contribute, please see our [contribution guidelines](https://sap-linuxlab.github.io/initiative_contributions/). |
33 | 108 |
|
34 | 109 |
|
35 | 110 | ## Contributors |
| 111 | +You can find list of Contributors at [/docs/contributors](./docs/CONTRIBUTORS.md). |
| 112 | + |
| 113 | + |
| 114 | +## Support |
| 115 | +You can report any issues using [GitHub Issues](https://github.com/sap-linuxlab/community.sap_infrastructure/issues). |
| 116 | + |
36 | 117 |
|
37 | | -Contributors to the Ansible Roles within this Ansible Collection, are shown within [/docs/contributors](./docs/CONTRIBUTORS.md). |
| 118 | +## Release Notes and Roadmap |
| 119 | +The release notes for this collection can be found in the [CHANGELOG file](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/CHANGELOG.rst). |
| 120 | + |
| 121 | + |
| 122 | +## Further Information |
| 123 | + |
| 124 | +### Variable Precedence Rules |
| 125 | +Please follow [Ansible Precedence guidelines](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable) on how to pass variables when using this collection. |
| 126 | + |
| 127 | + |
| 128 | +## License |
| 129 | +[Apache 2.0](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/LICENSE) |
0 commit comments