Skip to content

Commit fefd4bb

Browse files
committed
provide multi-cloud terraform varsfiles for CI environment
1 parent 96bf0c1 commit fefd4bb

File tree

4 files changed

+32
-11
lines changed

4 files changed

+32
-11
lines changed

.github/workflows/stackhpc.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ jobs:
5959
. environments/.stackhpc/activate
6060
ansible-playbook ansible/adhoc/generate-passwords.yml
6161
echo vault_testuser_password: "$TESTUSER_PASSWORD" > $APPLIANCES_ENVIRONMENT_ROOT/inventory/group_vars/all/test_user.yml
62-
TODO: move TF vars to correct place
6362
env:
6463
TESTUSER_PASSWORD: ${{ secrets.TEST_USER_PASSWORD }}
6564

@@ -69,14 +68,14 @@ jobs:
6968
. venv/bin/activate
7069
. environments/.stackhpc/activate
7170
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
72-
terraform apply -auto-approve
71+
terraform apply -auto-approve -var-file="${{ vars.CI_CLOUD }}.tfvars"
7372
7473
- name: Delete infrastructure if provisioning failed
7574
run: |
7675
. venv/bin/activate
7776
. environments/.stackhpc/activate
7877
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
79-
terraform destroy -auto-approve
78+
terraform destroy -auto-approve -var-file="${{ vars.CI_CLOUD }}.tfvars"
8079
if: failure() && steps.provision_servers.outcome == 'failure'
8180

8281
- name: Configure cluster
@@ -174,7 +173,7 @@ jobs:
174173
. venv/bin/activate
175174
. environments/.stackhpc/activate
176175
cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
177-
terraform destroy -auto-approve
176+
terraform destroy -auto-approve -var-file="${{ vars.CI_CLOUD }}.tfvars"
178177
if: ${{ success() || cancelled() }}
179178

180179
# - name: Delete images
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
cluster_net = "stackhpc-ci-geneve"
2+
cluster_subnet = "stackhpc-ci-geneve-subnet"
3+
vnic_type = "normal"
4+
control_node_flavor = "vm.ska.cpu.general.quarter"
5+
other_node_flavor = "vm.ska.cpu.general.small"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
cluster_net = "WCDC-iLab-60"
2+
cluster_subnet = "WCDC-iLab-60"
3+
vnic_type = "direct"
4+
control_node_flavor = "general.v1.medium"
5+
other_node_flavor = "general.v1.tiny"

environments/.stackhpc/terraform/main.tf

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# This terraform configuration uses the "skeleton" terraform, so that is checked by CI.
2+
13
variable "environment_root" {
24
type = string
35
description = "Path to environment root, automatically set by activate script"
@@ -22,31 +24,41 @@ variable "cluster_image" {
2224
# default = "Rocky-8-GenericCloud-8.6.20220702.0.x86_64.qcow2"
2325
}
2426

27+
variable "cluster_net" {}
28+
29+
variable "cluster_subnet" {}
30+
31+
variable "vnic_type" {}
32+
33+
variable "control_node_flavor" {}
34+
35+
variable "other_node_flavor" {}
36+
2537
module "cluster" {
2638
source = "../../skeleton/{{cookiecutter.environment}}/terraform/"
2739

2840
cluster_name = var.cluster_name
29-
cluster_net = "WCDC-iLab-60"
30-
cluster_subnet = "WCDC-iLab-60"
31-
vnic_type = "direct"
41+
cluster_net = var.cluster_net
42+
cluster_subnet = var.cluster_subnet
43+
vnic_type = var.vnic_type
3244
key_pair = "slurm-app-ci"
3345
control_node = {
34-
flavor: "vm.ska.cpu.general.quarter"
46+
flavor: var.control_node_flavor
3547
image: var.cluster_image
3648
}
3749
login_nodes = {
3850
login-0: {
39-
flavor: "vm.ska.cpu.general.small"
51+
flavor: var.other_node_flavor
4052
image: var.cluster_image
4153
}
4254
}
4355
compute_types = {
4456
small: {
45-
flavor: "vm.ska.cpu.general.small"
57+
flavor: var.other_node_flavor
4658
image: var.cluster_image
4759
}
4860
extra: {
49-
flavor: "vm.ska.cpu.general.small"
61+
flavor: var.other_node_flavor
5062
image: var.cluster_image
5163
}
5264
}

0 commit comments

Comments
 (0)