Skip to content

Commit 720073e

Browse files
committed
merge conflicts
2 parents c581fe1 + a769015 commit 720073e

File tree

57 files changed

+1177
-73
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1177
-73
lines changed

.github/workflows/fatimage.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,17 @@ jobs:
2323
matrix: # build RL8, RL9
2424
build:
2525
- image_name: openhpc-RL8
26-
source_image_name: rocky-latest-RL8
27-
inventory_groups: control,compute,login
26+
source_image_name: Rocky-8-GenericCloud-Base-8.9-20231119.0.x86_64.qcow2
27+
inventory_groups: control,compute,login,update
2828
- image_name: openhpc-RL9
29-
source_image_name: rocky-latest-RL9
30-
inventory_groups: control,compute,login
29+
source_image_name: Rocky-9-GenericCloud-Base-9.4-20240523.0.x86_64.qcow2
30+
inventory_groups: control,compute,login,update
3131
env:
3232
ANSIBLE_FORCE_COLOR: True
3333
OS_CLOUD: openstack
3434
CI_CLOUD: ${{ github.event.inputs.ci_cloud }}
3535
ARK_PASSWORD: ${{ secrets.ARK_PASSWORD }}
36+
LEAFCLOUD_PULP_PASSWORD: ${{ secrets.LEAFCLOUD_PULP_PASSWORD }}
3637

3738
steps:
3839
- uses: actions/checkout@v2

.github/workflows/nightlybuild.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
OS_CLOUD: openstack
3636
CI_CLOUD: ${{ github.event.inputs.ci_cloud || vars.CI_CLOUD }}
3737
ARK_PASSWORD: ${{ secrets.ARK_PASSWORD }}
38+
LEAFCLOUD_PULP_PASSWORD: ${{ secrets.LEAFCLOUD_PULP_PASSWORD }}
3839

