-
Notifications
You must be signed in to change notification settings - Fork 60
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
New Custom Spawner #52
base: master
Are you sure you want to change the base?
Conversation
…igurable spawner in conf file
…allows custom SLURM batch scripts to be loaded from a system location, and optionally from users' home directories.
Thanks for submitting your first pull request! You are awesome! 🤗 |
Hi! WrapSpawner is designed to wrap around almost any Jupyter spawner. Would you say your new spawner is generally applicable to other spawners, or is it targeted only at BatchSpawner? |
We would like it to be applicable to other spawners, however, we have not
tested it with anything other than BatchSpawner at the moment.
…On Tue, Apr 19, 2022 at 4:07 PM Simon Li ***@***.***> wrote:
Hi! WrapSpawner is designed to wrap around almost any Jupyter spawner.
Would you say your new spawner is generally applicable to other spawners,
or is it targeted only at BatchSpawner?
—
Reply to this email directly, view it on GitHub
<#52 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AX4ZBXKD3ANHVI3ZZJ6J4HDVF4G6NANCNFSM5THTSCBA>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Hi @JeffEdwardsTech - thanks for this PR! Any questions about the following, please follow up here. I am supportive of accepting this feature if some restructuring can be done. We might be able to assist in implementing fixes to the issues I note below. Cheers, So now that I've had a chance to review this, the biggest thing that jumps out at me is the amount of code duplication between this class and the existing wrapspawner/wrapspawner/wrapspawner.py Lines 488 to 515 in 2bb0e21
and the corresponding functions in Some more minor issues: I wonder if you would be open to changing the name of the class. In your wrapspawner/wrapspawner/wrapspawner.py Lines 410 to 413 in 2bb0e21
Jupyter uses the traitlets library to handle configuration. Unless you have a good reason to work around it, these variables should also be implemented as traits, and this logic would go in a default value function. The help text should include documentation of exactly what an admin or user should put in these profile files. Even having read the code, I don't feel confident that I could create a valid file on the first try. It would also be acceptable to put a section in the README with some explanatory text and an example configuration. Where you define the wrapspawner/wrapspawner/wrapspawner.py Lines 340 to 347 in 2bb0e21
The type signature is inconsistent with the help text. Also, given the assumptions made in the code, I am not sure the default value would even actually work using When you process the form, you have: wrapspawner/wrapspawner/wrapspawner.py Line 447 in 2bb0e21
I'm not sure what side effects might result from modifying the |
…iguration from __init() method and placed in Trailets class members
Been working to address the changes! The following are complete:
I have a couple of discussion points I could use feedback on
Let me know on #1 and #2, more than happy to defer to your judgment and implement whatever further changes are needed. |
This Pull Request is for kind of WrapSpawner; the CustomSpawner.
The CustomSpawner implements a new feature set for launching jobs; it displays the batch script to be run as a textfield in the launcher form, and it also allows the user to customize the script before launching the job.
The profiles are stored in a System directory, allowing administrators to provide a global set of job profiles to be launched by storing files in the filesystem.
Optionally, users can store their own custom scripts to be launched in their own home directories if those directories are accessible by the JupyterHub server.
This feature is being developed at the request of the EPA's High End Scientific Computing II (HESC2) project; we want to support the JupyterHub community by contributing code and would love to see this become an official feature.
Contact me with any needed changes or enhancements. Looking forward to working with you all!
Jeff Edwards
[email protected]