Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ For information on how to contribute, please see our [contribution guidelines](h


## Contributors
You can find list of Contributors at [/docs/contributors](./docs/CONTRIBUTORS.md).
You can find list of Contributors at [/docs/contributors](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/docs/CONTRIBUTORS.md).


## Support
Expand Down
31 changes: 14 additions & 17 deletions roles/sap_hypervisor_node_preconfigure/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The Ansible Role `sap_hypervisor_node_preconfigure` configures hypervisor nodes

This Ansible role supports the following hypervisors:
- Red Hat OpenShift Virtualization (OCPV): 4.14 or higher
- Red Hat Enterprise Virtualization (RHV): 4.4 or higher
- Red Hat Enterprise Virtualization (RHV) `deprecated`: 4.4 or higher
- _Formerly called Red Hat Enterprise Virtualization (RHEV) prior to version 4.4_
- _Note: This role is not compatible with standalone RHEL KVM (RHEL-KVM) hypervisor nodes._

Expand Down Expand Up @@ -58,7 +58,7 @@ Configures the Red Hat OpenShift cluster for SAP workloads.
- For SAP HANA: Worker nodes with Intel CPU Instruction Sets: `TSX` <sup>([SAP Note 2737837](https://me.sap.com/notes/2737837/E))</sup>

### Control Node Requirements
For a list of all collection prerequisites, please see the [Ansible Collection Readme](../../README.md#requirements).
For a list of all collection prerequisites, please see the [Ansible Collection Readme](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/README.md#requirements).

Direct access to the Red Hat OpenShift cluster is required.
- An Ansible Automation Platform Controller can be used to facilitate the orchestration.
Expand All @@ -70,30 +70,28 @@ Direct access to the Red Hat OpenShift cluster is required.
- `kubernetes` >= 29.0.0
- Ansible Collections:
- `kubernetes.core` >= 3.0.0
- `community.okd` >= 3.0.1

### Platform Specific Variables
All platform specific variables are available in [vars/platform_defaults_redhat_ocp_virt.yml](vars/platform_defaults_redhat_ocp_virt.yml).
All platform specific variables are available in [vars/platform_defaults_redhat_ocp_virt.yml](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/roles/sap_hypervisor_node_preconfigure/vars/platform_defaults_redhat_ocp_virt.yml).

The `kubeconfig` configuration file has to be provided by either:
1. The Ansible variable `sap_hypervisor_node_kubeconfig`.
2. The environment variable `K8S_AUTH_KUBECONFIG`.
3. The environment variable `KUBECONFIG`.
**NOTE:** If using the trident storage operator, the `kubeconfig` has also to contain a valid API token.
**NOTE:** If using the trident storage operator, the `kubeconfig` file has also to contain a valid API token.

Every worker has to have an entry in the `workers` section of the variable `sap_hypervisor_node_preconfigure_cluster_config` and make sure, that the name attribute corresponds with the cluster node name (e.g. worker-0). Adjust the network interface name you want to use. There are two types of networking technologies available: bridging or SR-IOV.

There is a section for the `trident` configuration, this is required when installing the NetApp Astra Trident Operator for NFS storage. When using the host path provisioner, `worker_localstorage_device` has to point to the block device which should be used.

### Example
See [sample-sap-hypervisor-redhat_ocp_virt-preconfigure.yml](../playbooks/sample-sap-hypervisor-redhat_ocp_virt-preconfigure.yml) for an example.
See [sample-sap-hypervisor-redhat-ocp-virt-preconfigure.yml](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/playbooks/sample-sap-hypervisor-redhat-ocp-virt-preconfigure.yml) for an example.

Make sure to set the `K8S_AUTH_KUBECONFIG` environment variable, e.g.
```
export K8S_AUTH_KUBECONFIG=/path/to/my_kubeconfig
```
To invoke the example playbook with the example configuration using your localhost as ansible host use this command:
- It has to be executed from [`/playbooks`](../playbooks/) directory.
To invoke the example playbook with the example configuration using your localhost as ansible host use the following command. In this example it has to be executed from `/playbooks` directory, otherwise the path hast to be adjusted.

```shell
ansible-playbook --connection=local -i localhost, \
Expand All @@ -102,7 +100,7 @@ ansible-playbook --connection=local -i localhost, \
```


## Platform: Red Hat Virtualization (RHV)
## Platform: Red Hat Virtualization (RHV) `deprecated`
Configures the Red Hat Virtualization (RHV) hypervisor nodes, formerly known as Red Hat Enterprise Virtualization (RHEV) prior to version 4.4.

Red Hat Virtualization consists of a `Red Hat Virtualization Manager (RHV-M)` and the `Red Hat Virtualization Host (RHV-H)` hypervisor nodes that this role pre-configures.
Expand All @@ -112,21 +110,20 @@ This Ansible Role does not preconfigure RHEL KVM (RHEL-KVM) hypervisor nodes.
- Please note that RHEL KVM is a standalone hypervisor and does not include the management tooling provided by RHV-M.

### Requirements
For a list of all collection prerequisites, please see the [Ansible Collection Readme](../../README.md#requirements).
For a list of all collection prerequisites, please see the [Ansible Collection Readme](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/README.md#requirements).

- Hypervisor Administrator credentials
- One or more available RHV hypervisors.

### Platform Specific Variables
All platform specific variables are available in [vars/platform_defaults_redhat_rhel_kvm.yml](vars/platform_defaults_redhat_rhel_kvm.yml).

### Example
See [sample-sap-hypervisor-redhat-rhel-kvm-preconfigure.yml](../playbooks/sample-sap-hypervisor-redhat-rhel-kvm-preconfigure.yml) for an example.

All platform specific variables are available in [vars/platform_defaults_redhat_rhel_kvm.yml](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/roles/sap_hypervisor_node_preconfigure/vars/platform_defaults_redhat_rhel_kvm.yml).

<!-- BEGIN Further Information -->
<!-- END Further Information -->

## Testing
Additionally the Ansible Role `sap_hypervisor_node_preconfigure` is continuously tested for Red Hat OpenShift. Goal is to ensure that this roles work on all supported OpenShift versions. All network related setup is tested with ipv4 only.

## License
<!-- BEGIN License -->
Apache 2.0
Expand All @@ -139,6 +136,6 @@ Apache 2.0

## Role Variables
<!-- BEGIN Role Variables -->
The list of all available variables: [/defaults parameters file](./defaults/main.yml).
The list of all available variables: [/defaults parameters file](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/roles/sap_hypervisor_node_preconfigure/vars/platform_defaults_redhat_rhel_kvm.yml).
The platform specific variables are defined in their respective files under `vars/` directory.
<!-- END Role Variables -->
<!-- END Role Variables -->
16 changes: 10 additions & 6 deletions roles/sap_vm_provision/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This Ansible Role follows requirements and best practices of each Infrastructure
## Prerequisites (Control Node)
The prerequisites are listed only for Control Node, because Managed Nodes are provisioned during runtime.

For a list of requirements and recommended authorizations on each Infrastructure Platform, please see the separate [Infrastructure Platform Guidance](./PLATFORM_GUIDANCE.md) document and the drop-down for each different Infrastructure Platform.
For a list of requirements and recommended authorizations on each Infrastructure Platform, please see the separate [Infrastructure Platform Guidance](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_provision/PLATFORM_GUIDANCE.md) document and the drop-down for each different Infrastructure Platform.

### Base Prerequisites
For list of all collection prerequisites, please see [Ansible Collection Readme](https://github.com/sap-linuxlab/community.sap_infrastructure/blob/main/README.md#requirements)
Expand All @@ -34,7 +34,7 @@ For list of all collection prerequisites, please see [Ansible Collection Readme]
- `jmespath` 1.0.1 or higher
- Ansible Collections:
- `cloud.common`
- `cloud.terraform` When `Ansible to Terraform` is used.
- `cloud.terraform` when `Ansible to Terraform` is used.

### Amazon Web Services (AWS) Prerequisites
- Python libraries and modules:
Expand Down Expand Up @@ -103,7 +103,7 @@ A series of choices are deciding Ansible Role behavior:
- Microsoft Azure Virtual Machines
- IBM PowerVM Virtual Machines _(formerly LPAR)_
- OVirt Virtual Machines `[Experimental]`
- KubeVirt Virtual Machines `[Experimental]` (e.g. Red Hat OpenShift Virtualization)
- KubeVirt Virtual Machines `[beta]` (e.g. Red Hat OpenShift Virtualization)
- VMware vSphere Virtual Machines `[Experimental]`
<!-- END Execution -->

Expand Down Expand Up @@ -167,12 +167,15 @@ Explanation of workflow:
3. Third play: `Ansible Play for remaining tasks on provisioned hosts`
- Example of how newly provisioned hosts can be targeted with additional tasks (e.g. SAP Installation).

For further information, see the [sample Ansible Playbooks in `/playbooks`](../playbooks/).
For further information, see the [sample Ansible Playbooks in `/playbooks`](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/playbooks/).
<!-- END Execution Example -->

<!-- BEGIN Role Tags -->
<!-- END Role Tags -->

## Testing
Additionally the Ansible Role `sap_vm_provision` is continuously tested for Red Hat OpenShift. Goal is to ensure that this roles work on all supported OpenShift versions. All network related setup is tested with ipv4 only.

<!-- BEGIN Further Information -->
## Further Information
- For Hyperscaler Cloud Service Providers that use Resource Groups (IBM Cloud, Microsoft Azure):
Expand All @@ -182,6 +185,7 @@ For further information, see the [sample Ansible Playbooks in `/playbooks`](../p

### Known issues
- VMware REST API combined with cloud-init is unstable, `userdata` configuration may not execute and provisioning will fail
- On a kubevirt platform (e.g. Red Hat OpenShift) `ANSIBLE_JINJA2_NATIVE=true` has to be set in the environment.
<!-- END Further Information -->

## License
Expand All @@ -198,7 +202,7 @@ Apache 2.0

## Role Variables
<!-- BEGIN Role Variables -->
The list of all available variables: [/defaults parameters file](./defaults/main.yml).
The list of all available variables: [/defaults parameters file](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_provision/defaults/main.yml).

**Following key variables are required.**

Expand Down Expand Up @@ -238,7 +242,7 @@ Customization options:<br>

### Credentials

Each Infrastructure Platform has list of required variables defined in [/defaults parameters file](./defaults/main.yml).
Each Infrastructure Platform has list of required variables defined in [/defaults parameters file](https://github.com/sap-linuxlab/community.sap_infrastructure/tree/main/roles/sap_vm_provision/defaults/main.yml).
Example for `aws_ec2_vs`:
- `sap_vm_provision_aws_access_key`
- `sap_vm_provision_aws_secret_access_key`
Expand Down