3940
steps:
4041
- uses: actions/checkout@v2

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ It requires an OpenStack cloud, and an Ansible "deploy host" with access to that
3232
Before starting ensure that:
3333
- You have root access on the deploy host.
3434
- You can create instances using a Rocky 9 GenericCloud image (or an image based on that).
35-
- **NB**: In general it is recommended to use the [latest released image](https://github.com/stackhpc/ansible-slurm-appliance/releases) which already contains the required packages. This is built and tested in StackHPC's CI. However the appliance will install the necessary packages if a GenericCloud image is used.
35+
- **NB**: In general it is recommended to use the [latest released image](https://github.com/stackhpc/ansible-slurm-appliance/releases) which already contains the required packages. This is built and tested in StackHPC's CI.
3636
- You have a SSH keypair defined in OpenStack, with the private key available on the deploy host.
3737
- Created instances have access to internet (note proxies can be setup through the appliance if necessary).
3838
- Created instances have accurate/synchronised time (for VM instances this is usually provided by the hypervisor; if not or for bare metal instances it may be necessary to configure a time service via the appliance).

ansible/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ roles/*
5858
!roles/squid/**
5959
!roles/tuned/
6060
!roles/tuned/**
61+
!roles/compute_init/
62+
!roles/compute_init/**
6163
!roles/k3s/
6264
!roles/k3s/**
6365
!roles/k9s/
@@ -66,5 +68,7 @@ roles/*
6668
!roles/lustre/**
6769
!roles/dnf_repos/
6870
!roles/dnf_repos/**
71+
!roles/pulp_site/
72+
!roles/pulp_site/**
6973
!roles/doca/
7074
!roles/doca/**

ansible/adhoc/deploy-pulp.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Usage: ansible-playbook ansible/adhoc/deploy-pulp.yml -e "pulp_server=<pulp server hostname>"
2+
3+
- name: Add temporary pulp server host
4+
hosts: localhost
5+
tasks:
6+
- ansible.builtin.add_host:
7+
name: "{{ pulp_server }}"
8+
group: "_pulp_host"
9+
10+
- name: Install pulp on server and add to config
11+
become: yes
12+
hosts: _pulp_host
13+
tasks:
14+
- name: Install pulp
15+
ansible.builtin.include_role:
16+
name: pulp_site
17+
tasks_from: install.yml
18+
public: true
19+
20+
- name: Print Pulp endpoint
21+
become: no
22+
debug:
23+
msg: |
24+
Server configured, override 'appliances_pulp_url' with
25+
appliances_pulp_url: "http://{{ pulp_server }}:{{ pulp_site_port }}"
26+
in your environments

ansible/adhoc/sync-pulp.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
- hosts: localhost
2+
tasks:
3+
- ansible.builtin.include_role:
4+
name: pulp_site
5+
tasks_from: sync.yml
6+
vars:
7+
pulp_site_target_arch: "x86_64"
8+
pulp_site_target_distribution: "rocky"
9+
pulp_site_target_distribution_version: "9.4"
10+
pulp_site_target_distribution_version_major: "9"

ansible/bootstrap.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,20 @@
110110
policy: "{{ selinux_policy }}"
111111
register: sestatus
112112

113+
- hosts: dnf_repos
114+
become: yes
115+
tasks:
116+
- name: Check that creds won't be leaked to users
117+
ansible.builtin.assert:
118+
that: dnf_repos_password is undefined
119+
fail_msg: Passwords should not be templated into repofiles during configure, unset 'dnf_repos_password'
120+
when: appliances_mode == 'configure'
121+
- name: Replace system repos with pulp repos
122+
ansible.builtin.include_role:
123+
name: dnf_repos
124+
tasks_from: set_repos.yml
125+
when: ansible_distribution_major_version == "9" #TODO update role once RL8 config decided
126+
113127
# --- tasks after here require access to package repos ---
114128
- hosts: squid
115129
tags: squid

ansible/disable-repos.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
- hosts: dnf_repos
2+
become: yes
3+
tasks:
4+
- name: Disable pulp repos
5+
ansible.builtin.include_role:
6+
name: dnf_repos
7+
tasks_from: disable_repos.yml
8+
when: ansible_distribution_major_version == "9" #TODO update role once RL8 config decided

ansible/extras.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,32 @@
3838
- import_role:
3939
name: persist_hostkeys
4040

41+
42+
- name: Setup NFS export for compute node configuration
43+
hosts: compute_init:!builder
44+
# NB: has to be after eeesi and os-manila-mount
45+
tags: compute_init
46+
become: yes
47+
name: Export hostvars
48+
tasks:
49+
- include_role:
50+
name: compute_init
51+
tasks_from: export.yml
52+
4153
- name: Install k9s
4254
become: yes
4355
hosts: k9s
4456
tags: k9s
4557
tasks:
4658
- import_role:
4759
name: k9s
60+
61+
- hosts: extra_packages
62+
become: yes
63+
tags:
64+
- extra_packages
65+
tasks:
66+
- name: Install additional packages
67+
dnf:
68+
name: "{{ appliances_extra_packages }}"
69+
when: appliances_mode != 'configure' or appliances_extra_packages_during_configure

ansible/fatimage.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,16 @@
1717
import_playbook: "{{ hook_path if hook_path | exists else 'noop.yml' }}"
1818
when: hook_path | exists
1919

20+
- name: Sync pulp repos with upstream
21+
hosts: pulp
22+
tasks:
23+
- ansible.builtin.include_role:
24+
name: pulp_site
25+
tasks_from: sync.yml
26+
apply:
27+
delegate_to: localhost
28+
when: appliances_mode != 'configure'
29+
2030
- import_playbook: bootstrap.yml
2131

2232
- hosts: doca
@@ -63,6 +73,16 @@
6373

6474
- import_playbook: extras.yml
6575

76+
# TODO: is this the right place?
77+
- name: Install compute_init script
78+
hosts: compute_init
79+
tags: compute_init # tagged to allow running on cluster instances for dev
80+
become: yes
81+
tasks:
82+
- include_role:
83+
name: compute_init
84+
tasks_from: install.yml
85+
6686
- hosts: builder
6787
become: yes
6888
gather_facts: yes
@@ -217,6 +237,8 @@
217237
import_playbook: "{{ hook_path if hook_path | exists else 'noop.yml' }}"
218238
when: hook_path | exists
219239

240+
- import_playbook: disable-repos.yml
241+
220242
- hosts: builder
221243
become: yes
222244
gather_facts: yes

0 commit comments

Comments
 (0)