saltstack/salt — pull request #5845 by madduck (2013-07-01 17:55:52+00:00)
Title: Reclass plugins for ext_pillar and master_tops

This series of commits adds `ext_pillar` and `master_tops` plugins for [reclass](http://github.com/madduck/reclass).

The idea is not to take over any work that `reclass` does, and also not to expose too much of Salt internals. As such, `__opts__` and `__salt__` are *not* passed along, but only the data extract that are needed by `reclass`. This means that if `reclass` changes its requirements, Salt will get a patch, but it's just cleaner that way and a nice, natural separation.

Note that `reclass` must be in `PYTHONPATH` for these to work. It would definitely be better if a path-to-source could be defined in the master config, but I couldn't figure out how to get at it… `__opts__` is not available at the module scope, unfortunately.

I kept a bit of history of evolution in the series of commits. Let me know if you prefer a squash.