Skip to content

Commit 57fc6c7

Browse files
authored
Merge branch 'main' into feat/auto-bump-timestamps
2 parents 5e71afa + 8c979cd commit 57fc6c7

File tree

9 files changed

+21
-40
lines changed

9 files changed

+21
-40
lines changed

.github/workflows/extra.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,14 @@ on:
88
- 'environments/.stackhpc/terraform/cluster_image.auto.tfvars.json'
99
- 'ansible/roles/doca/**'
1010
- 'ansible/roles/cuda/**'
11+
- 'ansible/roles/lustre/**'
1112
- '.github/workflows/extra.yml'
1213
pull_request:
1314
paths:
1415
- 'environments/.stackhpc/terraform/cluster_image.auto.tfvars.json'
1516
- 'ansible/roles/doca/**'
1617
- 'ansible/roles/cuda/**'
18+
- 'ansible/roles/lustre/**'
1719
- '.github/workflows/extra.yml'
1820

1921
jobs:
@@ -29,11 +31,11 @@ jobs:
2931
build:
3032
- image_name: openhpc-extra-RL8
3133
source_image_name_key: RL8 # key into environments/.stackhpc/terraform/cluster_image.auto.tfvars.json
32-
inventory_groups: doca,cuda
34+
inventory_groups: doca,cuda,lustre
3335
volume_size: 30 # needed for cuda
3436
- image_name: openhpc-extra-RL9
3537
source_image_name_key: RL9
36-
inventory_groups: doca,cuda
38+
inventory_groups: doca,cuda,lustre
3739
volume_size: 30 # needed for cuda
3840
env:
3941
ANSIBLE_FORCE_COLOR: True

ansible/fatimage.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -230,14 +230,6 @@
230230
name: cloudalchemy.grafana
231231
tasks_from: install.yml
232232

233-
- hosts: doca
234-
become: yes
235-
gather_facts: yes
236-
tasks:
237-
- name: Install NVIDIA DOCA
238-
import_role:
239-
name: doca
240-
241233
- name: Run post.yml hook
242234
vars:
243235
appliances_environment_root: "{{ lookup('env', 'APPLIANCES_ENVIRONMENT_ROOT') }}"

ansible/filter_plugins/utils.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ def to_ood_regex(items):
4141
eg {{ [compute-001, compute-002, control] | to_regex }} -> '(compute-\d+)|(control)'
4242
"""
4343

44+
# NB: for python3.12+ the \d in this function & docstring
45+
# need to be raw strings. See https://docs.python.org/3/reference/lexical_analysis.html
46+
4447
# There's a python bug which means re.sub() can't use '\d' in the replacement so
4548
# have to do replacement in two stages:
4649
r = [re.sub(r"\d+", 'XBACKSLASHX', v) for v in items]

ansible/roles/lustre/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Install and configure a Lustre client. This builds RPM packages from source.
88

99
## Role Variables
1010

11-
- `lustre_version`: Optional str. Version of lustre to build, default `2.15.5` which is the first version with EL9 support
11+
- `lustre_version`: Optional str. Version of lustre to build, default `2.15.6` which is the first version with EL9.5 support
1212
- `lustre_lnet_label`: Optional str. The "lnet label" part of the host's NID, e.g. `tcp0`. Only the `tcp` protocol type is currently supported. Default `tcp`.
1313
- `lustre_mgs_nid`: Required str. The NID(s) for the MGS, e.g. `192.168.227.11@tcp1` (separate mutiple MGS NIDs using `:`).
1414
- `lustre_mounts`: Required list. Define Lustre filesystems and mountpoints as a list of dicts with keys:

ansible/roles/lustre/defaults/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
lustre_version: '2.15.5' # https://www.lustre.org/lustre-2-15-5-released/
1+
lustre_version: '2.15.6' # https://www.lustre.org/lustre-2-15-6-released/
22
lustre_lnet_label: tcp
33
#lustre_mgs_nid:
44
lustre_mounts: []

ansible/roles/lustre/tasks/install.yml

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,30 +41,9 @@
4141
ansible.builtin.dnf:
4242
name: "{{ _lustre_find_rpms.files | map(attribute='path')}}"
4343
disable_gpg_check: yes
44-
45-
- block:
46-
- name: Remove lustre build prerequisites
47-
# NB Only remove ones this role installed which weren't upgrades
48-
ansible.builtin.dnf:
49-
name: "{{ _new_pkgs }}"
50-
state: absent
51-
vars:
52-
_installed_pkgs: |
53-
{{
54-
_lustre_dnf_build_packages.results |
55-
select('match', 'Installed:') |
56-
map('regex_replace', '^Installed: (.+?)-[0-9].*$', '\1')
57-
}}
58-
_removed_pkgs: |
59-
{{
60-
_lustre_dnf_build_packages.results |
61-
select('match', 'Removed:') |
62-
map('regex_replace', '^Removed: (.+?)-[0-9].*$', '\1')
63-
}}
64-
_new_pkgs: "{{ _installed_pkgs | difference(_removed_pkgs) }}"
65-
66-
- name: Delete lustre build dir
67-
file:
68-
path: "{{ lustre_build_dir }}"
69-
state: absent
44+
45+
- name: Delete lustre build dir
46+
file:
47+
path: "{{ lustre_build_dir }}"
48+
state: absent
7049
when: lustre_build_cleanup | bool

dev/setup-env.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ PYTHON_VERSION=""
1717
if [[ "$OS" == "ubuntu" && "$MAJOR_VERSION" == "22" ]]; then
1818
PYTHON_VERSION="/usr/bin/python3.10"
1919
elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "8" ]]; then
20+
# python3.9+ doesn't have selinux bindings
2021
PYTHON_VERSION="/usr/bin/python3.8" # use `sudo yum install python38` on Rocky Linux 8 to install this
2122
elif [[ "$OS" == "rocky" && "$MAJOR_VERSION" == "9" ]]; then
2223
PYTHON_VERSION="/usr/bin/python3.9"

requirements.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ansible==8.0.0
1+
ansible==6.7.0 # cloudalchemy.prometheus uses ansible.builtin.include, removed in ansible-core==2.16 => ansible==9
22
openstacksdk
33
python-openstackclient==6.6.1 # v7.0.0 has a bug re. rebuild
44
python-manilaclient
@@ -9,5 +9,5 @@ cookiecutter
99
selinux # this is a shim to avoid having to use --system-site-packages, you still need sudo yum install libselinux-python3
1010
netaddr
1111
matplotlib
12-
pulp-cli==0.29.2
12+
pulp-cli==0.23.2
1313
beautifulsoup4==4.12.3

requirements.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ collections:
4949
- name: https://github.com/azimuth-cloud/ansible-collection-image-utils
5050
type: git
5151
version: 0.4.0
52+
# stackhpc.pulp has pulp.squeezer as dependency, any version, but latest
53+
# requires newer ansible than can install
54+
- name: pulp.squeezer
55+
version: 0.0.15
5256
- name: stackhpc.pulp
5357
version: 0.5.5
5458
...

0 commit comments

Comments
 (0)