diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 955880f97..f66e1a7dc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,7 +31,7 @@ variables: ANSIBLE_VERBOSITY: 2 RECOVER_CONTROL_PLANE_TEST: "false" RECOVER_CONTROL_PLANE_TEST_GROUPS: "etcd[2:]:kube_control_plane[1:]" - TF_VERSION: 1.3.7 + OPENTOFU_VERSION: v1.9.1 PIPELINE_IMAGE: "$CI_REGISTRY_IMAGE/pipeline:${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}" before_script: diff --git a/.gitlab-ci/terraform.yml b/.gitlab-ci/terraform.yml index aabd3bb48..b5d199464 100644 --- a/.gitlab-ci/terraform.yml +++ b/.gitlab-ci/terraform.yml @@ -13,18 +13,18 @@ before_script: - ./tests/scripts/rebase.sh - mkdir -p cluster-dump $ANSIBLE_INVENTORY - - ./tests/scripts/terraform_install.sh + - ./tests/scripts/opentofu_install.sh - cp contrib/terraform/$PROVIDER/sample-inventory/cluster.tfvars . - ln -rs -t $ANSIBLE_INVENTORY contrib/terraform/$PROVIDER/hosts - - terraform -chdir="contrib/terraform/$PROVIDER" init + - tofu -chdir="contrib/terraform/$PROVIDER" init terraform_validate: extends: .terraform_install tags: [ffci] only: ['master', /^pr-.*$/] script: - - terraform -chdir="contrib/terraform/$PROVIDER" validate - - terraform -chdir="contrib/terraform/$PROVIDER" fmt -check -diff + - tofu -chdir="contrib/terraform/$PROVIDER" validate + - tofu -chdir="contrib/terraform/$PROVIDER" fmt -check -diff stage: test needs: - pipeline-image @@ -58,11 +58,11 @@ terraform_validate: - mkdir -p contrib/terraform/$PROVIDER/group_vars # Random subnet to avoid routing conflicts - export TF_VAR_subnet_cidr="10.$(( $RANDOM % 256 )).$(( $RANDOM % 256 )).0/24" - - terraform -chdir="contrib/terraform/$PROVIDER" apply -auto-approve -parallelism=1 + - tofu -chdir="contrib/terraform/$PROVIDER" apply -auto-approve -parallelism=1 - tests/scripts/testcases_run.sh after_script: # Cleanup regardless of exit code - - terraform -chdir="contrib/terraform/$PROVIDER" destroy -auto-approve + - tofu -chdir="contrib/terraform/$PROVIDER" destroy -auto-approve # Elastx is generously donating resources for Kubespray on Openstack CI # Contacts: @gix @bl0m1 diff --git a/tests/scripts/opentofu_install.sh b/tests/scripts/opentofu_install.sh new file mode 100755 index 000000000..c51d3d5f4 --- /dev/null +++ b/tests/scripts/opentofu_install.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -euxo pipefail + +curl --proto '=https' --tlsv1.2 -fsSL https://get.opentofu.org/install-opentofu.sh -o install-opentofu.sh +chmod +x install-opentofu.sh +./install-opentofu.sh --install-method standalone +rm -f install-opentofu.sh +tofu --version diff --git a/tests/scripts/terraform_install.sh b/tests/scripts/terraform_install.sh deleted file mode 100755 index 4228bbdd4..000000000 --- a/tests/scripts/terraform_install.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -euxo pipefail - -apt-get install -y unzip -curl https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_linux_amd64.zip > /tmp/terraform.zip -unzip /tmp/terraform.zip && mv ./terraform /usr/local/bin/ && terraform --version