In Chef Server 0.10 the way the cookbooks are returned has changed. For
this reason, a couple of domain classes have been added to support this
new model.
Also added a @Provider in the ChefParserModule that will inject the
appropriate parser depending on the jclouds.api-version property set on
the context. This way the ChefAsyncClient method signatures remain
unchanged and the parser used to parse the cookbooks will be choosen at
runtime depending on the version used to create the context.
Modified the ChefAsyncClient to read the value for the X-Chef-Version
header from the jclouds.api-version property. This way users will have a
way to configure the version of the Chef server they are consuming.
* Refactored client creation tests and their dependencies to avoid
errors related to context re-creation.
* Added method to ChefAsyncClient to get the contents of a resource
(like a file in a cookbook) sending the authentication headers.
* Refactored chef-core live tests dependencies to avoid unnecessary test
skips.
* Added bouncycastle dependency in test scope to allow reading the
private key files.
* Fixed the client name field in the json sent to update a client.
* Added the uploadContent method to the ChefAsyncClient in order to
add the authentication headers to the upload contents to a sandbox
request.
* Disabled parallel integration test execution to avoid concurrent
creation of the same node.
* Fixed @Credential binding to bind the contents of the PEM file instead
of the path.
* Fixed validation identity and credential property loading.
* TestOhaiModule did not use the overriden provider method. Changed
strategy live tests to check against the current user as set by the
CurrentUserProvider.
This method creates a client with the 'admin' flag set, in an open source
Chef Server.
This does not work in Hosted Chef, since Opscode Platform
security design uses a different approach. By default a client is only
allowed to manage the node it's associated with, and setting this flag
in the POST or PUT request has no effect on the client permissions.
Metadata fields 'dependencies', 'conflicting', 'providing', 'platforms' and 'replacing' are
simple Map<String, String>, where the value is a version constraint like '>= 0.0.0', but not
a Json array.
See https://github.com/opscode/chef/blob/master/chef/lib/chef/cookbook/metadata.rb for more
details about Metadata format.