Infra: Add AWS how-to 59/32059/8
authorTomas Alexy <tomas.alexy@pantheon.tech>
Tue, 20 Apr 2021 10:57:43 +0000 (12:57 +0200)
committerPeter Mikus <pmikus@cisco.com>
Tue, 27 Apr 2021 06:15:56 +0000 (06:15 +0000)
Signed-off-by: Tomas Alexy <tomas.alexy@pantheon.tech>
Change-Id: Id111ee8e3113dae00a389ebfbb49628f35bbda6a

fdio.infra.terraform/README.txt

index c6b66d7..12bbe44 100644 (file)
@@ -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: