From 8ca6c5ba402efb3ce7483c9ff2b26b06a36322fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Wed, 2 Feb 2022 18:57:40 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=AD=EF=B8=8F=20Support=20multiple=20Te?= =?UTF-8?q?rraform=20configurations?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Historically, we only support one Terraform configuration, through the "openstack-tf" infraclass. With these changes, we support multiple Terraform configurations, including (at this point) "openstack" and "oci" (Oracle Cloud). Existing infra files that use INFRACLASS=openstack-tf should be changed as follows: INFRACLASS=terraform TERRAFORM=openstack --- ...enstack-tf => example.terraform.openstack} | 3 +- prepare-vms/lib/commands.sh | 20 ++++-- .../infra/{openstack-tf.sh => terraform.sh} | 21 ++++++- prepare-vms/terraform/oci/main.tf | 48 ++++++++++++++ prepare-vms/terraform/oci/network.tf | 63 +++++++++++++++++++ prepare-vms/terraform/oci/provider.tf | 8 +++ prepare-vms/terraform/oci/variables.tf | 42 +++++++++++++ .../openstack}/keypair.tf | 0 .../openstack}/machines.tf | 0 .../openstack}/network.tf | 0 .../openstack}/provider.tf | 0 .../openstack}/secgroup.tf | 0 .../openstack}/vars.tf | 0 13 files changed, 197 insertions(+), 8 deletions(-) rename prepare-vms/infra/{example.openstack-tf => example.terraform.openstack} (89%) rename prepare-vms/lib/infra/{openstack-tf.sh => terraform.sh} (54%) create mode 100644 prepare-vms/terraform/oci/main.tf create mode 100644 prepare-vms/terraform/oci/network.tf create mode 100644 prepare-vms/terraform/oci/provider.tf create mode 100644 prepare-vms/terraform/oci/variables.tf rename prepare-vms/{terraform-openstack => terraform/openstack}/keypair.tf (100%) rename prepare-vms/{terraform-openstack => terraform/openstack}/machines.tf (100%) rename prepare-vms/{terraform-openstack => terraform/openstack}/network.tf (100%) rename prepare-vms/{terraform-openstack => terraform/openstack}/provider.tf (100%) rename prepare-vms/{terraform-openstack => terraform/openstack}/secgroup.tf (100%) rename prepare-vms/{terraform-openstack => terraform/openstack}/vars.tf (100%) diff --git a/prepare-vms/infra/example.openstack-tf b/prepare-vms/infra/example.terraform.openstack similarity index 89% rename from prepare-vms/infra/example.openstack-tf rename to prepare-vms/infra/example.terraform.openstack index 1b25f4c0..17c94273 100644 --- a/prepare-vms/infra/example.openstack-tf +++ b/prepare-vms/infra/example.terraform.openstack @@ -1,4 +1,5 @@ -INFRACLASS=openstack-tf +INFRACLASS=terraform +TERRAFORM=openstack # If you are using OpenStack, copy this file (e.g. to "openstack" or "enix") # and customize the variables below. diff --git a/prepare-vms/lib/commands.sh b/prepare-vms/lib/commands.sh index dd6f7916..74b546fa 100644 --- a/prepare-vms/lib/commands.sh +++ b/prepare-vms/lib/commands.sh @@ -178,6 +178,13 @@ _cmd_clusterize() { # install --owner=ubuntu --mode=600 /root/.ssh/authorized_keys --target-directory /home/ubuntu/.ssh" #fi + # Special case for oracle since their iptables blocks everything but SSH + pssh " + if [ -f /etc/iptables/rules.v4 ]; then + sudo sed -i 's/-A INPUT -j REJECT --reject-with icmp-host-prohibited//' /etc/iptables/rules.v4 + sudo netfilter-persistent start + fi" + # Copy settings and install Python YAML parser pssh -I tee /tmp/settings.yaml