Hostlist
========
[](https://travis-ci.org/jabl/hostlist)
This is a Rust implementation of a hostlist library. Hostlists are a
syntax for expressing multiple hosts, commonly used in
HPC. E.g. compute[1-3] => compute1, compute2, compute3. However it
goes a bit beyond what can be done with plain bash expansions of the
type compute{1..3}.
Some other tools and applications supporting hostlists are
- [Slurm](http://slurm.schedmd.com/)
- [pdsh](https://github.com/grondo/pdsh)
- [genders](https://github.com/chaos/genders)
- [GNU FreeIPMI](https://www.gnu.org/software/freeipmi/)
## Usage
The library provides a single public function, with the signature
pub fn expand(a_str: &str) -> Result<Vec<String>, &'static str>
This function will expand a hostlist into a list of
hostnames. E.g. "foo[1-3]" will result in a vector ["foo1", "foo2",
"foo3"].
## Command-line utility
TODO, not yet implemented!
A command-line utility will allow accessing the functionality of the
library from a shell.