Skip to content
 
 

Repository files navigation

Slurm charms

CI Release GitHub License Matrix

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

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:

  • sackd: the authentication and credential kiosk daemon for Slurm.
  • 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 sackd --channel edge
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 sackd:slurmctld slurmctld:sackd
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 just and uv for development, which provides some useful commands that will definitely help while hacking on the charms:

just repo fmt # Apply formatting standards to code.
just repo lint # Check code against coding style standards.
just repo typecheck # Type checking.
just repo 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!

just repo integration

The integration tests for slurmctld high availability functionality require more time and computer resources to run so are optionally gated behind a flag:

just repo integration -- --run-high-availability

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.

About

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

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages