saltstack/salt — pull request #853 by grierj (2012-03-07 02:34:30+00:00)
Title: Adding Range Support to Salt

Range is a cluster based metadata store. It was used internally at yahoo and recently open source. You can read about range here:

https://github.com/grierj/range/wiki/Introduction-to-Range-with-YAML-files

Range allows arbitrary grouping of hosts via clusters and the storage of metadata along with them. Additionally there is a powerful DSL that allows for set operations, regexes, and multilayer cluster referencing.

The implementation here runs the range query and reduces it to a list style expression format, which means only the salt master needs to know about range or have the range libraries installed.

I've also cleaned up the signal handler and multiprocessing cleaner. The cleaner is now much faster (sleeps for less time, so it checks more often). Additionally it raises a MasterExit which you can catch (and I do) to make for a clean exit code.