Skip to content

Commit d3b8a67

Browse files
authored
Merge branch 'main' into eessi
2 parents 47a0d0a + 6b23d47 commit d3b8a67

File tree

12 files changed

+78
-16
lines changed

12 files changed

+78
-16
lines changed

.ansible-lint.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ skip_list:
66
- jinja[spacing]
77
- galaxy[no-changelog]
88
- meta-runtime[unsupported-version]
9-
10-
warn_list:
119
- name[missing]
1210
- name[play]
1311
- var-naming

.github/workflows/stackhpc.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,12 @@ jobs:
107107
. venv/bin/activate
108108
. environments/.stackhpc/activate
109109
cd "$STACKHPC_TF_DIR"
110-
tofu apply -auto-approve -var-file="${{ env.CI_CLOUD }}.tfvars"
110+
max_retries=3
111+
delay=30
112+
for i in $(seq 1 $max_retries); do
113+
tofu apply -auto-approve -var-file="${{ env.CI_CLOUD }}.tfvars" && break
114+
[ "$i" -lt "$max_retries" ] && sleep $delay || exit 1
115+
done
111116
112117
- name: Delete infrastructure if provisioning failed
113118
run: |

ansible/fatimage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@
206206
ansible.builtin.include_role:
207207
name: hpctests
208208
tasks_from: source-hpl.yml
209+
when: "'hpctests' in group_names"
209210

210211
- hosts: prometheus
211212
become: true

ansible/roles/eessi/defaults/main.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
---
2+
cvmfs_release_version: "6-3"
3+
24
# Default to 10GB
35
cvmfs_quota_limit_mb: 10000
46

@@ -9,4 +11,4 @@ cvmfs_config_default:
911
cvmfs_config_overrides: {}
1012
cvmfs_config: "{{ cvmfs_config_default | combine(cvmfs_config_overrides) }}"
1113

12-
cvmfs_gpg_checksum: "sha256:4ac81adff957565277cfa6a4a330cdc2ce5a8fdd73b8760d1a5a32bef71c4bd6"
14+
cvmfs_gpg_checksum: "sha256:5c60679d307a96524204c127250e8ebdda66a459659faa1718bdf32dde1d7069"

ansible/roles/eessi/tasks/install.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,17 @@
33
- name: Download Cern GPG key
44
# checkov:skip=CKV2_ANSIBLE_2: "Ensure that HTTPS url is used with get_url"
55
ansible.builtin.get_url:
6-
url: http://cvmrepo.web.cern.ch/cvmrepo/yum/RPM-GPG-KEY-CernVM
6+
url: https://cvmrepo.web.cern.ch/cvmrepo/yum/RPM-GPG-KEY-CernVM-2048
77
dest: ./cvmfs-key.gpg
88
checksum: "{{ cvmfs_gpg_checksum }}"
99
mode: "0644"
1010

1111
- name: Import downloaded GPG key # noqa: no-changed-when
1212
ansible.builtin.command: rpm --import cvmfs-key.gpg # noqa: command-instead-of-module
13+
1314
- name: Add CVMFS repo
14-
# checkov:skip=CKV2_ANSIBLE_4: "Ensure that packages with untrusted or missing GPG signatures are not used by dnf"
1515
ansible.builtin.dnf:
16-
name: https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest.noarch.rpm
17-
disable_gpg_check: true
16+
name: "https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-{{ cvmfs_release_version }}.noarch.rpm"
1817

1918
- name: Install CVMFS
2019
ansible.builtin.dnf:

ansible/roles/nhc/templates/nhc.conf.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
{# /efi is mounted both directly and via systemd1 autofs, which NHC can't cope with #}
99
{# use `awk '{print $5 " " $10 " " $4 " " $9}' /proc/self/mountinfo | sort -k1` to check that is the only case #}
1010
{% set mount_mode = 'rw' if 'rw' in mount.options.split(',') else 'ro' %}
11-
{{ ansible_fqdn }} || check_fs_mount_{{ mount_mode }} -t "{{ mount.fstype }}" -s "{{ mount.device }}" -f "{{ mount.mount }}"
11+
{{ ansible_fqdn }} || check_fs_mount_{{ mount_mode }} -t "{{ mount.fstype }}" -s "{{ mount.device | replace(' ', '\\040') }}" -f "{{ mount.mount }}"
1212
{% endfor %}
1313

1414
## Ethernet interface checks

dev/image-set-properties.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/bash
2+
# Set image properties correctly for Slurm Appliance images
3+
#
4+
# Usage:
5+
# dev/image-set-properties.sh $IMAGE_NAME_OR_ID
6+
7+
set -euo pipefail
8+
9+
image=${1?param missing - image name or ID}
10+
echo getting image format ...
11+
format=$(openstack image show -c disk_format -f value "${image}")
12+
13+
echo setting constant properties ...
14+
set -x
15+
openstack image set \
16+
--property hw_machine_type=q35 \
17+
--property hw_architecture=x86_64 \
18+
--property hw_vif_multiqueue_enabled=true \
19+
--property hw_firmware_type=uefi \
20+
--property os_distro=rocky \
21+
--property os_type=linux \
22+
--property os_admin_user=rocky \
23+
"$image"
24+
25+
set +x
26+
if [[ "$format" = raw ]]; then
27+
echo setting raw properties...
28+
set -x
29+
openstack image set \
30+
--property hw_scsi_model=virtio-scsi \
31+
--property hw_disk_bus=scsi \
32+
"$image"
33+
else
34+
echo setting qcow2 properties
35+
set -x
36+
openstack image set \
37+
--property hw_scsi_model=virtio-scsi \
38+
--property hw_disk_bus=scsi \
39+
--property hw_scsi_model=virtio \
40+
"$image"
41+
fi

docs/image-build.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,22 @@ For either a site-specific fat-image build or an extra-build:
128128
then delete the failed volume, select cancelling the build when Packer asks,
129129
and then retry. This is [OpenStack bug 1823445](https://bugs.launchpad.net/cinder/+bug/1823445).
130130

131+
The image name and UUID will be output near the end of a build, e.g.:
132+
133+
```shell
134+
==> openstack.openhpc: Waiting for image openhpc-251017-1156-046b6133 (image id: 86ac2073-0a86-4fbf-935c-f1b6e6392e90) to become ready...
135+
```
136+
131137
6. The built image will be automatically uploaded to OpenStack. By default it
132138
will have a name prefixed `openhpc` and including a timestamp and a shortened
133139
Git hash.
134140

141+
7. Set the image properties. From the repository root run:
142+
143+
```shell
144+
dev/image-set-properties.sh $IMAGE_NAME_OR_ID
145+
```
146+
135147
## Build Process
136148

137149
In summary, Packer creates an OpenStack VM, runs Ansible on that, shuts it down, then creates an image from the root disk.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"cluster_image": {
3-
"RL8": "openhpc-RL8-251008-0814-cda7084d",
4-
"RL9": "openhpc-RL9-251008-0814-cda7084d"
3+
"RL8": "openhpc-RL8-251021-1221-915ed3fc",
4+
"RL9": "openhpc-RL9-251021-1221-915ed3fc"
55
}
66
}

environments/common/inventory/groups

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@ login
2222
control
2323
compute
2424

25-
[hpctests:children]
25+
[hpctests]
2626
# Login group to use for running mpi-based testing.
27-
login
2827

2928
[additional]
3029
# Additional nodes to include in "cluster" group

0 commit comments

Comments
 (0)