Yelp/Tron — pull request #185 by y-trobinso (2012-12-04 21:59:38+00:00)
Title: Add the ability to reconcile configuration fragments to Tron

I suspect this can be significantly improved, but here's the 0th implementation of being able to reconcile configuration fragments in Tron into a single configuration object.

According to the code provided by MCP, this should Just Work as long as there aren't conflicting entries in any of the individual registers for nodes, jobs, ssh options, et cetera. Partitioning these data structures might be warranted, but I think making a patch to give each element in these collections a Tron-scoped unique identifier should be okay.

This patch includes changes that provide compatibility with legacy configuration files (by auto-converting them to the new YAML format). All in all, this is still a bit hacky in my opinion, but altering certain major components of Tron (notably, config_parse.py and schema.py) should clear that right up as a future patch.

This passes all of its relevant tests. Feel free to fire away on spot fixes I should make, though!