Skip to content

Juju charms for automating the Day 0 to Day 2 operations of the Slurm workload manager ⚖️🐧

License

Notifications You must be signed in to change notification settings

charmed-hpc/slurm-charms

Repository files navigation

Slurm charms

Juju charms for automating the Day 0 to Day 2 operations of the Slurm workload manager ⚖️🐧

CI Release Matrix

The slurm-charms repository is a collection of charmed operators that enables you to easily deploy, configure, and manage the Slurm workload manager. Here's the current charms in the collection:

  • slurmctld: the central management daemon for Slurm.
  • slurmd: the compute node daemon for Slurm.
  • slurmdbd: the database daemon for Slurm.
  • slurmrestd: the REST API interface to Slurm.

✨ Getting started

To deploy the Slurm charms from Charmhub, you must be using Juju 3.x or greater.

juju deploy slurmctld --channel edge
juju deploy slurmd --channel edge
juju deploy slurmdbd --channel edge
juju deploy slurmrestd --channel edge
juju deploy mysql --channel 8.0/stable
juju deploy mysql-router slurmdbd-mysql-router --channel dpe/edge

juju integrate slurmctld:slurmd slurmd:slurmctld
juju integrate slurmctld:slurmdbd slurmdbd:slurmctld
juju integrate slurmctld:slurmrestd slurmrestd:slurmctld
juju integrate slurmdbd-mysql-router:backend-database mysql:database
juju integrate slurmdbd:database slurmdbd-mysql-router:database

🤔 What's next?

If you want to learn more about all the things you can do with the Slurm charms, here are some resources for you to explore:

🛠️ Development

The project uses tox as its command runner, which provides some useful commands that will definitely help while hacking on the charms:

tox run -e fmt # Apply formatting standards to code.
tox run -e lint # Check code against coding style standards.
tox run -e type # Type checking.
tox run -e unit # Run unit tests.

We also have some integration tests in place, but be aware that it requires a fairly good amount of computer resources to run them. We usually test with at least 4 cores and 16 GB of RAM, but feel free to experiment!

tox run -e integration

If you're interested in contributing, take a look at our contributing guidelines.

🤝 Project and Community

The Slurm charms are a project of the Ubuntu High-Performance Computing community. Interested in contributing bug fixes, patches, documentation, or feedback? Want to join the Ubuntu HPC community? You’ve come to the right place 🤩

Here’s some links to help you get started with joining the community:

📋 License

The Slurm charms are free software, distributed under the Apache Software License, version 2.0. See the Apache-2.0 LICENSE file for further details.

The Slurm workload manager is licensed under the GNU General Public License, version 2, or any later version. See Slurm's legal notice for further licensing information about Slurm.