pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
export TF_LOG=INFO
- terraform apply -auto-approve || die "Failed to run terraform apply!"
+ trap 'terraform_destroy' ERR || {
+ die "Trap attempt failed, please cleanup manually. Aborting!"
+ }
+ terraform apply -no-color -auto-approve || die "Terraform apply failed!"
popd || die "Popd failed!"
popd || die "Popd failed!"
}
pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
export TF_LOG=INFO
- terraform destroy -auto-approve || die "Failed to run terraform destroy!"
+ terraform destroy -auto-approve -no-color || die "Terraform destroy failed!"
popd || die "Popd failed!"
popd || die "Popd failed!"
}
set -exuo pipefail
if ! installed terraform; then
- die "Please install terraform!"
+ curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
+ os="$(lsb_release -cs)" || die "Failed to get OS release!"
+ repo="deb [arch=amd64] https://apt.releases.hashicorp.com ${os} main"
+ sudo apt-add-repository "${repo}" || die "Failed to add repo!"
+ apt update -y
+ apt install -y terraform
+ #die "Please install terraform!"
fi
pushd "${CSIT_DIR}"/fdio.infra.terraform || die "Pushd failed!"
pushd "${NODENESS}_${FLAVOR}_c5n" || die "Pushd failed!"
+
+ plugin_url="https://github.com/radekg/terraform-provisioner-ansible/"
+ plugin_url+="releases/download/v2.5.0/"
+ plugin_url+="terraform-provisioner-ansible-linux-amd64_v2.5.0"
+ plugin_dir="${HOME}/.terraform.d/plugins/"
+ plugin_path+="${plugin_dir}terraform-provisioner-ansible_v2.5.0"
+
+ mkdir -p "${plugin_dir}" || die "Failed to create dir!"
+ wget -O "${plugin_path}" "${plugin_url}" || die "Failed to download plugin!"
+ chmod +x "${plugin_path}" || die "Failed to add execute rights!"
+
export TF_LOG=INFO
terraform init || die "Failed to run terraform init!"
+
popd || die "Popd failed!"
popd || die "Popd failed!"
}