Skip to content

Commit cf3b515

Browse files
authored
Merge pull request #32 from sap-linuxlab/dev
0.7.4 release
2 parents f3c85b7 + 39e3dd2 commit cf3b515

File tree

150 files changed

+4792
-392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

150 files changed

+4792
-392
lines changed

.github/workflows/terraform_ansible_software_availability.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ on:
44
# * is a special character in YAML, quote string to avoid
55
# schedule uses UTC
66
# only uses the main branch, to alter use 'with: ref: branch_name' for the step using actions/checkout
7+
# At 05:00 on every day-of-week from Monday through Friday
78
schedule:
8-
- cron: '0 11,19 * * 1-5'
9+
- cron: '0 5 * * 1-5'
910

1011
push:
1112
branches:

.github/workflows/terraform_validate.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ jobs:
1818
max-parallel: 10
1919
matrix:
2020
terraform_ver: [~1.0.0, ~1.1.0, ~1.2.0, ~1.3.0]
21-
terraform_module_parent: [all, aws_ec2_instance, ibmcloud_vs, ibmcloud_powervs, ibmpowervc, msazure_vm, vmware_vm]
21+
terraform_module_parent: [all, aws_ec2_instance, gcp_ce_vm, ibmcloud_vs, ibmcloud_powervs, ibmpowervc, msazure_vm, vmware_vm]
2222
steps:
2323
- name: Checkout
2424
uses: actions/checkout@v3.1.0
2525
- name: Setup Terraform
26-
uses: hashicorp/setup-terraform@v2.0.2
26+
uses: hashicorp/setup-terraform@v2.0.3
2727
with:
2828
terraform_version: ${{ matrix.terraform_ver }}
2929
- name: Terraform Init

README.md

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ The below table lists the Terraform Modules for SAP, and any detailed documentat
5050
|:---|:---|
5151
| **TF Modules for Infrastructure Platforms** | - |
5252
|  Amazon Web Services Elastic Compute Cloud (EC2) Virtual Server | |
53-
|  ~~Google Cloud Platform Compute Engine (CE) Virtual Machine~~ | N/A |
53+
|  Google Cloud Platform Compute Engine (CE) Virtual Machine | N/A |
5454
|  IBM Cloud Virtual Servers | N/A |
5555
|  IBM Cloud, IBM Power Virtual Servers | |
5656
|  IBM Power Virtualization Center | N/A |
@@ -80,46 +80,46 @@ The below table lists the Terraform Modules for SAP, and any detailed documentat
8080

8181
## Infrastructure provisioning parity comparison
8282

