aboutsummaryrefslogtreecommitdiffstats
path: root/fdio.infra.terraform
diff options
context:
space:
mode:
authorTomas Alexy <tomas.alexy@pantheon.tech>2021-04-20 12:57:43 +0200
committerPeter Mikus <pmikus@cisco.com>2021-04-27 06:15:56 +0000
commit793aa6541012b1e1522b4d3b8a88546558fb22be (patch)
tree0b5779a554981599b89148fcee1279f043df0bf1 /fdio.infra.terraform
parentf9c1ffcb5391122b21787d5d7c5cdfe6841e23c1 (diff)
Infra: Add AWS how-to
Signed-off-by: Tomas Alexy <tomas.alexy@pantheon.tech> Change-Id: Id111ee8e3113dae00a389ebfbb49628f35bbda6a
Diffstat (limited to 'fdio.infra.terraform')
-rw-r--r--fdio.infra.terraform/README.txt58
1 files changed, 55 insertions, 3 deletions
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: