GitHub is NOT the preferred viewer for this file. Please visit https://flux-framework.rtfd.io/projects/flux-rfc/en/latest/spec_29.html
This specification describes a compact form for expressing a list of hostnames which contain an optional numerical part.
| Name | github.com/flux-framework/rfc/spec_29.rst |
| Editor | Mark A. Grondona <mgrondona@llnl.gov> |
| State | raw |
The hostlist is a somewhat well known format supported by
existing HPC tools such as pdsh,
powerman, and genders. The format is designed as a convenience
on systems where hostnames are assigned with a common prefix, a numeric
part, and an optional suffix. The result is a compact way to represent
a possibly large list of hosts by name, e.g. prefix[0-1024].
This RFC details the Flux implementation of the hostlist format.
A hostlist SHALL represent an ordered list of strings.
A hostlist string SHALL be a list of comma separated hostlist expressions.
A hostlist expression SHALL be a string of the form
prefix[idlist]suffix, where all components prefix, [idlist],
and suffix are OPTIONAL.
An empty hostlist expression, "", SHALL represent an empty list.
The prefix and suffix components of a hostlist expression SHALL
consist of any printable, non-whitespace ASCII character besides the special
characters including square brackets: "[ ]", and comma: ",".
An idlist SHALL represent an ordered list of non-negative integer ids.
An idlist MAY be a simple comma-separated list, e.g. 5,4,10,11,12,13.
Consecutive ids in an idlist MAY be compressed into hyphenated ranges,
e.g. 5,4,11-13.
Leading zeros in the first element of an idlist SHALL be preserved
across all ids in the list, e.g. 005,4,11-13 represents the list
005,004,011,012,013.
An idlist MAY contain repeated numbers, e.g. 2,2,2 is a valid list.
Within a hostlist expression, an idlist SHALL be enclosed in square
brackets, e.g. host[0-10,12].
""="""foox,fooy,fooz"="foox,fooy,fooz""[1-3,5-6]"="1,2,3,5,6""foo[1-5]"="foo1,foo2,foo3,foo4,foo5""foo[0-4]-eth2"="foo0-eth2,foo1-eth2,foo2-eth2,foo3-eth2,foo4-eth2""foo1,foo1,foo1"="foo1,foo1,foo1""[00-02]"="00,01,02""[00-2]"="00,01,02""foo[1,1,2,1]"="foo1,foo1,foo2,foo1"