11
2- name : Test deployment and image build on OpenStack
2+ name : Test deployment and reimage on OpenStack
33on :
44 workflow_dispatch :
55 push :
88 pull_request :
99jobs :
1010 openstack :
11- name : openstack-ci-${{ matrix.cloud }}
12- strategy :
13- matrix :
14- cloud :
15- - " arcus" # Arcus OpenStack in rcp-cloud-portal-demo project, with RoCE
16- fail-fast : false # as want clouds to continue independently
11+ name : openstack-ci-arcus # Arcus OpenStack in rcp-cloud-portal-demo project, with RoCE
1712 concurrency : ${{ github.ref }} # to branch/PR
1813 runs-on : ubuntu-20.04
1914 env :
@@ -27,13 +22,13 @@ jobs:
2722 run : |
2823 set -x
2924 mkdir ~/.ssh
30- echo "${${{ matrix.cloud }}_SSH_KEY }" > ~/.ssh/id_rsa
25+ echo "${arcus_SSH_KEY }" > ~/.ssh/id_rsa
3126 chmod 0600 ~/.ssh/id_rsa
3227 env :
3328 arcus_SSH_KEY : ${{ secrets.ARCUS_SSH_KEY }}
3429
3530 - name : Add bastion's ssh key to known_hosts
36- run : cat environments/${{ matrix.cloud }} /bastion_fingerprint >> ~/.ssh/known_hosts
31+ run : cat environments/.stackhpc /bastion_fingerprint >> ~/.ssh/known_hosts
3732 shell : bash
3833
3934 - name : Install ansible etc
@@ -44,20 +39,20 @@ jobs:
4439
4540 - name : Initialise terraform
4641 run : terraform init
47- working-directory : ${{ github.workspace }}/environments/${{ matrix.cloud }} /terraform
42+ working-directory : ${{ github.workspace }}/environments/.stackhpc /terraform
4843
4944 - name : Write clouds.yaml
5045 run : |
5146 mkdir -p ~/.config/openstack/
52- echo "${${{ matrix.cloud }}_CLOUDS_YAML }" > ~/.config/openstack/clouds.yaml
47+ echo "${arcus_CLOUDS_YAML }" > ~/.config/openstack/clouds.yaml
5348 shell : bash
5449 env :
5550 arcus_CLOUDS_YAML : ${{ secrets.ARCUS_CLOUDS_YAML }}
5651
5752 - name : Setup environment-specific inventory/terraform inputs
5853 run : |
5954 . venv/bin/activate
60- . environments/${{ matrix.cloud }} /activate
55+ . environments/.stackhpc /activate
6156 ansible-playbook ansible/adhoc/generate-passwords.yml
6257 echo vault_testuser_password: "$TESTUSER_PASSWORD" > $APPLIANCES_ENVIRONMENT_ROOT/inventory/group_vars/all/test_user.yml
6358 env :
@@ -67,15 +62,15 @@ jobs:
6762 id : provision_servers
6863 run : |
6964 . venv/bin/activate
70- . environments/${{ matrix.cloud }} /activate
65+ . environments/.stackhpc /activate
7166 cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
7267 terraform apply -auto-approve
7368
7469 - name : Get server provisioning failure messages
7570 id : provision_failure
7671 run : |
7772 . venv/bin/activate
78- . environments/${{ matrix.cloud }} /activate
73+ . environments/.stackhpc /activate
7974 cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
8075 TF_FAIL_MSGS="$(../../skeleton/\{\{cookiecutter.environment\}\}/terraform/getfaults.py $PWD)"
8176 echo TF failure messages: $TF_FAIL_MSGS
@@ -85,29 +80,29 @@ jobs:
8580 - name : Delete infrastructure if failed due to lack of hosts
8681 run : |
8782 . venv/bin/activate
88- . environments/${{ matrix.cloud }} /activate
83+ . environments/.stackhpc /activate
8984 cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
9085 terraform destroy -auto-approve
9186 if : ${{ always() && steps.provision_servers.outcome == 'failure' && contains(steps.provision_failure.messages, 'not enough hosts available') }}
9287
9388 - name : Configure cluster
9489 run : |
9590 . venv/bin/activate
96- . environments/${{ matrix.cloud }} /activate
91+ . environments/.stackhpc /activate
9792 ansible all -m wait_for_connection
9893 ansible-playbook -v ansible/site.yml
9994 ansible-playbook -v ansible/ci/check_slurm.yml
10095
10196 - name : Run MPI-based tests
10297 run : |
10398 . venv/bin/activate
104- . environments/${{ matrix.cloud }} /activate
99+ . environments/.stackhpc /activate
105100 ansible-playbook -vv ansible/adhoc/hpctests.yml
106101
107102 - name : Confirm Open Ondemand is up (via SOCKS proxy)
108103 run : |
109104 . venv/bin/activate
110- . environments/${{ matrix.cloud }} /activate
105+ . environments/.stackhpc /activate
111106
112107 # load ansible variables into shell:
113108 ansible-playbook ansible/ci/output_vars.yml \
@@ -139,7 +134,7 @@ jobs:
139134 # id: packer_build
140135 # run: |
141136 # . venv/bin/activate
142- # . environments/${{ matrix.cloud }} /activate
137+ # . environments/.stackhpc /activate
143138 # cd packer/
144139 # packer init
145140 # PACKER_LOG=1 packer build -except openstack.fatimage -on-error=ask -var-file=$PKR_VAR_environment_root/builder.pkrvars.hcl openstack.pkr.hcl
@@ -148,15 +143,15 @@ jobs:
148143 # - name: Test reimage of compute nodes to new environment-specific image (via slurm)
149144 # run: |
150145 # . venv/bin/activate
151- # . environments/${{ matrix.cloud }} /activate
146+ # . environments/.stackhpc /activate
152147 # ansible login -v -a "sudo scontrol reboot ASAP nextstate=RESUME reason='rebuild image:${{ steps.packer_build.outputs.NEW_COMPUTE_IMAGE_ID }}' ${TF_VAR_cluster_name}-compute-[0-3]"
153148 # ansible compute -m wait_for_connection -a 'delay=60 timeout=600' # delay allows node to go down
154149 # ansible-playbook -v ansible/ci/check_slurm.yml
155150
156151 - name : Test reimage of all nodes (via rebuild adhoc)
157152 run : |
158153 . venv/bin/activate
159- . environments/${{ matrix.cloud }} /activate
154+ . environments/.stackhpc /activate
160155 ansible-playbook -v --limit control,login ansible/adhoc/rebuild.yml
161156 ansible all -m wait_for_connection -a 'delay=60 timeout=600' # delay allows node to go down
162157 ansible-playbook -v ansible/site.yml
@@ -165,25 +160,25 @@ jobs:
165160 - name : Check sacct state survived reimage
166161 run : |
167162 . venv/bin/activate
168- . environments/${{ matrix.cloud }} /activate
163+ . environments/.stackhpc /activate
169164 ansible-playbook -vv ansible/ci/check_sacct_hpctests.yml
170165
171166 - name : Check MPI-based tests are shown in Grafana
172167 run : |
173168 . venv/bin/activate
174- . environments/${{ matrix.cloud }} /activate
169+ . environments/.stackhpc /activate
175170 ansible-playbook -vv ansible/ci/check_grafana.yml
176171
177172 - name : Delete infrastructure
178173 run : |
179174 . venv/bin/activate
180- . environments/${{ matrix.cloud }} /activate
175+ . environments/.stackhpc /activate
181176 cd $APPLIANCES_ENVIRONMENT_ROOT/terraform
182177 terraform destroy -auto-approve
183178 if : ${{ success() || cancelled() }}
184179
185180 # - name: Delete images
186181 # run: |
187182 # . venv/bin/activate
188- # . environments/${{ matrix.cloud }} /activate
183+ # . environments/.stackhpc /activate
189184 # ansible-playbook -vv ansible/ci/delete_images.yml
0 commit comments