opscode/chef — pull request #1527 by ryancragun (2014-06-20 01:49:05+00:00)
Title: [OC-11667] Don't overwrite the :default provider map if :default is passed as the platform

If you attempt to configure a `:default` platform provider mapping with:
```ruby
Chef::Platform.set(
:provider => Chef::Provider::User::MyOrgsUser
:resource => :user
:platform => :default
)
```
The `:default` provider mapping will be erroneously overwritten, meaning [these defaults](https://github.com/opscode/chef/blob/master/lib/chef/platform/provider_mapping.rb#L363-387) will be overwritten to
```ruby
{:default=>{:user=>Chef::Provider::User::MyOrgUser}}"
```
This will break common resources like `log` that depend on the default provider mapping being correct. The error messaging is very misleading.

Not specifying `:default` as the platform is a nice way to work around this, however, it's hardly intuitive and the error messaging is very misleading.