Skip to content

Commit

Permalink
Use smaller instances for AWS E2E tests (#2415)
Browse files Browse the repository at this point in the history
* Make worker volume size configurable in AWS configs

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>

* Use smaller instances for AWS E2E tests

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>

* Use varFile for AWS infra definitions

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>

Signed-off-by: Marko Mudrinić <mudrinic.mare@gmail.com>
  • Loading branch information
xmudrii authored Oct 24, 2022
1 parent 01ab7d4 commit f2e7b64
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 59 deletions.
1 change: 1 addition & 0 deletions examples/terraform/aws/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ No modules.
| <a name="input_worker_deploy_ssh_key"></a> [worker\_deploy\_ssh\_key](#input\_worker\_deploy\_ssh\_key) | add provided ssh public key to MachineDeployments | `bool` | `true` | no |
| <a name="input_worker_os"></a> [worker\_os](#input\_worker\_os) | OS to run on worker machines, default to var.os | `string` | `""` | no |
| <a name="input_worker_type"></a> [worker\_type](#input\_worker\_type) | instance type for workers | `string` | `"t3.medium"` | no |
| <a name="input_worker_volume_size"></a> [worker\_volume\_size](#input\_worker\_volume\_size) | Size of the EBS volume, in Gb | `number` | `50` | no |

## Outputs

Expand Down
6 changes: 3 additions & 3 deletions examples/terraform/aws/output.tf
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ output "kubeone_workers" {
subnetId = local.subnets[local.zoneA]
instanceType = var.worker_type
assignPublicIP = true
diskSize = 50
diskSize = var.worker_volume_size
diskType = "gp2"
## Only applicable if diskType = io1
diskIops = 500
Expand Down Expand Up @@ -183,7 +183,7 @@ output "kubeone_workers" {
subnetId = local.subnets[local.zoneB]
instanceType = var.worker_type
assignPublicIP = true
diskSize = 50
diskSize = var.worker_volume_size
diskType = "gp2"
## Only applicable if diskType = io1
diskIops = 500
Expand Down Expand Up @@ -241,7 +241,7 @@ output "kubeone_workers" {
subnetId = local.subnets[local.zoneC]
instanceType = var.worker_type
assignPublicIP = true
diskSize = 50
diskSize = var.worker_volume_size
diskType = "gp2"
## Only applicable if diskType = io1
diskIops = 500
Expand Down
6 changes: 6 additions & 0 deletions examples/terraform/aws/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,12 @@ variable "worker_type" {
type = string
}

variable "worker_volume_size" {
default = 50
description = "Size of the EBS volume, in Gb"
type = number
}

variable "bastion_type" {
default = "t3.nano"
description = "instance type for bastion"
Expand Down
11 changes: 11 additions & 0 deletions test/e2e/testdata/aws.tfvars
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
disable_kubeapi_loadbalancer = true
subnets_cidr = 27

# Use smaller instances in Ireland for E2E tests
aws_region = "eu-west-1"
control_plane_type = "t3a.small"
control_plane_volume_size = 25
worker_type = "t3a.small"
worker_volume_size = 25
bastion_type = "t3a.nano"
initial_machinedeployment_spotinstances_max_price = 0.0204
10 changes: 10 additions & 0 deletions test/e2e/testdata/aws_stable.tfvars
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
disable_kubeapi_loadbalancer = true
subnets_cidr = 27

# Use smaller instances in Ireland for E2E tests
aws_region = "eu-west-1"
control_plane_type = "t3a.small"
control_plane_volume_size = 25
worker_type = "t3a.small"
bastion_type = "t3a.nano"
initial_machinedeployment_spotinstances_max_price = 0.0204
95 changes: 39 additions & 56 deletions test/e2e/tests_definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,8 @@ var (
"PROVIDER": "aws",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
},
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
},
},
"aws_default_stable": {
Expand All @@ -54,11 +51,8 @@ var (
"PROVIDER": "aws",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
},
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
},
},
"aws_centos": {
Expand All @@ -71,10 +65,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=centos",
},
},
Expand All @@ -89,10 +82,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=centos",
},
},
Expand All @@ -107,12 +99,15 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=rhel",
"bastion_type=t3.micro",
// NB: command-line flags have priority over terraform.tfvars
// so it's safe to override variables like this
"bastion_type=t3a.micro",
"control_plane_volume_size=50",
"worker_volume_size=50",
},
},
},
Expand All @@ -126,12 +121,14 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=rhel",
"bastion_type=t3.micro",
// NB: command-line flags have priority over terraform.tfvars
// so it's safe to override variables like this
"bastion_type=t3a.micro",
"control_plane_volume_size=50",
},
},
},
Expand All @@ -145,10 +142,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=rockylinux",
},
},
Expand All @@ -163,10 +159,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=rockylinux",
},
},
Expand All @@ -181,10 +176,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=flatcar",
},
},
Expand All @@ -199,10 +193,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=flatcar",
},
},
Expand All @@ -217,13 +210,10 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=flatcar",
"ssh_username=core",
"bastion_user=core",
"worker_deploy_ssh_key=false",
},
},
Expand All @@ -238,13 +228,10 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=flatcar",
"ssh_username=core",
"bastion_user=core",
"worker_deploy_ssh_key=false",
},
},
Expand All @@ -259,10 +246,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=amzn",
},
},
Expand All @@ -277,10 +263,9 @@ var (
"preset-aws-e2e-kubeone": "true",
},
terraform: terraformBin{
path: "../../../kubeone-stable/examples/terraform/aws",
path: "../../../kubeone-stable/examples/terraform/aws",
varFile: "testdata/aws_stable.tfvars",
vars: []string{
"disable_kubeapi_loadbalancer=true",
"subnets_cidr=27",
"os=amzn",
},
},
Expand All @@ -296,10 +281,8 @@ var (
"TEST_TIMEOUT": "120m",
},
terraform: terraformBin{
path: "../../examples/terraform/aws",
vars: []string{
"subnets_cidr=27",
},
path: "../../examples/terraform/aws",
varFile: "testdata/aws.tfvars",
},
},
"azure_default": {
Expand Down

0 comments on commit f2e7b64

Please sign in to comment.