locust/examples/terraform/aws
Lars Holmberg ca6d07c69b add note about terraform being broken in one more place 2024-02-16 21:02:21 +01:00
..
plan sort imports 2024-01-17 00:07:29 +01:00
README.md add note about terraform being broken in one more place 2024-02-16 21:02:21 +01:00
data_subnet.tf fix example dir renamed 2021-11-14 17:33:17 +00:00
main.tf Add terraform variables 2023-11-09 16:21:05 -07:00
output.tf fix example dir renamed 2021-11-14 17:33:17 +00:00
provisioner.tf Add terraform variables 2023-11-09 16:21:05 -07:00
variables.tf Add terraform variables 2023-11-09 16:21:05 -07:00

README.md

This doesnt seem to work right now for some people. See https://github.com/locustio/locust/issues/2357

1. AWS Authentication

export AWS_ACCESS_KEY_ID=AIAXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=T9HyXXXXXXXXXXXXXXXXXXXXXXXXXXXX

2. Configure your provisioning

  • Don't forget to provide the correct subnet name in the variable file
  • Define location and file of your locust plan script
  • Define the number of nodes to create

variables.tf

variable "node_size" {
    description = "Size of total nodes"
    default = 2
}

variable "loadtest_dir_source" {
    default = "plan/"
}

variable "locust_plan_filename" {
    default = "basic.py"
}

variable "subnet_name" {
    default = "subnet-prd-a"
    description = "Subnet name"
}


3. Execute Terraform

cd examples/terraform/aws
terraform init
terraform apply --auto-approve

4. Access UI

Click on the link below to access the UI:

Result example:

Apply complete! Resources: 14 added, 0 changed, 0 destroyed.

Outputs:

dashboard_url = "http://3.237.255.123"
leader_private_ip = "10.17.5.119"
leader_public_ip = "3.237.255.123"
nodes_private_ip = [
  "10.17.5.167",
  "10.17.5.39",
]
nodes_public_ip = [
  "3.235.45.218",
  "100.24.124.0",
]

locust-home


5. Cleanup

terraform destroy --auto-approve

6. More information