From df4dfbaa8effa9808c6a76f3068c386d4ba4a4a3 Mon Sep 17 00:00:00 2001 From: Robin Wallace Date: Tue, 30 Nov 2021 21:59:01 +0100 Subject: [PATCH] Add option for boot volume type for k8s node (#8256) --- contrib/terraform/openstack/README.md | 1 + contrib/terraform/openstack/kubespray.tf | 1 + contrib/terraform/openstack/modules/compute/main.tf | 3 +++ contrib/terraform/openstack/modules/compute/variables.tf | 2 ++ contrib/terraform/openstack/variables.tf | 4 ++++ 5 files changed, 11 insertions(+) diff --git a/contrib/terraform/openstack/README.md b/contrib/terraform/openstack/README.md index 7499a9868cc..d1abcfe7698 100644 --- a/contrib/terraform/openstack/README.md +++ b/contrib/terraform/openstack/README.md @@ -275,6 +275,7 @@ For your cluster, edit `inventory/$CLUSTER/cluster.tfvars`. |`node_root_volume_size_in_gb` | Size of the root volume for nodes, 0 to use ephemeral storage | |`master_root_volume_size_in_gb` | Size of the root volume for masters, 0 to use ephemeral storage | |`master_volume_type` | Volume type of the root volume for control_plane, 'Default' by default | +|`node_volume_type` | Volume type of the root volume for nodes, 'Default' by default | |`gfs_root_volume_size_in_gb` | Size of the root volume for gluster, 0 to use ephemeral storage | |`etcd_root_volume_size_in_gb` | Size of the root volume for etcd nodes, 0 to use ephemeral storage | |`bastion_root_volume_size_in_gb` | Size of the root volume for bastions, 0 to use ephemeral storage | diff --git a/contrib/terraform/openstack/kubespray.tf b/contrib/terraform/openstack/kubespray.tf index 5237c1c3f2a..aadb001b3fc 100644 --- a/contrib/terraform/openstack/kubespray.tf +++ b/contrib/terraform/openstack/kubespray.tf @@ -51,6 +51,7 @@ module "compute" { gfs_root_volume_size_in_gb = var.gfs_root_volume_size_in_gb gfs_volume_size_in_gb = var.gfs_volume_size_in_gb master_volume_type = var.master_volume_type + node_volume_type = var.node_volume_type public_key_path = var.public_key_path image = var.image image_uuid = var.image_uuid diff --git a/contrib/terraform/openstack/modules/compute/main.tf b/contrib/terraform/openstack/modules/compute/main.tf index 98b01f63c95..fc118827e4c 100644 --- a/contrib/terraform/openstack/modules/compute/main.tf +++ b/contrib/terraform/openstack/modules/compute/main.tf @@ -441,6 +441,7 @@ resource "openstack_compute_instance_v2" "k8s_node" { uuid = local.image_to_use_node source_type = "image" volume_size = var.node_root_volume_size_in_gb + volume_type = var.node_volume_type boot_index = 0 destination_type = "volume" delete_on_termination = true @@ -486,6 +487,7 @@ resource "openstack_compute_instance_v2" "k8s_node_no_floating_ip" { uuid = local.image_to_use_node source_type = "image" volume_size = var.node_root_volume_size_in_gb + volume_type = var.node_volume_type boot_index = 0 destination_type = "volume" delete_on_termination = true @@ -527,6 +529,7 @@ resource "openstack_compute_instance_v2" "k8s_nodes" { uuid = local.image_to_use_node source_type = "image" volume_size = var.node_root_volume_size_in_gb + volume_type = var.node_volume_type boot_index = 0 destination_type = "volume" delete_on_termination = true diff --git a/contrib/terraform/openstack/modules/compute/variables.tf b/contrib/terraform/openstack/modules/compute/variables.tf index 45851a17d92..378345495b4 100644 --- a/contrib/terraform/openstack/modules/compute/variables.tf +++ b/contrib/terraform/openstack/modules/compute/variables.tf @@ -40,6 +40,8 @@ variable "gfs_volume_size_in_gb" {} variable "master_volume_type" {} +variable "node_volume_type" {} + variable "public_key_path" {} variable "image" {} diff --git a/contrib/terraform/openstack/variables.tf b/contrib/terraform/openstack/variables.tf index f609513bd64..fe66b370934 100644 --- a/contrib/terraform/openstack/variables.tf +++ b/contrib/terraform/openstack/variables.tf @@ -78,6 +78,10 @@ variable "master_volume_type" { default = "Default" } +variable "node_volume_type" { + default = "Default" +} + variable "public_key_path" { description = "The path of the ssh pub key" default = "~/.ssh/id_rsa.pub"