Install ansible-core PyPI package instead of ansible, and pin version to <2.17 to fix #20
Instead of relying on the community-supported ansible package, use a specific version of ansible-core and pull the collections we need (OpenStack and POSIX).
Further, pin the version of the OpenStack collection so we aren't affected by future breaking changes.
slurm.conf
Make a 1-character change for #19
Other (Ansible)
Use the modern role name openstack.cloud.server instead of the deprecated/old os_server.
Replace a static 90-second wait for SSH connectivity with a built-in Ansible role to wait for SSH. Also, slightly increase timeout (just in case).
Testing
I've tested this on Jetstream2/Exosphere by using these steps. Please feel free to validate/replicate:
In Exosphere, open the instance creation flow
Select Featured-RockyLinux8 as the image
Set Create your own SLURM cluster with this instance as the head node to yes
In the Boot Script section, replace {create-cluster-command} inline with: su - rocky -c "git clone --branch rocky-linux --single-branch --depth 1 https://github.com/zacharygraber/Jetstream_Cluster.git; cd Jetstream_Cluster; ./cluster_create_local.sh -d 2>&1 | tee local_create.log"
This does the exact same thing Exosphere is doing to create the cluster normally, except it points to my fork instead of this repo.
Wait for setup to complete, then SSH into
sudo su - rocky
cd Jetstream_Cluster
Inspect the output in local_create.log to make sure everything looks alright.
Run sbatch slurm_test.job, wait for it to finish, then verify the output.
Implements fixes for #19 and #20.
Changes
Ansible packages/version/collections
ansible-core
PyPI package instead ofansible
, and pin version to <2.17 to fix #20ansible
package, use a specific version ofansible-core
and pull the collections we need (OpenStack and POSIX).slurm.conf
Other (Ansible)
openstack.cloud.server
instead of the deprecated/oldos_server
.Testing
I've tested this on Jetstream2/Exosphere by using these steps. Please feel free to validate/replicate:
In Exosphere, open the instance creation flow
Select
Featured-RockyLinux8
as the imageSet
Create your own SLURM cluster with this instance as the head node
toyes
In the Boot Script section, replace
{create-cluster-command}
inline with:su - rocky -c "git clone --branch rocky-linux --single-branch --depth 1 https://github.com/zacharygraber/Jetstream_Cluster.git; cd Jetstream_Cluster; ./cluster_create_local.sh -d 2>&1 | tee local_create.log"
Wait for setup to complete, then SSH into
sudo su - rocky
cd Jetstream_Cluster
Inspect the output in
local_create.log
to make sure everything looks alright.Run
sbatch slurm_test.job
, wait for it to finish, then verify the output.