The wlp cookbook installs and configures the WebSphere Application Server Liberty Profile. It provides recipes, resources, and libraries for creating, managing, and configuring Liberty profile server instances.
The wlp cookbook can install Liberty profile from jar archive files or a zip file. The installation method is configured via the node[:wlp][:install_method]
attribute.
When the jar archive files installation method (jar installation) is used, the node[:wlp][:archive][:base_url]
attribute must be set to specify the base location from which the Liberty jar archive files can be downloaded. Use the node[:wlp][:archive][:runtime][...]
, node[:wlp][:archive][:extended][...]
, and node[:wlp][:archive][:extras][...]
attributes to adjust jar archive file names, checksums, and other installation options. For more information on these options, see the attributes section later in this readme. You must also set the node[:wlp][:archive][:accept_license]
attribute to true
if you agree and accept the license terms of the Liberty profile software. The jar installation fails if node[:wlp][:archive][:accept_license]
is not set to true
.
By default the cookbook is configured to use the jar installation method. The archive options are already configured with values based on developer licensed Liberty profile.
The no-fee developer licensed Liberty profile jar archive files can be downloaded from Liberty download page on WASdev site. The production licensed Liberty profile jar archive files can be obtained from IBM Passport Advantage.
When the zip installation method is used, only the node[:wlp][:zip][:url]
attribute must be set to specify the location of the zip file. The zip file is assumed to be generated by running the ./bin/server package
Liberty command with the --include=all
or --include=minify
option.
- Debian
- Ubuntu
- Centos
- Redhat
- java (>= 1.16.4)
node[:wlp][:user]
- User name under which the server is installed and runs. Defaults to"wlp"
.node[:wlp][:group]
- Group name under which the server is installed and runs. Defaults to"wlp-admin"
.node[:wlp][:install_java]
- Use thejava
cookbook to install Java. If Java is installed using a different method set it tofalse
. The Java executables must be available on the PATH. Defaults to"true"
.node[:wlp][:base_dir]
- Base installation directory. Defaults to"/opt/was/liberty"
.node[:wlp][:user_dir]
- Set user configuration directory (wlp.user.dir). Set to 'nil' to use default location. Defaults to"nil"
.node[:wlp][:install_method]
- Installation method. Set it to 'archive' or 'zip'. Defaults to"archive"
.node[:wlp][:archive][:base_url]
- Base URL location for downloading the runtime, extended, and extras Liberty profile archives. Must be set whennode[:wlp][:install_method]
is set toarchive
. Defaults to"nil"
.node[:wlp][:archive][:runtime][:url]
- URL location of the runtime archive. Defaults to"\#{node[:wlp][:archive][:base_url]}/wlp-developers-runtime-8.5.5.2.jar"
.node[:wlp][:archive][:runtime][:checksum]
- Checksum value for the runtime archive. Defaults to"d3e78cb43ab6392175807b54495bc8996ec9bc7b33cd1fc9699de3e74a9696bc"
.node[:wlp][:archive][:extended][:url]
- URL location of the extended archive. Defaults to"\#{node[:wlp][:archive][:base_url]}/wlp-developers-extended-8.5.5.2.jar"
.node[:wlp][:archive][:extended][:checksum]
- Checksum value for the extended archive. Defaults to"b4cd9ae8716073ef4c6a2181f7201a31d2c24cfd55337694f09bed7715548ca3"
.node[:wlp][:archive][:extended][:install]
- Controls whether the extended archive is downloaded and installed. Defaults to"true"
.node[:wlp][:archive][:extras][:url]
- URL location of the extras archive. Defaults to"\#{node[:wlp][:archive][:base_url]}/wlp-developers-extras-8.5.5.2.jar"
.node[:wlp][:archive][:extras][:checksum]
- Checksum value for the extras archive. Defaults to"b99a6b4e501c7c6214db49342d198d9949b60b6017f9f75692fd562295ebc11a"
.node[:wlp][:archive][:extras][:install]
- Controls whether the extras archive is downloaded and installed. Defaults to"false"
.node[:wlp][:archive][:extras][:base_dir]
- Base installation directory of the extras archive. Defaults to"\#{node[:wlp][:base_dir]}/extras"
.node[:wlp][:archive][:accept_license]
- Accept license terms when doing archive-based installation. Must be set totrue
or the installation fails. Defaults to"false"
.node[:wlp][:zip][:url]
- URL location for a zip file containing Liberty profile installation files. Must be set ifnode[:wlp][:install_method]
is set tozip
. Defaults to"nil"
.node[:wlp][:config][:basic]
- Defines a basic server configuration when creating server instances using thewlp_server
resource. Defaults to"{ ... }"
.node[:wlp][:servers][:defaultServer]
- Defines adefaultServer
server instance. Used by theserverconfig
recipe. Defaults to"{ ... }"
.
- wlp::default - Installs WebSphere Application Server Liberty Profile.
- wlp::serverconfig - Creates a Liberty profile server instance for each
node[:wlp][:servers][<server_name>]
definition.
Installs WebSphere Application Server Liberty Profile. Liberty profile can be
installed using jar archive files, or from a zip file based on the node[:wlp][:install_method]
setting.
Creates a Liberty profile server instance for each node[:wlp][:servers][<server_name>]
definition.
The following definition creates a simple airport
server instance:
node[:wlp][:servers][:airport] = {
"enabled" => true,
"description" => "Airport Demo App",
"featureManager" => {
"feature" => [ "jsp-2.2" ]
},
"httpEndpoint" => {
"id" => "defaultHttpEndpoint",
"host" => "*",
"httpPort" => "9080",
"httpsPort" => "9443"
}
}
- wlp_bootstrap_properties - Adds, removes, and sets bootstrap properties for a particular server instance.
- wlp_config - Generates a server.xml file from a hash expression.
- wlp_install_feature - Installs a feature from an enterprise subsystem archive (ESA) file.
- wlp_jvm_options - Adds, removes, and sets JVM options in an installation-wide or instance-specific jvm.options file.
- wlp_server - Provides operations for creating, starting, stopping, and destroying Liberty profile server instances.
- wlp_server_env - Adds, removes, and sets environment properties in installation-wide or instance-specific server.env file.
Adds, removes, and sets bootstrap properties for a particular server instance.
- set: Set properties in the bootstrap.properties file. Other existing properties in the file are not preserved. Default action.
- add: Adds properties to the bootstrap.properties file. Other existing properties in the file are preserved.
- remove: Removes properties from the bootstrap.properties file. Other existing properties in the file are preserved.
- server_name: Name of the server instance. Defaults to
nil
. - properties: The properties to add, remove, or set. Must be specified as a hash when adding or setting and as an array when removing. Defaults to
nil
.
wlp_bootstrap_properties "add to bootstrap.properties" do
server_name "myInstance"
properties "com.ibm.ws.logging.trace.file.name" => "trace.log"
action :add
end
wlp_bootstrap_properties "remove from bootstrap.properties" do
server_name "myInstance"
properties [ "com.ibm.ws.logging.trace.file.name" ]
action :remove
end
wlp_bootstrap_properties "set bootstrap.properties" do
properties "default.http.port" => "9081", "default.https.port" => "9444"
action :set
end
Generates a server.xml file from a hash expression.
- create: Creates or updates the server.xml file. Default action.
- create_if_missing: Creates a server.xml file only if the file does not already exist.
- file: The server.xml file to create or update. Defaults to
nil
. - config: The contents of the server.xml file expressed as a hash. Defaults to
nil
.
wlp_config "/var/servers/airport/server.xml" do
config ({
"description" => "Airport Demo App",
"featureManager" => {
"feature" => [ "jsp-2.2" ]
},
"httpEndpoint" => {
"id" => "defaultHttpEndpoint",
"host" => "*",
"httpPort" => "9080",
"httpsPort" => "9443"
}
})
end
Installs a feature from an enterprise subsystem archive (ESA) file.
- install: Installs a feature using a .esa file. Default action.
- location: Specifies the location of the ESA file to be installed. Can be a file name or a URL. Defaults to
nil
. - to: Specifies where to install the feature. The feature can be installed to any configured product extension location, or as a user feature. Defaults to
"usr"
. - accept_license: Specifies whether to accept the license terms and conditions of the feature. Defaults to
false
.
wlp_install_feature "mongodb" do
location "http://example.com/websphere/liberty/profile/com.ibm.websphere.appserver.mongodb-2.0.esa"
accept_license true
end
Adds, removes, and sets JVM options in an installation-wide or instance-specific jvm.options file.
- add: Adds JVM options to a jvm.options file. Other existing options in the file are preserved. Default action.
- remove: Removes JVM options from a jvm.options file. Other existing options in the file are preserved.
- set: Sets JVM options in a jvm.options file. Other existing options are not preserved.
- server_name: If specified, the jvm.options file in the specified server instance is updated. Otherwise, the installation-wide jvm.options file is updated. Defaults to
nil
. - options: The JVM options to add, set, or remove. Defaults to
nil
.
wlp_jvm_options "add to instance-specific jvm.options" do
server_name "myInstance"
options [ "-Djava.net.ipv4=true" ]
action :add
end
wlp_jvm_options "remove from instance-specific jvm.options" do
server_name "myInstance"
options [ "-Djava.net.ipv4=true" ]
action :remove
end
wlp_jvm_options "add to installation-wide jvm.options" do
options [ "-Xmx1024m" ]
action :add
end
wlp_jvm_options "remove from installation-wide jvm.options" do
options [ "-Xmx1024m" ]
action :remove
end
Provides operations for creating, starting, stopping, and destroying Liberty profile server instances.
- start: Creates and starts the server instance (as an OS service). Default action.
- create: Creates or updates the server instance.
- create_if_missing: Creates a server instance only if the instance does not already exist.
- destroy: Destroys the server instance.
- stop: Stops the server instance (via an OS service).
- server_name: Name of the server instance.
- config: Configuration for the server instance. If not specified,
node[:wlp][:config][:basic]
is used as the initial configuration. Defaults tonil
. - jvmOptions: Instance-specific JVM options. Defaults to
[]
. - serverEnv: Instance-specific server environment properties. Defaults to
{}
. - bootstrapProperties: Instance-specific bootstrap properties. Defaults to
{}
. - clean: Clean all cached information when starting the server instance. Defaults to
false
.
wlp_server "myInstance" do
config ({
"featureManager" => {
"feature" => [ "jsp-2.2", "jaxws-2.1" ]
},
"httpEndpoint" => {
"id" => "defaultHttpEndpoint",
"host" => "*",
"httpPort" => "9080",
"httpsPort" => "9443"
},
"application" => {
"id" => "example",
"name" => "example",
"type" => "war",
"location" => "/apps/example.war"
}
})
jvmOptions [ "-Djava.net.ipv4=true" ]
serverEnv "JAVA_HOME" => "/usr/lib/j2sdk1.7-ibm/"
bootstrapProperties "default.http.port" => "9080", "default.https.port" => "9443"
action :create
end
wlp_server "myInstance" do
clean true
action :start
end
wlp_server "myInstance" do
action :stop
end
wlp_server "myInstance" do
action :destroy
end
Adds, removes, and sets environment properties in installation-wide or instance-specific server.env file.
- set: Set environment properties in a server.env file. Other existing properties in the file are not preserved. Default action.
- add: Adds environment properties to a server.env file. Other existing properties in the file are preserved.
- remove: Removes environment properties from a server.env file. Other existing properties in the file are preserved.
- server_name: If specified, the server.env file in the specified server instance is updated. Otherwise, the installation-wide server.env file is updated. Defaults to
nil
. - properties: The properties to add, set, or remove. Must be specified as a hash when adding or setting, and as an array when removing. Defaults to
nil
.
wlp_server_env "add to instance-specific server.env" do
server_name "myInstance"
properties "JAVA_HOME" => "/usr/lib/j2sdk1.7-ibm/"
action :add
end
wlp_server_env "remove from instance-specific server.env" do
server_name "myInstance"
properties [ "JAVA_HOME" ]
action :remove
end
wlp_server_env "set installation-wide server.env" do
properties "WLP_USER_DIR" => "/var/wlp"
action :set
end
wlp_server_env "remove from installation-wide server.env" do
properties [ "WLP_USER_DIR" ]
action :remove
end
Please see our contributing guide.
Use the issue tracker for reporting any bugs or enhancements. For any questions please use the WASdev forum.
The cookbook is maintained by IBM.
© Copyright IBM Corporation 2013, 2014.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.