Skip to content

Conversation

garlick
Copy link
Member

@garlick garlick commented Nov 8, 2023

Problem: the detailed description of Fluxion's scheduling key format is inappropriate in RFC 20 which describes the general Rv1 format.

Pull it out to a new RFC 40.

Also, improve the markup in RFC 20 to make it more readable.

Copy link
Contributor

@grondo grondo left a comment

Choose a reason for hiding this comment

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

Oh, that turned out nice! Thanks!

- [37/File Archive Format](spec_37.rst)
- [38/Flux Security Key Value Encoding](spec_38.rst)
- [39/Flux Security Signature](spec_39.rst)
- [40/Fluxion Resource Set Extension](spec_40.rst)
Copy link
Contributor

Choose a reason for hiding this comment

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

Commit message nit: capitalization of Fluxion is inconsistent.

Problem: rfc20 defines Rv1 with a key for scheduler extensions,
but then proceeds to prescribe the Fluxion JGF format.

Move the Fluxion resource set extension to its own RFC.
Problem: RFC 20's use of headings is slightly weird compared to the
sphinx style guide's recommendations.

Use the recommended H1, H2, H3, and H4 heading symbols.

See also:
https://documentation-style-guide-sphinx.readthedocs.io/en/latest/style-guide.html
Problem: when describing the R JSON object, hierarchical key
relationships are not visually evident.

Set the default domain to js (javascript) and use nested data directives to
define JSON elements, and the :data: role for mentions of them to improve
formatting and add cross-reference links.

See also:
https://www.sphinx-doc.org/en/master/usage/domains/javascript.html
@garlick
Copy link
Member Author

garlick commented Nov 8, 2023

Thanks - fixed that and also a heading level problem that was messing up the table of contents tab.

Note the attributes entry in RFC 20. If you remember, at one point we observed that Fluxion was setting the queue name in attributes.system.scheduler. I'm not seeing that now in my testing but I also didn't immediately find a Fluxion commit message that says anything about dropping that. For now I left it, but we might want to revisit at some point. I'm not sure we even want/need the whole attributes section?

@grondo
Copy link
Contributor

grondo commented Nov 8, 2023

For now I left it, but we might want to revisit at some point. I'm not sure we even want/need the whole attributes section?

Yeah, I was wondering the same thing on a read-through. It seems like if it is necessary for Fluxion it should go in the opaque scheduling key. It's utility may have been obviated, though, now that we have jobspec-update events which add a default queue to Flux's copy of jobspec.

There is still code in Fluxion to emit the attributes section in the RV1 "writer" here:

https://github.com/flux-framework/flux-sched/blob/22088217e0592ed2380b0a82e7c45e93daf50f0a/resource/writers/match_writers.cpp#L941-972

But I don't know when it is used.

@grondo
Copy link
Contributor

grondo commented Nov 8, 2023

Those attributes seem to be required by the t1009-recovery-multiqueue.t test in Fluxion, but it seems like there's a disconnect in Fluxion's concept of queues and that supported by flux-core.

@garlick
Copy link
Member Author

garlick commented Nov 8, 2023

I'll go ahead and set MWP on this content-free update. We can ponder whether we want to drop that section in another PR and open a Fluxion issue to get it inline with how Flux's design for queues has evolved.

@mergify mergify bot merged commit b3485df into flux-framework:master Nov 8, 2023
@garlick garlick deleted the rfc40_new branch November 8, 2023 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants