Configuring Liberty profile with Opscode Chef

The Liberty profile has a simple configuration mechanism. A server can be configured in a single file making it quick to use in development. It’s also quick for production, but in production you’re likely to have 100s or 1000s of servers to configure. Changing the configuration manually can be very error prone and, when there are many servers, that can lead to unintentional inconsistencies.

Using custom scripts is better but the scripts can be brittle and difficult to maintain. Also, the scripts might not be able to fully restore or recreate a server configuration when recovering from a failure. Recreating the configuration of a large scale topology is even more challenging.

Opscode Chef is a popular DevOps solution for automating infrastructure configuration. Using Chef, you configure from the operating system up; applying system updates, modifying configuration files, restarting any necessary system services, applying and configuring middleware and applications on top of that.

You do this through Chef cookbooks, and the templates, attributes and recipes contained within. You can write your own cookbook or take advantage of the community-contributed cookbooks published on the Opscode community. Cookbooks for many popular software packages are available and more are published each day.

We’ve been working on a set of cookbooks for WebSphere Application Server Liberty Profile. Our initial release is v0.1.0 and contains the following open source cookbooks:

wlp is used to install Liberty profile. It also provides recipes and resources for creating, configuring and managing Liberty profile servers.

application_wlp is used with the Opscode application cookbook to deploy applications to a Liberty profile server.

Both cookbooks are now available from the Opscode community.

We’d love your feedback. Post your questions to the WASdev forum or on Stack Overflow, or open issues in our GitHub repositories: WASdev/ci.chef.wlp and WASdev/ci.chef.wlp.application.

To learn more about and experiment with Chef take a look at the Opscode #learnchef page.