From 647a693a245ae450756fb3bd9446db856e712812 Mon Sep 17 00:00:00 2001 From: Tomas Alexy Date: Thu, 8 Apr 2021 15:50:24 +0200 Subject: Infra: AWS bootstrap integration Signed-off-by: Tomas Alexy Change-Id: I254c79201a198ee054851c934167a24e9e8803cb --- resources/libraries/bash/function/ansible.sh | 24 ++++++++++++++++++++++-- resources/libraries/bash/function/common.sh | 24 +++++++++++++++++++++++- 2 files changed, 45 insertions(+), 3 deletions(-) (limited to 'resources/libraries') diff --git a/resources/libraries/bash/function/ansible.sh b/resources/libraries/bash/function/ansible.sh index 3beca3fba4..64508bda11 100644 --- a/resources/libraries/bash/function/ansible.sh +++ b/resources/libraries/bash/function/ansible.sh @@ -23,9 +23,19 @@ function ansible_adhoc () { # Variable read: # - ${WORKING_TOPOLOGY} - Reserved working topology. # - ${CSIT_DIR} - CSIT main directory, where ansible playbooks are located. + # - ${FLAVOR} - Node flavor string, see common.sh set -exuo pipefail + case "$FLAVOR" in + "aws") + INVENTORY_PATH="cloud_inventory" + ;; + *) + INVENTORY_PATH="lf_inventory" + ;; + esac + if ! installed sshpass; then die "Please install sshpass!" fi @@ -40,7 +50,7 @@ function ansible_adhoc () { ansible-playbook \ --vault-password-file=vault_pass \ --extra-vars '@vault.yml' \ - --inventory inventories/lf_inventory/hosts site.yaml \ + --inventory inventories/$INVENTORY_PATH/hosts site.yaml \ --limit "$(echo ${hosts[@]//\"})" \ --module-name shell \ --args \"$(echo $@)\" || die "Failed to run ansible on host!" @@ -55,9 +65,19 @@ function ansible_playbook () { # Variable read: # - ${WORKING_TOPOLOGY} - Reserved working topology. # - ${CSIT_DIR} - CSIT main directory, where ansible playbooks are located. + # - ${FLAVOR} - Node flavor string, see common.sh set -exuo pipefail + case "$FLAVOR" in + "aws") + INVENTORY_PATH="cloud_inventory" + ;; + *) + INVENTORY_PATH="lf_inventory" + ;; + esac + if ! installed sshpass; then die "Please install sshpass!" fi @@ -72,7 +92,7 @@ function ansible_playbook () { ansible-playbook \ --vault-password-file=vault_pass \ --extra-vars '@vault.yml' \ - --inventory inventories/lf_inventory/hosts site.yaml \ + --inventory inventories/$INVENTORY_PATH/hosts site.yaml \ --limit "$(echo ${hosts[@]//\"})" \ --tags "$(echo $@)" || die "Failed to run ansible on host!" popd || die "Popd failed!" diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index a3878015f9..f5f86067ad 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -441,6 +441,14 @@ function get_test_code () { NODENESS="1n" FLAVOR="tx2" ;; + *"2n-aws"*) + NODENESS="2n" + FLAVOR="aws" + ;; + *"3n-aws"*) + NODENESS="3n" + FLAVOR="aws" + ;; *"2n-skx"*) NODENESS="2n" FLAVOR="skx" @@ -641,7 +649,7 @@ function reserve_and_cleanup_testbed () { } die "Trap attempt failed, unreserve succeeded. Aborting." } - # Cleanup + calibration checks. + # Cleanup + calibration checks set +e ansible_playbook "cleanup, calibration" result="$?" @@ -803,6 +811,9 @@ function select_tags () { *"3n-hsw"* | *"2n-tx2"* | *"mrr-daily-master") default_nic="nic_intel-xl710" ;; + *"2n-aws"* | *"3n-aws"*) + default_nic="nic_amazon-nitro-50g" + ;; *) default_nic="nic_intel-x710" ;; @@ -930,6 +941,9 @@ function select_tags () { # which we do not want to even run. test_tag_array+=("!ipsechwNOTnic_intel-xl710") ;; + *"2n-aws"* | *"3n-aws"*) + test_tag_array+=("!ipsechw") + ;; *) # Default to 3n-hsw due to compatibility. test_tag_array+=("!drv_avf") @@ -1043,6 +1057,14 @@ function select_topology () { TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml ) TOPOLOGIES_TAGS="2_node_single_link_topo" ;; + "2n_aws") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_aws*.yaml ) + TOPOLOGIES_TAGS="2_node_*_link_topo" + ;; + "3n_aws") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_aws*.yaml ) + TOPOLOGIES_TAGS="2_node_*_link_topo" + ;; *) # No falling back to 3n_hsw default, that should have been done # by the function which has set NODENESS and FLAVOR. -- cgit 1.2.3-korg