Thanks to visit codestin.com
Credit goes to github.com

Skip to content

vantagecompute/vantage-agent-charms

Repository files navigation

Vantage Compute Logo

Vantage Agent Charms

Build Status GitHub Issues Pull Requests GitHub Contributors

Overview

The Vantage Agent Charms are a collection of Juju charms that enable seamless integration of Slurm clusters with the Vantage platform. Each charm manages the deployment and lifecycle of its corresponding agent snap, providing automation and operational consistency for HPC environments.

Included Charms

For detailed usage and configuration, see the README in each sub-project.


Getting Started

Build

This project uses uv in combination with just to drive charmcraft to build the charms in lxd containers.

Install the dependencies.

sudo snap install charmcraft --channel=latest/stable --classic
sudo snap install juju --channel=3/stable --classic
sudo snap install just --classic
sudo snap install astral-uv --classic
sudo snap install lxd --channel=latest/stable --classic

Once you have charmcraft, lxd, just, and uv installed you are ready to build.

just repo build

After a successful build, the compiled charms will be available in the _build/ directory:

ls -la _build/

Deploy Slurm

Bootstrap a juju controller and add a model.

Note: the cluster name, "vantage-cluster". To be used in the next step.

# Bootstrap lxd/localhost
juju bootstrap localhost

# Add a model
juju add-model slurm

# Deploy MySQL
juju deploy mysql --channel 8.0/stable

# Deploy slurmdbd
juju deploy slurmdbd --channel edge

# Deploy slurmctld and configure the cluster-name
juju deploy slurmctld --channel edge \
    --config cluster-name=vantage-cluster

# Deploy slurmd
juju deploy slurmd --channel edge

# Deploy a utility node for the agents
juju deploy sackd slurm-util --channel edge

# Integrate the applications to form the cluster
juju integrate slurmdbd mysql
juju integrate slurmdbd slurmctld
juju integrate slurmd slurmctld
juju integrate slurm-util slurmctld

Note: For more information on deploying and managing Slurm with Juju, see the Charmed HPC Documentation.

Deploy Vantage Agents

Obtain your cluster oidc configuration (needed to configure the agents) in the Vantage UI. Once you have your cluster oidc configuration, deploy and integrate the vantage-agents we just built (in the _build/ dir).

#!/bin/bash

OIDC_CLIENT_ID=<oidc_client_id>
OIDC_CLIENT_SECRET=<oidc_client_secret>
SLURM_CLUSTER_NAME=vantage-cluster

juju deploy ./_build/license-manager-agent.charm \
    --config license-manager-agent-oidc-client-id=$OIDC_CLIENT_ID \
    --config license-manager-agent-oidc-client-secret=$OIDC_CLIENT_SECRET

juju deploy ./_build/jobbergate-agent.charm \
    --config jobbergate-agent-oidc-client-id=$OIDC_CLIENT_ID \
    --config jobbergate-agent-oidc-client-secret=$OIDC_CLIENT_SECRET

juju deploy ./_build/vantage-agent.charm \
    --config vantage-agent-oidc-client-id=$OIDC_CLIENT_ID \
    --config vantage-agent-oidc-client-secret=$OIDC_CLIENT_SECRET \
    --config vantage-agent-cluster-name=$SLURM_CLUSTER_NAME

for charm in license-manager-agent jobbergate-agent vantage-agent; do
    juju integrate slurm-util $charm;
done

Following these steps, your cluster will be ready for use with the Vantage platform.


Contributing

Contributions are welcome! Please open issues or pull requests for bug fixes, improvements, or new features.


License

Distributed under the Apache v2 License. See the LICENSE file for details.

Contact

For questions or support, email us at [email protected].


© 2025 Vantage Compute Corporation. All rights reserved.

About

The collection of charms used to integrate Juju deployed Slurm clusters with Vantage.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •