Skip to content
This repository has been archived by the owner on Aug 9, 2024. It is now read-only.

feat!: overhaul slurmd charm API #34

Merged

Conversation

jamesbeedy
Copy link
Contributor

@jamesbeedy jamesbeedy commented Jun 5, 2024

Please reference the Slurm Charms Change Summary Document for an in-depth explanation of these changes.

These changes enhance the slurmd charm by:

  • Improve the way slurmd sends slurmctld its partition and node parameter options
  • Add an action, node-config to get and set unit-level node-configuration
  • Add partition-config charm configuration that allows an operator to set
    partition configuration
  • Consolidate the yaml files into charmcraft.yaml
  • Remove unused code
  • Remove slurm-ops-manager
  • Replace nhc resource with nhc in build process in charmcraft.yaml
  • Remove dependencies on slurmdbd

Depends on https://github.com/charmed-hpc/slurmctld-operator/pull/26/files

@jamesbeedy jamesbeedy force-pushed the slurm_config_editor_preparation branch from 16d79c8 to 85e8200 Compare June 6, 2024 17:39
@jamesbeedy jamesbeedy force-pushed the slurm_config_editor_preparation branch 2 times, most recently from b59de6b to 4cd40df Compare June 9, 2024 18:05
@jamesbeedy jamesbeedy changed the title James longdev James Longdev Jun 9, 2024
@jamesbeedy jamesbeedy force-pushed the slurm_config_editor_preparation branch from 4cd40df to 773be3c Compare June 9, 2024 19:25
Copy link
Member

@NucciTheBoss NucciTheBoss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, looks good. It will be nice to more effectively manage the configuration of both nodes and partitions per site requirements. Couple of comments, so please let me know if you have any questions!

.gitignore Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
lib/charms/operator_libs_linux/v0/juju_systemd_notices.py Outdated Show resolved Hide resolved
requirements.txt Outdated Show resolved Hide resolved
src/templates/nhc.conf.tmpl Outdated Show resolved Hide resolved
src/slurmd_ops.py Show resolved Hide resolved
src/slurmd_ops.py Show resolved Hide resolved
charmcraft.yaml Show resolved Hide resolved
charmcraft.yaml Show resolved Hide resolved
charmcraft.yaml Show resolved Hide resolved
@NucciTheBoss
Copy link
Member

Hey @jamesbeedy 👋

Could you please update this branch with the changes that you made to both the slurmdbd and slurmctld operators? Per our discussion yesterday during the Ubuntu HPC community call, we agreed that we would add some guardrails to the actions that enable administrators to modify the partition/node/slurm configuration. We can work on that in a follow-up pull request if that's good for you?

@jamesbeedy jamesbeedy force-pushed the slurm_config_editor_preparation branch from 773be3c to 2916b7d Compare June 27, 2024 18:20
jamesbeedy and others added 4 commits June 27, 2024 18:22
* Improve the way slurmd sends slurmctld its node-config
* Add an action, `node-config` to get and set unit level  node-configuration
* Add `partition-config` charm configuration that allows an operator to set
partition configuration
* Consolidate the yaml files into `charmcraft.yaml`
* Remove unused code
* Remove slurm-ops-manager
* Replace nhc resource with nhc in build process in charmcraft.yaml
* Remove dependencies on slurmdbd
* rename interface slurmd -> slurmctld
* update readme
* remove fluentbit
* replace machine.py with slurmd -C
Copy link
Member

@NucciTheBoss NucciTheBoss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm ready to land this 🛬

Just some final nits, but those are things that I will commit as suggestions before merging. We can open subsequent pull requests to further refine various parts of the API, but overall I think this looks great for overhauling the Slurm charm API.

src/templates/nhc.conf.tmpl Outdated Show resolved Hide resolved
src/slurmd_ops.py Show resolved Hide resolved
src/slurmd_ops.py Show resolved Hide resolved
src/slurmd_ops.py Show resolved Hide resolved
lib/charms/operator_libs_linux/v0/juju_systemd_notices.py Outdated Show resolved Hide resolved
src/charm.py Outdated Show resolved Hide resolved
src/charm.py Show resolved Hide resolved
@jamesbeedy
Copy link
Contributor Author

Great, lets do it. +1 from me!

@NucciTheBoss NucciTheBoss merged commit 70a61a9 into charmed-hpc:main Jun 28, 2024
4 of 5 checks passed
@NucciTheBoss NucciTheBoss changed the title James Longdev feat!: overhaul slurmd charm API Jun 28, 2024
@jamesbeedy jamesbeedy deleted the slurm_config_editor_preparation branch July 1, 2024 14:24
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants