From: Tomas Alexy Date: Tue, 20 Apr 2021 10:57:43 +0000 (+0200) Subject: Infra: Add AWS how-to X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=commitdiff_plain;h=793aa6541012b1e1522b4d3b8a88546558fb22be;hp=f9c1ffcb5391122b21787d5d7c5cdfe6841e23c1 Infra: Add AWS how-to Signed-off-by: Tomas Alexy Change-Id: Id111ee8e3113dae00a389ebfbb49628f35bbda6a --- diff --git a/fdio.infra.terraform/README.txt b/fdio.infra.terraform/README.txt index c6b66d7232..12bbe446de 100644 --- a/fdio.infra.terraform/README.txt +++ b/fdio.infra.terraform/README.txt @@ -21,10 +21,62 @@ aws-cli >= 2.1.21 - Configured with personal "AWS Access Key ID" and "AWS Secret Access Key" - See: https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html -terraform >= v0.13 +terraform-provisioner-ansible >= v2.5.0 - Terraform's Ansible provisioner requires manual installation - - see: https://github.com/radekg/terraform-provisioner-ansible - - Tested on v2.5.0 + - See: https://github.com/radekg/terraform-provisioner-ansible + +Getting started: +~~~~~~~~~~~~~~~~ +Tested setup: +- Install and configure prerequisities as specified. + +- OPTIONAL: Enable logging + Terraform does not have logging enabled by default, to enable logging + to stderr, set up TF_LOG variable with specified loglevel: + Available loglevels: TRACE, DEBUG, INFO, WARN, ERROR + + export TF_LOG="LOGLEVEL" + + It is also possible to store logged output to a file by setting up + TF_LOG_PATH variable: + export TF_LOG_PATH="path/to/logfile" + +- Run Terraform in a given root module folder depending on chosen testbed + topology. Terraform will deploy and configure instances and other resources, + all of these resources can be later identified on AWS via Environment tag. + By default, Environment tag "CSIT-AWS" is used. + Example: + cd fdio.infra.terraform/2n_aws_c5n/ + terraform init + terraform apply + + This will deploy envirnoment with default values, you can check the defaults + in ./2n_aws_c5n/main.tf and ./2n_aws_c5n/variables.tf files + + If you would like to change some of these values, you can: + 1) Set up TF_VAR_* environment variables prior to running 'terraform apply': + export TF_VAR_testbed_name="testbed1" + + 2) Use '-var=varname=value' flag when running 'terraform apply': + terraform apply -var=testbed_name=testbed1 + + Note: + Only variables defined in variables.tf file of the root module can be + changed using these methods. + +- Run the tests + 1) To run some tests use the VPP performance bootstrap script, e.g: + cd ../resources/libraries/bash/entry + ./bootstrap_vpp_perf.sh csit-vpp-perf-mrr-daily-master-2n-aws + + 2) To run only selected tests based on TAGS, export environment variables + before running the test suite and run a verify JOB, e.g: + export GERRIT_EVENT_TYPE="comment-added" + export GERRIT_EVENT_COMMENT_TEXT="1cAND64bANDmrrANDethip4-ip4base" + ./bootstrap_vpp_perf.sh csit-vpp-perf-verify-master-2n-aws + +- To clean up the AWS environment and remove all used resources, run: + terraform destroy Azure: