1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
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/
Prerequisities:
~~~~~~~~~~~~~~~
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-provisioner-ansible >= v2.5.0
- Terraform's Ansible provisioner requires manual installation
- 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:
----------------------
Testbed deployment - Microsoft Azure
- ./3n_azure_fsv2/
|