* Use TestNG assertions
* Formatted code in compute tests
* Removed unnecessary local variables in tests to avoid using them by
mistake between independent tests.
Refactored the domain model to be immutable and addressed some
inconsistences with the Chef Server API model.
Removed all HEAD methods, as they have been removed from newer versions
of Chef. They were used to test the existance of a given resource, and
with newer versions the only way to do that is via a GET operation.
Now all live tests are passing for Community Chef 0.10.8, 11.0.6 and
Enterprise Chef.
Added the environment where the nodes in a group must be created in the
bootstrap data bag. This way the configuration is persisted and can be
used between runs, such as the node run list.
To accomodate the new bootstrap parameter, the method in the ChefService
used to create the data bag has been refactored and a the new
BootstrapConfig object has been created. This way, we'll be able to
extend the information in the bootstrap databag in the future without
changing the ChefService interface.
* Removed all async apis
* Refactored strategies to avois using the async apis
* Removed references to awaitCompletion and use Guava helpers
* Added a method in ChefContext to access the underlying api (ChefApi,
HostedChefApi or PrivateChefApi)
* Deprecated all async apis.
* Refactored tests to extend BaseApiLiveTest.
* ChefContext now extends View.
* HostedChefApi now extends ChefApi.
* PatchedChefApi has been removed.
* Removed HostedChefContext and PrivateChefContext because they are now
redundant. The concrete apis can be unwrapped from teh ChefContext
view.
Added context properties to allow users customize how RubyGems is
installed and also the version of the Chef gems that is installed when
bootstrapping nodes.
Change formating to jcloud standarts. Added SinceApiVersion annotation to new methods. Removed environmentExists method from api.
Added forgeted serializable name for attributes field of environment
Adds support for the Group api in Hosted Chef. CRUD operations and the
management of the members of the group are now available.
Also cleaned up Private Chef, and will leave only those methods that are
proven to work and have a working live test.
Moved the InstallChefGems statement to jclouds/scriptbuilder to
implement there the Chef Solo support, since Solo does not require a
connection to a Chef server.
Fixes#28
Made install chef gems script portable to yum based
distributions.
This was tested with CentOS 5.6 with the apache2 recipe.
Everything works fine except the startup of the apache
server due to an issue in the apache2 recipe. When it creates
the httpd.conf file it does no set the right permissions.
This commit fixes#12.
Now when bootstrapping nodes using Chef, the validator credentials
must be provided in context creation. Since we cannot create validator
clients, having those credentials is a requirement to make the nodes
be able to autoregister to the Chef server during bootstrap.
When using this feature, the following properties must be set:
ChefProperties.CHEF_VALIDATOR_NAME
ChefProperties.CHEF_VALIDATOR_CREDENTIAL
Also refactored ChefConstants class into ChefProperties to follow the
new conventions.
The search api returns the databag item inside a 'raw_data'
object instead of returning it directly.
With this commit all live tests for the search api are passing
except the searchClients one for hosted and private chef due
to an existing issue in the target platform. Once it is fixed (by
opscode) the live test will pass.
Added a SearchOptions parameter to all search
methods in ChefApi. This way every search can be
customized and limited. Fixes#1.
This is still a WIP until the appropriate live tests
are added.