infochimps-labs / ironfan

Chef orchestration layer -- your system diagram come to life. Provision EC2, OpenStack or Vagrant without changes to cookbooks or configuration
http://infochimps.com
Other
501 stars 102 forks source link

Build full DslLoader code into knife plugin #280

Open temujin9 opened 11 years ago

temujin9 commented 11 years ago

The current Gorillib::Resolve code needs to be replaced with a more flexible framework. The operating principle is to collect the ordered assertions made in a DSL file, and allow them to be filtered. Doing so allows arbitrary reordering of the assertions, in ways that allow resolution based on statement order, rather than the more complicated implicit rules of Resolve.

This has been tested simply, and should work in the majority of existing clusters.

temujin9 commented 11 years ago

Use https://github.com/a2design-company/json-compare to compare the results of this and Gorillib::Resolve process, across a number of cluster definitions. Also consider a stronger set of spec tests (in particular, test that locally declared variables are available for later usage, rather than lost in the sea of context).