X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=fdio.infra.terraform%2FREADME.md;fp=fdio.infra.terraform%2FREADME.md;h=92cdfb2389619ec84476ef6b40c02fbdf5e6afbe;hp=0000000000000000000000000000000000000000;hb=16770f5d50d0e1f9f82901e19b106fc1b88c41b8;hpb=1ff165dc63cc5b1a2bfab11fa6a234b42e3c99ce diff --git a/fdio.infra.terraform/README.md b/fdio.infra.terraform/README.md new file mode 100644 index 0000000000..92cdfb2389 --- /dev/null +++ b/fdio.infra.terraform/README.md @@ -0,0 +1,72 @@ +# Terraform CI Infra + +This folder contains configuration for terraform based deployments. + +## Nomad + +Application orchestration - Nomad +- ./1n_nmd/ + +## AWS + +Testbed deployment - Amazon AWS +- ./2n_aws_c5n/ +- ./3n_aws_c5n/ + +### 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 environment 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 + +Testbed deployment - Microsoft Azure +- ./3n_azure_fsv2/