diff --git a/README.md b/README.md index 7df9c43..3db07e8 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/roles/sap_hypervisor_node_preconfigure/README.md b/roles/sap_hypervisor_node_preconfigure/README.md index c76131a..bbba707 100644 --- a/roles/sap_hypervisor_node_preconfigure/README.md +++ b/roles/sap_hypervisor_node_preconfigure/README.md @@ -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._ @@ -58,7 +58,7 @@ Configures the Red Hat OpenShift cluster for SAP workloads. - For SAP HANA: Worker nodes with Intel CPU Instruction Sets: `TSX` ([SAP Note 2737837](https://me.sap.com/notes/2737837/E)) ### 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. @@ -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, \ @@ -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. @@ -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). +## 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 Apache 2.0 @@ -139,6 +136,6 @@ Apache 2.0 ## 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. - \ No newline at end of file + diff --git a/roles/sap_vm_provision/README.md b/roles/sap_vm_provision/README.md index b1cc74d..9a7914d 100644 --- a/roles/sap_vm_provision/README.md +++ b/roles/sap_vm_provision/README.md @@ -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) @@ -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: @@ -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]` @@ -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/). +## 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. + ## Further Information - For Hyperscaler Cloud Service Providers that use Resource Groups (IBM Cloud, Microsoft Azure): @@ -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. ## License @@ -198,7 +202,7 @@ Apache 2.0 ## 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.** @@ -238,7 +242,7 @@ Customization options:
### 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`