opscode/chef — pull request #378 by wpeterson (2012-08-27 22:23:07+00:00)
Title: Configure syck YAML engine for Ruby 1.9 and above.

Chef should fixate the configuration of the YAML engine used to serialize/deserialize values in encrypted data bags. If different YAML engines are used on one side (encryption) vs. the other (decryption) the output can be modified and escaped in funny ways. Chef should not rely on the Ruby runtime to set this, since it effects the values end-to-end.

Here is an example of a simple encrypted data bag showing this error in output: https://gist.github.com/2564a3cc61702d3852e3

This uses knife.rb locally to swap the version of YAML::ENGINE configured between write/read.