diff --git a/ansible/extras.yml b/ansible/extras.yml index 72c76b3b1..c24f50ab0 100644 --- a/ansible/extras.yml +++ b/ansible/extras.yml @@ -28,6 +28,24 @@ name: cuda tasks_from: "{{ 'runtime.yml' if appliances_mode == 'configure' else 'install.yml' }}" +- name: Setup Apptainer + hosts: apptainer + gather_facts: yes + tags: apptainer + tasks: + - name: Install and configure Apptainer + include_role: + name: azimuth_cloud.image_utils.apptainer + +- name: Setup Apptainer + hosts: nextflow + gather_facts: yes + tags: nextflow + tasks: + - name: Install and configure Nextflow + include_role: + name: azimuth_cloud.image_utils.nextflow + - name: Persist hostkeys across rebuilds # Must be after filesystems.yml (for storage) # and before portal.yml (where OOD login node hostkeys are scanned) diff --git a/environments/common/inventory/group_vars/all/apptainer.yml b/environments/common/inventory/group_vars/all/apptainer.yml new file mode 100644 index 000000000..172725076 --- /dev/null +++ b/environments/common/inventory/group_vars/all/apptainer.yml @@ -0,0 +1,9 @@ +--- + +# Override the role default, which specifies a version string, +# and just rely on Pulp snapshots to keep this in order. +apptainer_rpm_package: "apptainer" + +apptainer_config_overrides: + - directive: "mount tmp" + value: "no" diff --git a/environments/common/inventory/group_vars/all/nextflow.yml b/environments/common/inventory/group_vars/all/nextflow.yml new file mode 100644 index 000000000..79e6c832f --- /dev/null +++ b/environments/common/inventory/group_vars/all/nextflow.yml @@ -0,0 +1,4 @@ +--- + +nextflow_skel_config: | + process.executor = 'slurm' \ No newline at end of file diff --git a/environments/common/inventory/group_vars/all/openhpc.yml b/environments/common/inventory/group_vars/all/openhpc.yml index 3b3879de9..1b06f2533 100644 --- a/environments/common/inventory/group_vars/all/openhpc.yml +++ b/environments/common/inventory/group_vars/all/openhpc.yml @@ -25,7 +25,6 @@ openhpc_packages_default: - ohpc-gnu12-openmpi4-perf-tools # for hpctests - openblas-gnu12-ohpc # for hpctests (HPL) # EPEL packages: - - apptainer - podman-compose openhpc_packages_extra: [] openhpc_packages: "{{ openhpc_packages_default + openhpc_packages_extra }}" diff --git a/environments/common/inventory/groups b/environments/common/inventory/groups index cb49b92e2..506daf479 100644 --- a/environments/common/inventory/groups +++ b/environments/common/inventory/groups @@ -165,3 +165,9 @@ extra_packages [pulp] # Add builder to this group to enable automatically syncing of pulp during image build + +[apptainer] +# Hosts to install and configure Apptainer on + +[nextflow] +# Hosts to install and configure Nextflow on \ No newline at end of file diff --git a/environments/common/layouts/everything b/environments/common/layouts/everything index 8b5046bfc..7f37c82e1 100644 --- a/environments/common/layouts/everything +++ b/environments/common/layouts/everything @@ -111,3 +111,10 @@ control [extra_packages:children] # Hosts to install specified additional packages on builder + +[apptainer:children] +login +compute + +[nextflow:children] +login diff --git a/requirements.yml b/requirements.yml index 3eff9168e..47b81bcfc 100644 --- a/requirements.yml +++ b/requirements.yml @@ -45,7 +45,7 @@ collections: version: 0.4.0 - name: https://github.com/azimuth-cloud/ansible-collection-image-utils type: git - version: 0.4.0 + version: apptainer # stackhpc.pulp has pulp.squeezer as dependency, any version, but latest # requires newer ansible than can install - name: pulp.squeezer