Version0.1.0
Revision3
LicenseGPL-3.0-only
Confinementstrict
Basecore22

A swiss-army knife for managing HPC clusters built with Ubuntu


_Description

Pluto is proof-of-concept application for demonstrating the work that the
High-Performance Computing (HPC) team at Canonical has accomplished over the past several months.
Pluto showcases the
Charmed HPC project by automatically
bootstrapping a micro-HPC cluster. The following services are deployed by Pluto to build the
cluster:

- SLURM + Munge
- GLAuth + SSSD
- NFSv4

After several minutes, you will have a fully-functional charmed micro-HPC cluster at your
fingertips! Take the cluster for a spin and see how Ubuntu can meet your HPC needs!

Note: Pluto is proof-of-concept application to set up a small, working Charmed HPC cluster
for personal experimentation. It
should not be used for production-level deployments.

Usage

Requirements

Your system needs to have the following requirements installed to use
pluto to deploy a micro-HPC cluster:

- snapd
- juju 3.1 or greater

Also, you should have access to a Juju supported cloud as well. Pluto only
supports machine charms, so Kubernetes-base clouds such as microk8s or Google GKE
are not supported. If you are planning on using LXD as your cloud, see the
section
Appendix: Using LXD for extra steps before you bootstrap
the micro-HPC cluster.

Setting up Juju

After installing snapd and juju, bootstrap a cloud controller using the following command:

juju bootstrap


You will be taken an interactive dialog to configure your cloud controller.
Please visit the Juju documentation for specific information on how to bootstrap a Juju controller for your target cloud.

Bootstrapping your micro-HPC cloud

Once the Juju controller for the cloud of you choice has been bootstrapped, use snap
to install pluto:

sudo snap install pluto


Now use the following command to bootstrap your micro-HPC cluster:

pluto bootstrap


In several minutes you will now have access to your very own micro-HPC cluster! Have fun!

Appendix: Using LXD

pluto will not initially work with LXD due to LXD containers being initially unable to mount
or export NFS shares. This has to do with LXD containers AppArmor configuration. To enable NFS
exporting/mounting, use the following commands to modify the default LXD profile on your system. This needs to be done
before you bootstrap the micro-HPC cluster with pluto:

lxc profile set default security.privileged true
lxc profile set default raw.apparmor 'mount fstype=nfs*, mount fstype=rpcpipefs,'


Note: Given that you need to elevate the privileges of the LXD containers for the micro-HPC
cluster to function, it is strongly recommended to use another cloud such as OpenStack or MAAS.

Update History

0.1.0 (3)
1 Apr 2026, 21:28 UTC

Published9 Jun 2023, 00:53 UTC

Last updated3 Nov 2023, 11:49 UTC

First seen1 Apr 2026, 21:28 UTC