Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: quality of life updates to Slurm snap #51

Merged
merged 11 commits into from
Jan 14, 2025

Conversation

NucciTheBoss
Copy link
Member

@NucciTheBoss NucciTheBoss commented Jan 14, 2025

This PR refreshes the Slurm snap with necessary quality of life updates. Changes include:

  1. Bringing the repository README in line with other Charmed HPC-related READMEs.
  2. Replace make with just. Less .PHONY: ... the better...
  3. Remove the vendored version of mungectl. It wasn't as update to date with the upstream mungectl repository.
  4. Remove config hooks for slurm.conf. They were an experiment that missed the mark and were limited in what they could do. For example, the config hook limited you to only one DownNodes entry and did not support Slurm hostname specification.
  5. Remove config hooks for slurmdbd.conf. Same deal as number 4.
  6. Quality of life updates to CI files and pyproject.toml.

I would have opened this PR earlier, but GitHub was down :(

Related issues

Pull `mungectl` from https://github.com/charmed-hpc/mungectl rather than use vendored version. `mungectl` was moved out into its own repository.

Signed-off-by: Jason C. Nucciarone <[email protected]>
Signed-off-by: Jason C. Nucciarone <[email protected]>
These two sets of configure hooks had to be removed as they were buggy and had limited interaction with their respective config files. For example, through snap config, you could only have one down nodes entry at a time. The configure hooks also did not support the Slurm hostname specification which is common syntax in Slurm.

Now users are encouraged to edit the file directly under $SNAP_COMMON, and the snap config hook can only be used to configure Slurm service definitions, not modify config files like slurm.conf, slurmdbd.conf, gres.conf, etc.

Signed-off-by: Jason C. Nucciarone <[email protected]>
Bring CONTRIBUTING.md up to date. Originally mentioned using tox which was not the correct entrypoint.

Signed-off-by: Jason C. Nucciarone <[email protected]>
…istently out of date

Reduce maintenance overhead of requiring someone to go through our repos and update comments within bespoke workflow files.

Signed-off-by: Jason C. Nucciarone <[email protected]>
Refresh brings README forward to be like other Charmed HPC-related repositories. Also removes mention of old configuration hooks that edited the slurm.conf and slurmdbd.conf files.

Signed-off-by: Jason C. Nucciarone <[email protected]>
Ruff changed the format of its configuration within pyproject.toml. This commit updates pyproject.toml so that ruff does not throw off warnings when running just recipes.

Signed-off-by: Jason C. Nucciarone <[email protected]>
@NucciTheBoss
Copy link
Member Author

Secrets should be good. Might need to refresh the Launchpad token, but that one is more of a pain to refresh so we'll see if it's stale after we merge this PR.

Copy link
Contributor

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

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

Just a small comment about the just file. Everything else looks great!

justfile Outdated Show resolved Hide resolved
Copy link
Contributor

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

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

Oops, I approved instead of requesting changes 🥴

@NucciTheBoss
Copy link
Member Author

Oops, I approved instead of requesting changes 🥴

Lol all good. I was gonna address your comment before merging anyway 🤣

Update .editorconfig to remove old reference to Make and Go-related files, and define formatting rules for justfiles.

`just` has a built-in formatter that can be run using the command `just --fmt --unstable`.

Signed-off-by: Jason C. Nucciarone <[email protected]>
The `snap` recipe now depends on the `clean` recipe to ensure the instance is fresh before building the snap. `integration` now depends on `snap`.

Build instance must be refreshed each time the snap is built before of bug: canonical/craft-parts#675

Signed-off-by: Jason C. Nucciarone <[email protected]>
@NucciTheBoss NucciTheBoss force-pushed the nuccitheboss/qol-updates branch 2 times, most recently from 52a268c to 88f08de Compare January 14, 2025 20:54
Signed-off-by: Jason C. Nucciarone <[email protected]>
@NucciTheBoss NucciTheBoss force-pushed the nuccitheboss/qol-updates branch from 88f08de to 17faa73 Compare January 14, 2025 20:54
@NucciTheBoss
Copy link
Member Author

@jedel1043 R4R

Copy link
Contributor

@jedel1043 jedel1043 left a comment

Choose a reason for hiding this comment

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

Looks good!

@NucciTheBoss NucciTheBoss merged commit 6f01b68 into charmed-hpc:main Jan 14, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Configure hooks are busted now that context manager is used to generate slurm.conf ondemand
3 participants