83-
| Infrastructure Platform | **Amazon Web Services (AWS)** | **Microsoft Azure** | **IBM Cloud** | **IBM Cloud** | **IBM PowerVC** | **VMware vSphere** |
84-
|:---|:---:|:---:|:---:|:---:|:---:|:---:|
85-
|   *Product* | EC2 Virtual Server | VM | Virtual Server | IBM Power Virtual Server | LPAR | VM |
86-
| &emsp;&emsp;*Compute*<br/>&emsp;&emsp;*Type* | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) |
87-
| &emsp;&emsp;*Compute*<br/>&emsp;&emsp;*Hypervisor* | KVM | HyperV | KVM | IBM PowerVM<br> (PHYP LE) | IBM PowerVM<br> (PHYP LE) | VMware vSphere |
88-
| <br/><br/>***Account Init*** | | | | | | |
89-
| Create Resource Group, or re-use existing Resource Group | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
90-
| Create VPC/VNet, or re-use existing VPC/VNet | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
91-
| Create Subnet, or re-use existing Subnet | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
92-
| Create Many-to-One NAT Gateway (Public Internet access for hosts) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
93-
| <br/>***Account Bootstrap<br/>(aka. minimal landing zone)*** | | | | | | |
94-
| Create Private DNS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
95-
| Create Network Interconnectivity hub (e.g. Transit Gateway) | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | N/A | N/A |
96-
| Create Network Security for Subnet/s (e.g. ACL, NSG) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
97-
| Create Network Security for Host/s (e.g. Security Groups) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
98-
| Create TLS key pair for SSH (using RSA algorithm) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
99-
| Import public key to Cloud platform | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
100-
| <br/>***Account IAM*** | | | | | | |
101-
| Create IAM Access Group/s and contained Policies | :x: | :x: | :warning: WIP | :x: | N/A | N/A |
102-
| <br/>***Bastion Injection*** | | | | | | |
103-
| Find OS Image | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
104-
| Create Subnet for Bastion (using small CIDR prefix) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
105-
| Create Network Security for Host/s connection from Bastion (e.g. Security Groups) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
106-
| Create Network Security for Bastion (e.g. Security Groups) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
107-
| Create Public IP address for Bastion | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
108-
| Create Bastion host | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
109-
| Build scripts for Bastion host:<br> - Create OS User for bastion access<br> - Amend SSH Authorized Keys of OS User for bastion access<br> - Activate firewalld<br> - Change SSH Port to within IANA Dynamic Ports range<br> - Update SELinux of port change<br> - Deny root login from Public IP | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
110-
| <br/>***Host Network Access for SAP*** | | | | | | |
111-
| Append Network Security rules for SAP (e.g. Security Group Rules)<br> - SAP NetWeaver AS (ABAP)<br> - SAP NetWeaver AS (JAVA)<br> - SAP HANA<br> - SAP HANA XSA<br> - SAP Web Dispatcher | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
112-
| <br/>***Proxy interconnect provision for increased security hosts*** | | | | | | |
113-
| Find OS Image | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
114-
| Create Proxy host | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
115-
| Create DNS Records (i.e. A, CNAME, PTR) | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
116-
| Build scripts for Bastion host:<br> - Setup BIND/named for DNS Proxy<br> - Setup Squid for Web Forward Proxy<br> - Setup Nginx for Web Reverse Proxy | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
117-
| <br/>***Host Provision*** | | | | | | |
118-
| Find OS Image with SAP-relevant OS Package Repositories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:<br/><sub>clone from Stock OS Image</sub> | :white_check_mark: | :white_check_mark: |
119-
| Create DNS Records (i.e. A, CNAME, PTR) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
120-
| Create Storage Volumes (defined storage profile with IOPS/GB, or custom IOPS) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning:<br/><sub>no custom IOPS</sub> | :white_check_mark: | :white_check_mark: |
121-
| Create Host/s | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
122-
| Attach Storage Volumes to Host/s | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
123-
| Build scripts for Host:<br> - Enable root login<br> - Set hostname<br> - Set DNS in resolv.conf<br> - Disks and Filesystem setup (LVM with XFS and striping, or Physical with XFS) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
124-
| Build scripts for increased security Hosts:<br> - Set DNS Proxy in resolv.conf<br> - Set Web Proxy for non-interactive login shell | N/A | N/A | N/A | :white_check_mark: | :white_check_mark: | :white_check_mark: |
125-
| Build scripts for BYOL OS:<br> - Enable OS Subscription with BYOL, setup OS Package Repositories | N/A | N/A | N/A | :white_check_mark: | :white_check_mark: | :white_check_mark: |
83+
| Infrastructure Platform | **Amazon Web Services (AWS)** | **Google Cloud** | **Microsoft Azure** | **IBM Cloud** | **IBM Cloud** | **IBM PowerVC** | **VMware vSphere** |
84+
|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
85+
| &emsp;&emsp;*Product* | EC2 Virtual Server | VM | VM | Virtual Server | IBM Power Virtual Server | LPAR | VM |
86+
| &emsp;&emsp;*Compute*<br/>&emsp;&emsp;*Type* | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) | Virtual Machine<br> (Type 1) |
87+
| &emsp;&emsp;*Compute*<br/>&emsp;&emsp;*Hypervisor* | KVM | KVM | HyperV | KVM | IBM PowerVM<br> (PHYP LE) | IBM PowerVM<br> (PHYP LE) | VMware vSphere |
88+
| <br/><br/>***Account Init*** | | | | | | | |
89+
| Create Resource Group, or re-use existing Resource Group | :x: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
90+
| Create VPC/VNet, or re-use existing VPC/VNet | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
91+
| Create Subnet, or re-use existing Subnet | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
92+
| Create Many-to-One NAT Gateway (Public Internet access for hosts) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
93+
| <br/>***Account Bootstrap<br/>(aka. minimal landing zone)*** | | | | | | | |
94+
| Create Private DNS | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
95+
| Create Network Interconnectivity hub (e.g. Transit Gateway) | :white_check_mark: | :x: | :x: | :white_check_mark: | :white_check_mark: | N/A | N/A |
96+
| Create Network Security for Subnet/s (e.g. ACL, NSG) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
97+
| Create Network Security for Host/s (e.g. Security Groups) | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
98+
| Create TLS key pair for SSH (using RSA algorithm) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
99+
| Import public key to Cloud platform | :white_check_mark: | :x: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
100+
| <br/>***Account IAM*** | | | | | | | |
101+
| Create IAM Access Group/s and contained Policies for SAP 'Basis' Administrators | :x: WIP | :x: WIP | :x: WIP | :warning: WIP | :x: WIP | N/A | N/A |
102+
| <br/>***Bastion Injection*** | | | | | | | |
103+
| Find OS Image | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
104+
| Create Subnet for Bastion (using small CIDR prefix) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
105+
| Create Network Security for Host/s connection from Bastion (e.g. Security Groups) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
106+
| Create Network Security for Bastion (e.g. Security Groups) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
107+
| Create Public IP address for Bastion | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
108+
| Create Bastion host | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
109+
| Build scripts for Bastion host:<sub><br> - Create OS User for bastion access<br> - Amend SSH Authorized Keys of OS User for bastion access<br> - Activate firewalld<br> - Change SSH Port to within IANA Dynamic Ports range<br> - Update SELinux of port change<br> - Deny root login from Public IP</sub> | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
110+
| <br/>***Host Network Access for SAP*** | | | | | | | |
111+
| Append Network Security rules for SAP (e.g. Security Group Rules)<sub><br> - SAP NetWeaver AS (ABAP)<br> - SAP NetWeaver AS (JAVA)<br> - SAP HANA<br> - SAP HANA XSA<br> - SAP Web Dispatcher</sub> | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
112+
| <br/>***Proxy interconnect provision for increased security hosts*** | | | | | | | |
113+
| Find OS Image | N/A | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
114+
| Create Proxy host | N/A | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
115+
| Create DNS Records (i.e. A, CNAME, PTR) | N/A | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
116+
| Build scripts for Bastion host:<sub><br> - Setup BIND/named for DNS Proxy<br> - Setup Squid for Web Forward Proxy<br> - Setup Nginx for Web Reverse Proxy</sub> | N/A | N/A | N/A | N/A | :white_check_mark: | N/A | N/A |
117+
| <br/>***Host Provision*** | | | | | | | |
118+
| Find OS Image with SAP-relevant OS Package Repositories | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark:<br/><sub>clone from Stock OS Image</sub> | :white_check_mark: | :white_check_mark: |
119+
| Create DNS Records (i.e. A, CNAME, PTR) | :white_check_mark: | :white_check_mark: | ::white_check_mark: | :white_check_mark: | :white_check_mark: | N/A | N/A |
120+
| Create Storage Volumes (defined storage profile with IOPS/GB, or custom IOPS) | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning:<br/><sub>no custom IOPS</sub> | :white_check_mark: | :white_check_mark: |
121+
| Create Host/s | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
122+
| Attach Storage Volumes to Host/s | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
123+
| Build scripts for Host:<sub><br> - Enable root login<br> - Set hostname<br> - Set DNS in resolv.conf<br> - Disks and Filesystem setup (LVM with XFS and striping, or Physical with XFS)</sub> | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: | :white_check_mark: |
124+
| Build scripts for increased security Hosts:<sub><br> - Set DNS Proxy in resolv.conf<br> - Set Web Proxy for non-interactive login shell</sub> | N/A | N/A | N/A | N/A | :white_check_mark: | :white_check_mark: | :white_check_mark: |
125+
| Build scripts for BYOL OS:<sub><br> - Enable OS Subscription with BYOL, setup OS Package Repositories</sub> | N/A | N/A | N/A | N/A | :white_check_mark: | :white_check_mark: | :white_check_mark: |

all/ansible_sap_bw4hana_install/ansible_requirements_collections.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ collections:
1010
version: 1.33.0
1111
- name: community.sap_install
1212
type: galaxy
13-
version: 1.2.0
13+
version: 1.2.2
1414
# - name: community.sap_launchpad
1515
# type: galaxy
1616
# version: 0.0.0

all/ansible_sap_bw4hana_install/exec_ansible_dry_run.tf

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ resource "null_resource" "ansible_exec_dry_run" {
44
depends_on = [local_file.ansible_extravars, local_file.bastion_rsa, local_file.hosts_rsa]
55
count = local.dry_run_boolean ? 1 : 0
66

7-
# for ansible-playbook, use timeout set to 60 seconds to avoid error "Connection timed out during banner exchange"
7+
# for ansible-playbook, use timeout set to 180 seconds to avoid error "Connection timed out during banner exchange"
88
# for ansible-playbook, use debug with connection details -vvvv if errors occur
99
provisioner "local-exec" {
1010
command = <<EOT
@@ -15,6 +15,13 @@ resource "null_resource" "ansible_exec_dry_run" {
1515
export GIT_CONFIG_GLOBAL=/dev/null
1616
export GIT_CONFIG_SYSTEM=/dev/null
1717
18+
# Documentation regarding SSH and Timeout configurations
19+
# https://docs.ansible.com/ansible/latest/reference_appendices/config.html
20+
# https://docs.ansible.com/ansible/latest/collections/ansible/builtin/ssh_connection.html
21+
22+
# Ansible Config - Default timeout for connection plugins to use. Equivilant to 'ansible-playbook --timeout 180' command, and creates SSH connection with '-o ConnectTimeout=180'.
23+
export ANSIBLE_TIMEOUT=180
24+
1825
# Ansible Config - Forces color mode when run without a TTY
1926
export ANSIBLE_FORCE_COLOR=1
2027

0 commit comments

Comments
 (0)