jboss
Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
- Puppet >= 4.0.0
- Ubuntu, Debian, RedHat, CentOS
Start using this module
Add this module to your Puppetfile:
mod 'dsestero-jboss', '2.3.2'
Learn more about managing modules with a PuppetfileDocumentation
sudo #jboss
####Table of Contents
- Overview
- Module Description - What the module does and why it is useful
- Setup - The basics of getting started with jboss
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
##Overview
This is the jboss module. It provides classes and defines to install, configure, and create services for jboss instances for the versions 4, 5, 7 of JBoss-GA, WildFly-8 and WildFly-12.
##Module Description
Creates, configures and sets up the service, i.e. a server profile with all the configurations needed to use it as an independent service, for JBoss instances for the community versions:
- JBoss-4.x.y.GA
- JBoss-5.1.0.GA
- JBoss-7.1.1.Final
- WildFly-8.2.0.Final
- WildFly-12.0.0.Final
Note: at this time WildFly instances are created as standalone standard profiles.
The module takes care to set up a secondary network interface on which the instance will be listening.
The module incorporates sensible defaults so the only required parameter is the resource title that will be used as instance name.
##Setup
###What jboss affects
The module impact in various ways on the node:
- JBoss distribution and profiles are installed in
/opt
folder; - logs go in
/var/jboss/server/[instance_name]
folder; - applications specific files go in
/var/lib/jboss/apps/[appname]
folder; - a service is created in
/etc/init.d
with the namejboss-[instance_name]
and configured to start at boot; - users belonging to jboss group gain specific sudoers permissions in order to start and stop jboss services, to su to jboss user, to use basic network debug tools like netstat and nmap, and to enable/disable/launch a single run of puppet agent;
- if an IP address is specified to make the instance listening then a secondary network interface with the specified IP is configured and activated;
- an alias for the specified IP is created in the /etc/hosts file as [instance_name]-[environment];
- a script to zip and delete old logs in
/var/jboss/server/[instance_name]
folder is installed in/home/jboss/bin
and scheduled as a cron job of the jboss user; - a script to ease the management of JBoss services is installed in
/usr/local/bin
; - JBoss-4 and JBoss-5 instances will include the installation of Java-6 while Jboss-7 and WildFly-8 instances will include the installation of Java-7.
- if WildFly-8 instances are installed on a node then a symbolic link
/opt/jboss-8
is created to one of them in order to have the possibility to access the scripts in the WildFlybin
directory on a standard path (e.g. to access jboss-cli.sh in postconfig manifests).CHECK
If PuppetDB is installed the module exports two kind of resources:
- the paths to backup the configurations of the specific instances created on a given node in a given environment. (The node fqdn and the environment tag concat::fragment resources).
The module provides a class jboss::alias_jboss
that use the first above mentioned exported resource to define a utility class to add all jboss instances hostnames in the hosts file of a node.
For JBoss instances 5, 7, 8 and 12 JBoss logs will be configured with a special category 'LoggerPrestazioni' that appends to a DailyRollingFileAppender named prestazioni.log
. We use such category to log timings of the different servlets, in order to evaluate overall performances of the webapps.
In order to prevent Puppet to alter specific instance configuration files the general rule followed is to create required JBoss-instance specific configurations (like the above affecting logs) only when they are absent and leaving the files untouched if the configurations already exist.
###Setup Requirements
This modules requires the following other modules to be installed:
-
dsestero/download_uncompress
to provide the basic capability to download and unzip the JBoss distributions
-
dsestero/java
to install a suitable java development environment
-
puppetlabs/concat
to create the lines needed to configure backup
-
puppetlabs/concat
to collect informations about the instances installed on a node.
-
puppetlabs/stdlib
to use various functions and the
file_line
resource.
To make use of the exported resources mentioned in reference PuppetDB has to be installed.
###Beginning with jboss
To get a jboss instance up and running one has to install a specific version of the JBoss Community distribution and then to declare the specific instance. This is done, for example, by declarations as the following:
include jboss::jboss_8
jboss::instance_8 { 'instanceName': }
In the above example a WildFly-8 standalone instance is configured to listen on localhost (127.0.0.1) as a development (dev
) environment without creating management or jmx users.
##Usage
The basic usage is as in the following example:
include jboss::jboss_8
jboss::instance_8 { 'instanceName':
environment => 'prod',
ip => '172.16.13.15',
iface => 'eth0:8',
mgmt_user => $mgmt_user,
mgmt_passwd => $mgmt_passwd,
}
If ip
is provided but no iface
then the instance will listen on the specified ip
but no specific secondary interface will be created.
It is possible to specify additional attributes like the Xms and Xmx (start and maximum heap memory used by the instance) or the smtp configurations for the JBoss mail service:
jboss::instance_5 { 'instanceName':
profile => 'web',
ws_enabled => true,
environment => 'prod',
ip => '172.16.12.165',
iface => 'eth0:1',
jmxport => '12345',
xmx => '1024m',
mgmt_user => 'admin_user',
mgmt_passwd => 'suitable_password',
jmx_user => 'jmx_user_eg_zabbixmon',
jmx_passwd => 'suitable_jmx_password',
smtp_ip => '172.16.10.10',
smtp_domain => 'regione.vda.it',
} ->
jboss::instance_5::lib::oracle::install { 'agri1':
} ->
jboss::instance_5::lib::zk::install { 'agri1':
}
It is possible to concatenate the declarations for specific libraries as in, for example:
jboss::instance_8 { 'transito8':
environment => 'test',
mgmt_user => 'mgmt_user',
mgmt_passwd => 'mgmt_passwd',
} ->
jboss::instance_8::lib::oracle::install { 'transito8':
environment => 'test',
} ->
jboss::instance_8::lib::postgresql::install { 'transito8':
environment => 'test',
} ->
jboss::instance_8::lib::springframework::install { 'transito8':
environment => 'test',
}
For WildFly-8 instances it is possible to configure the JVM so that in case of an OutOfMemory Error a heap dump be generated in a specified location. We suggest to use a dedicated partition with enough memory to hold the dump.
###Exported resources
The exported paths to backup for a given node can be collected, for instance to configure a backup, script with a declaration like the following:
Concat::Fragment <<| target == '/usr/local/bin/backupall.sh.conf' and tag == $facts['networking']['fqdn'] |>> {
}
concat { '/usr/local/bin/backupall.sh.conf':
ensure => present,
}
The names of all instances defined on a node, one per line, are exported and the following code, that is actually part of class jboss::install can be used in case one needs such a file:
Concat::Fragment <<| target == '/usr/local/bin/jboss-instance-list.conf' and tag == $facts['networking']['fqdn'] |>> {
}
concat { '/usr/local/bin/jboss-instance-list.conf':
ensure => present,
}
Furthermore, the module provides a class jboss::alias_jboss
that uses the exported hostname alias to define a utility class that can be exploited to add all jboss instances hostnames in the hosts file of a node.
##Limitations
The module targets Debian and RedHat distributions, including Ubuntu and CentOS. Specifically, it is tested on Ubuntu 12.04 and CentOS 6.6 with 64 bit architecture, although probably it will work also on different versions and on 32 bit architecture.
Furthermore JBoss-7, WildFly-8 and WildFly-12 instances are created in standalone mode.
Due to the fact that JBoss-7, WildFly-8 and WildFly-12 instances need a postconfig
phase implemented by calling the jboss-cli.sh
script, it is necessary that the instance be up and running at that time. When Puppet just creates the instance in most cases it is not yet ready to accept connections from jboss-cli because the services are still starting. That's no problem because Puppet will complete the configuration (specified in the postconfig phase) at the subsequent run.
##Development
If you need some feature please send me a (pull) request or send me an email at: dsestero 'at' gmail 'dot' com.
Reference
Table of Contents
Classes
jboss
: Installs and set up standard directories and permissions for JBoss/WildFly AS.jboss::alias_jboss
: Adds all jboss instances ip and alias in the hosts file.jboss::config
: Configures JBoss/WildFly AS. It is intended to be called by jboss::jboss in order to: set the JBoss directories with correct ownershipjboss::install
: Sets up the system for installing JBoss/WildFly AS. It is intended to be called by jboss::jboss in order to: * create JBoss user and group;jboss::instance::dependencies
: Install dependencies (extra packages) needed for the module. At this time it installs the package +expect+. include jboss::instance::dependjboss::instance_5_uninstall
: Uninstalls JBoss-5.1.0 instance TODO To be completed and verifiedjboss::jboss_4_0_5
: Installs JBoss-4.0.5.GA.jboss::jboss_4_2_3
: Installs JBoss-4.2.3.GA.jboss::jboss_5
: Installs JBoss-5.1.0.GA.jboss::jboss_5_uninstall
: Uninstalls JBoss-5.1.0 TODO To be completed and verifiedjboss::jboss_7
: Prepares the system for installing jboss-7.1.1.Final instances by performing basic jboss configuration.jboss::jboss_8
: Prepares the system for installing wildfly-8.2.0.Final instances by performing basic jboss/wildfly configuration.jboss::params
: Defines the parameters needed for installing JBoss/WildFly instances. It is intended to be called by jboss::instance_[x] defines.jboss::wildfly_12
: Prepares the system for installing wildfly-12.0.0.Final instances by performing basic jboss/wildfly configuration.
Defined types
jboss::instance::config
: Configures a JBoss/WildFly instance. It is intended to be called by jboss::instance.jboss::instance::install
: Installs a JBoss instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance::service
: Sets up a service for a JBoss/WildFly instance. It is intended to be called by jboss::instance.jboss::instance_12
: Creates, configures and set up the service for a WildFly-12.0.0.Final instance, i.e. a server profile with all the configurations needed to ujboss::instance_12::config
: Configures a JBoss-12 instance, i.e. a server profile. It is intended to be called by jboss::instance_12.jboss::instance_12::install
: Install a JBoss-12 instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance_12::lib::oracle::install
: Utility define to copy to a specified WildFly-12.0.0 instance the Oracle driver jar module. Creates the Oracle module into the specified insjboss::instance_12::lib::oraclexa::install
: Utility define to copy to a specified WildFly-12.0.0 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both clajboss::instance_12::lib::postgresql::install
: Utility define to copy to a specified WildFly-12.0.0 instance the postgresql driver jar module. Creates the postgresql module into the specijboss::instance_12::lib::sqlserver::install
: Utility define to copy to a specified WildFly-12.0.0 instance the sqlserver driver jar module. Creates the sqlserver module into the specifijboss::instance_12::postconfig
: Configures a running JBoss-12 instance via jboss-cli. It is intended to be called by jboss::instance_8.jboss::instance_4
: Creates, configures and set up the service for a JBoss-4.0.5.GA instance, i.e. a server profile with all the configurations needed to use itjboss::instance_4::config
: Configures a JBoss-4-family instance, i.e. a server profile. It is intended to be called by jboss::instance_4.jboss::instance_4::install
: Installs a JBoss-4-family instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance_5
: Creates, configures and set up the service for a JBoss-5.1.0.GA instance, i.e. a server profile with all the configurations needed to use itjboss::instance_5::config
: Configures a JBoss-5.1.0.GA instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance_5::install
: Install a JBoss-5.1.0.GA instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance_5::lib::oracle::install
: Utility define to copy to a specified instance lib folder the Oracle driver jar. Copies the Oracle driver to the lib directory of the specifjboss::instance_5::lib::postgresql::install
: Utility define to copy to a specified instance lib folder the Postgresql driver jar. Copies the Postgresql driver to the lib directory of thjboss::instance_5::lib::sqlserver::install
: Utility define to copy to a specified instance lib folder the SqlServer driver jar. Copies the SqlServer driver to the lib directory of thejboss::instance_5::lib::zk::install
: Utility define to copy to a specified instance lib folder the zk library jars. Copies the zk libraries to the lib directory of the specifiedjboss::instance_5::persistence::oracle::install
: Utility define to add to a specified instance the Oracle persistence service for DefaultDS. Copies the Oracle persistence service fjboss::instance_7
: Creates, configures and set up the service for a JBoss-7.1.1.Final instance, i.e. a server profile with all the configurations needed to usejboss::instance_7::config
: Configures a JBoss-7 instance, i.e. a server profile. It is intended to be called by jboss::instance_7.jboss::instance_7::install
: Install a JBoss-7 instance, i.e. a server profile. It is intended to be called by jboss::instance. According to https://stackoverflow.com/qujboss::instance_7::lib::oracle::install
: Utility define to copy to a specified WildFly-7.1.1 instance the Oracle driver jar module. Creates the Oracle module into the specified instjboss::instance_7::lib::oraclexa::install
: Utility define to copy to a specified JBoss-7.1.1 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both classejboss::instance_7::lib::postgresql::install
: Utility define to copy to a specified WildFly-7.1.1 instance the postgresql driver jar module. Creates the postgresql module into the specifjboss::instance_7::lib::postgresqlxa::install
: Utility define to copy to a specified JBoss-7.1.1 instance the postgresql driver jar module. Creates the postgresql module into the specifiejboss::instance_7::lib::springframework::install
: Utility define to copy to a specified JBoss-7.1.1 instance the libraries of the Spring framework. Creates the springframework module into thjboss::instance_7::lib::sqlserver::install
: Utility define to copy to a specified WildFly-7.1.1 instance the sqlserver driver jar module. Creates the sqlserver module into the specifiejboss::instance_7::postconfig
: Configures a running JBoss-7 instance via jboss-cli. It is intended to be called by jboss::instance_7.jboss::instance_8
: Creates, configures and set up the service for a WildFly-8.2.0.Final instance, i.e. a server profile with all the configurations needed to usjboss::instance_8::config
: Configures a JBoss-8 instance, i.e. a server profile. It is intended to be called by jboss::instance_8.jboss::instance_8::install
: Install a JBoss-8 instance, i.e. a server profile. It is intended to be called by jboss::instance.jboss::instance_8::lib::oracle::install
: Utility define to copy to a specified WildFly-8.2.0 instance the Oracle driver jar module. Creates the Oracle module into the specified instjboss::instance_8::lib::oraclexa::install
: Utility define to copy to a specified WildFly-8.2.0 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both clasjboss::instance_8::lib::postgresql::install
: Utility define to copy to a specified WildFly-8.2.0 instance the postgresql driver jar module. Creates the postgresql module into the specifjboss::instance_8::lib::postgresqlxa::install
: Utility define to copy to a specified WildFly-8.2.0 instance the postgresql driver jar module. Creates the postgresql module into the specifjboss::instance_8::lib::sqlserver::install
: Utility define to copy to a specified WildFly-8.2.0 instance the sqlserver driver jar module. Creates the sqlserver module into the specifiejboss::instance_8::postconfig
: Configures a running JBoss-8 instance via jboss-cli. It is intended to be called by jboss::instance_8.jboss::jboss_4
: Installs JBoss-4. The resource title has to be an unique name identifying the JBoss installation and it could be used to specify the desired
Classes
jboss
Installs and set up standard directories and permissions for JBoss/WildFly AS.
Examples
Declaring in manifest:
include jboss
jboss::alias_jboss
Adds all jboss instances ip and alias in the hosts file.
Examples
Declaring in manifest:
class {'jboss::alias_jboss': }
jboss::config
Configures JBoss/WildFly AS.
It is intended to be called by jboss::jboss in order to:
- set the JBoss directories with correct ownership
- modify /etc/sudoers file so to allow jboss user the right to start and stop jboss instances and soffice.bin services and to query open ports with netstat and nmap
- schedule a jboss user's cron job for zipping and deleting old log files
- deploy in the +/usr/local/bin+ directory a script for restarting jboss instances
- create standard directories for logging and storing application's specific data under /var/log/jboss/server and /var/lib/jboss/apps respectively.
- modify sudoers file as to allow users belonging to the jboss group to start and stop jboss services, start and stop soffice.bin service, make su jboss.
jboss::install
Sets up the system for installing JBoss/WildFly AS.
It is intended to be called by jboss::jboss in order to:
- create JBoss user and group;
- make /opt folder group owned by jboss and group writable;
- create /home/jboss/bin folder to host some management scripts;
- according to the parameter jboss_instance_list create in /usr/local/bin a text file with all the instance names on the node, one per line.
Parameters
The following parameters are available in the jboss::install
class.
jboss_instance_list
Data type: Boolean
should a text file with all instance names on the node, one per line, be created in /usr/local/bin?
Default value: false
jboss::instance::dependencies
Install dependencies (extra packages) needed for the module.
At this time it installs the package +expect+.
include jboss::instance::dependencies
Examples
Declaring in manifest:
jboss::instance_5_uninstall
Uninstalls JBoss-5.1.0 instance TODO To be completed and verified
Parameters
The following parameters are available in the jboss::instance_5_uninstall
class.
instance_name
Data type: Any
Default value: $::instance_to_remove_name
ip
Data type: Any
Default value: $::instance_to_remove_ip
environment
Data type: Any
Default value: $::environment
jboss::jboss_4_0_5
Installs JBoss-4.0.5.GA.
Examples
Declaring in manifest:
include jboss_4_0_5
jboss::jboss_4_2_3
Installs JBoss-4.2.3.GA.
Examples
Declaring in manifest:
include jboss_4_2_3
jboss::jboss_5
Installs JBoss-5.1.0.GA.
Examples
Declaring in manifest:
include jboss_5
jboss::jboss_5_uninstall
Uninstalls JBoss-5.1.0 TODO To be completed and verified
jboss::jboss_7
Prepares the system for installing jboss-7.1.1.Final instances by performing basic jboss configuration.
Examples
Declaring in manifest:
include jboss_7
jboss::jboss_8
Prepares the system for installing wildfly-8.2.0.Final instances by performing basic jboss/wildfly configuration.
Examples
Declaring in manifest:
include jboss_8
jboss::params
Defines the parameters needed for installing JBoss/WildFly instances.
It is intended to be called by jboss::instance_[x] defines.
jboss::wildfly_12
Prepares the system for installing wildfly-12.0.0.Final instances by performing basic jboss/wildfly configuration.
Examples
Declaring in manifest:
include wildfly_12
Defined types
jboss::instance::config
Configures a JBoss/WildFly instance.
It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance::config
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance::install
Installs a JBoss instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance::install
defined type.
instance_name
Data type: Any
Default value: $title
jboss::instance::service
Sets up a service for a JBoss/WildFly instance.
It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance::service
defined type.
environment
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_12
Creates, configures and set up the service for a WildFly-12.0.0.Final instance, i.e. a server profile with all the configurations needed to use it as an independent service. Note: at this time the instance is created as a standalone standard profile.
Declares all other classes in the jboss module needed for installing a jboss server profile. Currently, these consists of jboss::instance::install, jboss::instance::config, and jboss::instance::service.
Requires:
- Class['jboss'] for installing and setting up basic jboss/wildfly environment.
- Class['java::java_8'] for installing and setting up java8-jdk.
Examples
Declaring wildfly 12 instance
jboss::instance_12 { 'fina':
environment => 'preprod',
ip => '172.16.12.11',
iface => 'eth0:2',
}
Parameters
The following parameters are available in the jboss::instance_12
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
ip
Data type: Any
Dedicated IP on which this instance will be listening. Defaults to 127.0.0.1 i.e. localhost.
Default value: '127.0.0.1'
iface
Data type: Any
Name of the secondary network interface dedicated to this instance. Defaults to +undef+, in which case a secondary network interface to bind the jboss instance is not created.
Default value: undef
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+. Note: hot code deployment is disabled in the environments +prep+ and +prod+, enabled on +dev+ and +test+.
Default value: 'dev'
distribution_name
Data type: Any
Name of the distribution bundle to download, used for installing customed distributions. Defaults to wildfly-12.0.0.Final.tar.gz
Default value: 'wildfly-12.0.0.Final.tar.gz'
jbossdirname
Data type: Any
Name of the jboss installation folder. Defaults to +wildfly-12.0.0.Final+
Default value: 'wildfly-12.0.0.Final'
xms
Data type: Any
JVM OPT for initial heap size. Defaults to +128m+.
Default value: '128m'
xmx
Data type: Any
JVM OPT for maximum heap size. Defaults to +512m+.
Default value: '512m'
max_perm_size
Data type: Any
JVM OPT for max permanent generations size. Defaults to +256m+.
Default value: '256m'
stack_size
Data type: Any
JVM OPT for stack size. Defaults to +2048k+.
Default value: '2048k'
mgmt_user
Data type: Any
Management user username. Defaults to +undef+, in which case a management user is not created.
Default value: undef
mgmt_passwd
Data type: Any
Management user password. Defaults to +undef+.
Default value: undef
backup_conf_target
Data type: Any
Full pathname of the backup configuration file where the instance paths to backup are added. Defaults to /usr/local/bin/backupall.sh.conf.
Default value: '/usr/local/bin/backupall.sh.conf'
jboss::instance_12::config
Configures a JBoss-12 instance, i.e. a server profile. It is intended to be called by jboss::instance_12.
Parameters
The following parameters are available in the jboss::instance_12::config
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
xms
Data type: Any
xmx
Data type: Any
max_perm_size
Data type: Any
stack_size
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
java_home
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_12::install
Install a JBoss-12 instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance_12::install
defined type.
environment
Data type: Any
jbossdirname
Data type: Any
distribution_name
Data type: Any
backup_conf_target
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_12::lib::oracle::install
Utility define to copy to a specified WildFly-12.0.0 instance the Oracle driver jar module.
Creates the Oracle module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_12::lib::oracle::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_12::lib::oracle::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_12::lib::oraclexa::install
Utility define to copy to a specified WildFly-12.0.0 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both classes for standard and XA access, hence for convenience of implementation installing oraclexa automatically sets up also the oracle standard driver. If you try to install both oracle and oraclexa you will get a resource duplication error (the module.xml file is the same, although with different content!)
Creates the Oracle XA module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_12::lib::oraclexa::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_12::lib::oraclexa::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_12::lib::postgresql::install
Utility define to copy to a specified WildFly-12.0.0 instance the postgresql driver jar module.
Creates the postgresql module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_12::lib::postgresql::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_12::lib::postgresql::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
driver
Data type: Any
Name of the driver file to use. Defaults to postgresql-42.2.5.jar that is JDBC 4.2 compliant (recommended for jre8).
Default value: 'postgresql-42.2.5.jar'
jboss::instance_12::lib::sqlserver::install
Utility define to copy to a specified WildFly-12.0.0 instance the sqlserver driver jar module.
Creates the sqlserver module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_12::lib::sqlserver::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_12::lib::sqlserver::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
jboss::instance_12::postconfig
Configures a running JBoss-12 instance via jboss-cli. It is intended to be called by jboss::instance_8.
Parameters
The following parameters are available in the jboss::instance_12::postconfig
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_4
Creates, configures and set up the service for a JBoss-4.0.5.GA instance, i.e. a server profile with all the configurations needed to use it as an independent service.
== Actions:
Declares all other classes in the jboss module needed for installing a jboss server profile. Currently, these consists of jboss::instance::install, jboss::instance::config, and jboss::instance::service.
== Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Class['java::java_6'] for installing and setting up java6-jdk.
Examples
Declaring jboss 4 instance
jboss::instance_4 { 'fina':
profile => 'all',
environment => 'preprod',
ip => '172.16.12.11',
iface => 'eth0:2',
jmxport => '12345',
}
Parameters
The following parameters are available in the jboss::instance_4
defined type.
instance_name
Data type: Any
name of the JBoss profile and associated service corresponding to this instance.
Default value: $title
version
Data type: Any
JBoss version. It has to be a three number string denoting a specific version in the JBoss-4 family.
profile
Data type: Any
name of the standard JBoss profile from which this one is derived. As of JBoss-4.0.5.GA different profiles are provided with a different level of services made available; they are: +minimal+, +web+, +default+, +all+.
Default value: 'default'
ip
Data type: Any
dedicated IP on which this instance will be listening.
Default value: '127.0.0.1'
iface
Data type: Any
name of the secondary network interface dedicated to this instance. When the value is +undef+, a secondary network interface to bind the jboss instance is not created.
Default value: undef
environment
Data type: Any
abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Note: hot code deployment is disabled in the environments +prep+ and +prod+, enabled on +dev+ and +test+.
Default value: 'dev'
jmxport
Data type: Any
JMX port to use to monitor this instance. When the value is +no_port+, no JMX monitoring is activated.
Default value: 'no_port'
xms
Data type: Any
JVM OPT for initial heap size.
Default value: '128m'
xmx
Data type: Any
JVM OPT for maximum heap size.
Default value: '512m'
max_perm_size
Data type: Any
JVM OPT for max permanent generations size.
Default value: '256m'
stack_size
Data type: Any
JVM OPT for stack size.
Default value: '1024k'
mgmt_user
Data type: Any
management user username. When the value is +undef+, no security is enforced on the JBoss console.
Default value: undef
mgmt_passwd
Data type: Any
management user password.
Default value: undef
jmx_user
Data type: Any
JMX user username.
Default value: undef
jmx_passwd
Data type: Any
JMX user password.
Default value: undef
backup_conf_target
Data type: Any
full pathname of the backup configuration file where the instance paths to backup are added.
Default value: '/usr/local/bin/backupall.sh.conf'
ws_enabled
Data type: Any
Default value: false
jboss::instance_4::config
Configures a JBoss-4-family instance, i.e. a server profile. It is intended to be called by jboss::instance_4.
Parameters
The following parameters are available in the jboss::instance_4::config
defined type.
version
Data type: Any
profile
Data type: Any
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jmxport
Data type: Any
xms
Data type: Any
xmx
Data type: Any
max_perm_size
Data type: Any
stack_size
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
jmx_user
Data type: Any
jmx_passwd
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_4::install
Installs a JBoss-4-family instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance_4::install
defined type.
version
Data type: Any
profile
Data type: Any
environment
Data type: Any
backup_conf_target
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_5
Creates, configures and set up the service for a JBoss-5.1.0.GA instance, i.e. a server profile with all the configurations needed to use it as an independent service.
Declares all other classes in the jboss module needed for installing a jboss server profile. Currently, these consists of jboss::instance::install, jboss::instance::config, and jboss::instance::service.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Class['java::java_6'] for installing and setting up java6-jdk.
Examples
Declaring jboss 5 instance
jboss::instance { 'fina':
profile => 'all',
environment => 'preprod',
ip => '172.16.12.11',
iface => 'eth0:2',
jmxport => '12345',
}
Parameters
The following parameters are available in the jboss::instance_5
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
profile
Data type: Any
Name of the standard JBoss profile from which this one is derived. As of JBoss-5.1.0.GA different profiles are provided with a different level of services made available; they are: +minimal+, +web+, +default+, +all+. Defaults to +default+.
Default value: 'default'
ip
Data type: Any
Dedicated IP on which this instance will be listening. Defaults to 127.0.0.1 i.e. localhost.
Default value: '127.0.0.1'
iface
Data type: Any
Name of the secondary network interface dedicated to this instance. Defaults to +undef+, in which case a secondary network interface to bind the jboss instance is not created.
Default value: undef
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+. Note: hot code deployment is disabled in the environments +prep+ and +prod+, enabled on +dev+ and +test+.
Default value: 'dev'
jmxport
Data type: Any
JMX port to use to monitor this instance. Defaults to +no_port+, in which case no JMX monitoring is activated.
Default value: 'no_port'
ws_enabled
Data type: Any
enable web services on the profile
true
deploy a web profile enabled for jbossws.
false
(Default) do not deploy web services infrastructure.
Default value: false
xms
Data type: Any
JVM OPT for initial heap size. Defaults to +128m+.
Default value: '128m'
xmx
Data type: Any
JVM OPT for maximum heap size. Defaults to +512m+.
Default value: '512m'
max_perm_size
Data type: Any
JVM OPT for max permanent generations size. Defaults to +256m+.
Default value: '256m'
stack_size
Data type: Any
JVM OPT for stack size. Defaults to +2048k+.
Default value: '2048k'
extra_jvm_pars
Data type: Any
extra JVM OPTS. Defaults to ''.
Default value: ''
mgmt_user
Data type: Any
Management user username. Defaults to +undef+, in which case no security is enforced on the JBoss console.
Default value: undef
mgmt_passwd
Data type: Any
Management user password. Defaults to +undef+.
Default value: undef
jmx_user
Data type: Any
JMX user username. Defaults to +undef+.
Default value: undef
jmx_passwd
Data type: Any
JMX user password. Defaults to +undef+.
Default value: undef
smtp_ip
Data type: Any
IP of the smtp server used by the JBoss mail service. Defaults to +undef+, in which case the mail service is not configured.
Default value: undef
smtp_port
Data type: Any
Port of the smtp server used by the JBoss mail service. Defaults to +25+.
Default value: '25'
smtp_domain
Data type: Any
What will appear as default sender domain of the emails sent by the JBoss mail service. Defaults to nosuchhost.nosuchdomain.com.
Default value: 'nosuchhost.nosuchdomain.com'
backup_conf_target
Data type: Any
Full pathname of the backup configuration file where the instance paths to backup are added. Defaults to /usr/local/bin/backupall.sh.conf.
Default value: '/usr/local/bin/backupall.sh.conf'
jboss::instance_5::config
Configures a JBoss-5.1.0.GA instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance_5::config
defined type.
version
Data type: Any
profile
Data type: Any
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jmxport
Data type: Any
xms
Data type: Any
xmx
Data type: Any
max_perm_size
Data type: Any
stack_size
Data type: Any
extra_jvm_pars
Data type: Any
ws_enabled
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
jmx_user
Data type: Any
jmx_passwd
Data type: Any
smtp_ip
Data type: Any
smtp_port
Data type: Any
smtp_sender
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_5::install
Install a JBoss-5.1.0.GA instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance_5::install
defined type.
profile
Data type: Any
environment
Data type: Any
backup_conf_target
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_5::lib::oracle::install
Utility define to copy to a specified instance lib folder the Oracle driver jar.
Copies the Oracle driver to the lib directory of the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
corresponding to this instance. Defaults to the resource title.
Examples
Declaring in manifest:
jboss::instance::lib::oracle::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_5::lib::oracle::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
jboss::instance_5::lib::postgresql::install
Utility define to copy to a specified instance lib folder the Postgresql driver jar.
Copies the Postgresql driver to the lib directory of the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
corresponding to this instance. Defaults to the resource title.
Examples
Declaring in manifest:
jboss::instance::lib::postgresql::install {'agri2':
}
Parameters
The following parameters are available in the jboss::instance_5::lib::postgresql::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
jboss::instance_5::lib::sqlserver::install
Utility define to copy to a specified instance lib folder the SqlServer driver jar.
Copies the SqlServer driver to the lib directory of the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
Examples
Declaring in manifest:
jboss::instance::lib::sqlserver::install {'cultura':
}
Parameters
The following parameters are available in the jboss::instance_5::lib::sqlserver::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
jboss::instance_5::lib::zk::install
Utility define to copy to a specified instance lib folder the zk library jars.
Copies the zk libraries to the lib directory of the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the libraries have to be copied.
Examples
Declaring in manifest:
jboss::instance::lib::zk::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_5::lib::zk::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
jboss::instance_5::persistence::oracle::install
Utility define to add to a specified instance the Oracle persistence service for DefaultDS.
Copies the Oracle persistence service file to the deploy/messaging directory of the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
address of the rdbms, the port number, and the SID separated by colon.
Examples
Declaring in manifest:
jboss::instance::persistence::oracle::install {'sani':
conn_url_suffix => '172.16.4.91:1523:RAVDASVL',
conn_url_username => 'sani',
conn_url_password => 'sani',
}
Parameters
The following parameters are available in the jboss::instance_5::persistence::oracle::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
conn_url_suffix
Data type: Any
Suffix of the connection url string, containing the ip
conn_url_username
Data type: Any
Username for accessing the rdbms.
conn_url_password
Data type: Any
Password for accessing the rdbms.
jboss::instance_7
Creates, configures and set up the service for a JBoss-7.1.1.Final instance, i.e. a server profile with all the configurations needed to use it as an independent service. Note: at this time the instance is created as a standalone standard profile.
Declares all other classes in the jboss module needed for installing a jboss server profile. Currently, these consists of jboss::instance::install, jboss::instance::config, and jboss::instance::service.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Class['java::java_7'] for installing and setting up java7-jdk.
Examples
Declaring jboss 7 instance
jboss::instance_7 { 'fina':
environment => 'preprod',
ip => '172.16.12.11',
iface => 'eth0:2',
jmxport => '12345',
}
Parameters
The following parameters are available in the jboss::instance_7
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
ip
Data type: Any
Dedicated IP on which this instance will be listening. Defaults to 127.0.0.1 i.e. localhost.
Default value: '127.0.0.1'
iface
Data type: Any
Name of the secondary network interface dedicated to this instance. Defaults to +undef+, in which case a secondary network interface to bind the jboss instance is not created.
Default value: undef
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+. Note: hot code deployment is disabled in the environments +prep+ and +prod+, enabled on +dev+ and +test+.
Default value: 'dev'
distribution_name
Data type: Any
Name of the distribution bundle to download, used for installing customed distributions. Defaults to jboss-as-7.1.1.Final.zip
Default value: 'jboss-as-7.1.1.Final.zip'
jbossdirname
Data type: Any
Name of the jboss installation folder. Defaults to +jboss-as-7.1.1.Final+
Default value: 'jboss-as-7.1.1.Final'
xms
Data type: Any
JVM OPT for initial heap size. Defaults to +128m+.
Default value: '128m'
xmx
Data type: Any
JVM OPT for maximum heap size. Defaults to +512m+.
Default value: '512m'
max_perm_size
Data type: Any
JVM OPT for max permanent generations size. Defaults to +256m+.
Default value: '256m'
stack_size
Data type: Any
JVM OPT for stack size. Defaults to +2048k+.
Default value: '2048k'
mgmt_user
Data type: Any
Management user username. Defaults to +undef+, in which case a management user is not created.
Default value: undef
mgmt_passwd
Data type: Any
Management user password. Defaults to +undef+.
Default value: undef
jmx_user
Data type: Any
JMX user username. Defaults to +undef+, in which case a management user is not created.
Default value: undef
jmx_passwd
Data type: Any
JMX user password. Defaults to +undef+.
Default value: undef
backup_conf_target
Data type: Any
Full pathname of the backup configuration file where the instance paths to backup are added. Defaults to /usr/local/bin/backupall.sh.conf.
Default value: '/usr/local/bin/backupall.sh.conf'
jboss::instance_7::config
Configures a JBoss-7 instance, i.e. a server profile. It is intended to be called by jboss::instance_7.
Parameters
The following parameters are available in the jboss::instance_7::config
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
xms
Data type: Any
xmx
Data type: Any
max_perm_size
Data type: Any
stack_size
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
jmx_user
Data type: Any
jmx_passwd
Data type: Any
java_home
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_7::install
Install a JBoss-7 instance, i.e. a server profile. It is intended to be called by jboss::instance.
According to https://stackoverflow.com/questions/48403832/javax-xml-parsers-factoryconfigurationerror-running-jboss-as-7-1-with-java-7-upd/48561492#48561492 the +jboss-modules.jar+ in the JBoss installation folder is replaced with a more recent (1.1.5.GA) version. The version of jboss-modules which comes with jboss-7.1.1.Final is 1.1.1.GA and it has a few issues with initialisation order and multiple-initialisation.
Parameters
The following parameters are available in the jboss::instance_7::install
defined type.
environment
Data type: Any
jbossdirname
Data type: Any
distribution_name
Data type: Any
backup_conf_target
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_7::lib::oracle::install
Utility define to copy to a specified WildFly-7.1.1 instance the Oracle driver jar module.
Creates the Oracle module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_7::lib::oracle::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::oracle::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_7::lib::oraclexa::install
Utility define to copy to a specified JBoss-7.1.1 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both classes for standard and XA access, hence for convenience of implementation installing oraclexa automatically sets up also the oracle standard driver. If you try to install both oracle and oraclexa you will get a resource duplication error (the module.xml file is the same, although with different content!)
Creates the Oracle XA module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_7::lib::oraclexa::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::oraclexa::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_7::lib::postgresql::install
Utility define to copy to a specified WildFly-7.1.1 instance the postgresql driver jar module.
Creates the postgresql module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_7::lib::postgresql::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::postgresql::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
driver
Data type: Any
Name of the driver file to use. Defaults to postgresql-42.2.5.jre7.jar that is JDBC 4.1 compliant (recommended for jre7).
Default value: 'postgresql-42.2.5.jre7.jar'
jboss::instance_7::lib::postgresqlxa::install
Utility define to copy to a specified JBoss-7.1.1 instance the postgresql driver jar module.
Creates the postgresql module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_7::lib::postgresqlxa::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::postgresqlxa::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
driver
Data type: Any
Name of the driver file to use. Defaults to postgresql-42.2.5.jre7.jar that is JDBC 4.1 compliant (recommended for jre7).
Default value: 'postgresql-42.2.5.jre7.jar'
jboss::instance_7::lib::springframework::install
Utility define to copy to a specified JBoss-7.1.1 instance the libraries of the Spring framework.
Creates the springframework module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_7::lib::springframework::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::springframework::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
jboss::instance_7::lib::sqlserver::install
Utility define to copy to a specified WildFly-7.1.1 instance the sqlserver driver jar module.
Creates the sqlserver module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_7::lib::sqlserver::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_7::lib::sqlserver::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
jboss::instance_7::postconfig
Configures a running JBoss-7 instance via jboss-cli. It is intended to be called by jboss::instance_7.
Parameters
The following parameters are available in the jboss::instance_7::postconfig
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_8
Creates, configures and set up the service for a WildFly-8.2.0.Final instance, i.e. a server profile with all the configurations needed to use it as an independent service. Note: at this time the instance is created as a standalone standard profile.
Declares all other classes in the jboss module needed for installing a jboss server profile. Currently, these consists of jboss::instance::install, jboss::instance::config, and jboss::instance::service.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Class['java::java_7'] for installing and setting up java7-jdk.
Examples
Declaring jboss 8 instance
jboss::instance_8 { 'fina':
environment => 'preprod',
ip => '172.16.12.11',
iface => 'eth0:2',
jmxport => '12345',
}
Parameters
The following parameters are available in the jboss::instance_8
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
ip
Data type: Any
Dedicated IP on which this instance will be listening. Defaults to 127.0.0.1 i.e. localhost.
Default value: '127.0.0.1'
iface
Data type: Any
Name of the secondary network interface dedicated to this instance. Defaults to +undef+, in which case a secondary network interface to bind the jboss instance is not created.
Default value: undef
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+. Note: hot code deployment is disabled in the environments +prep+ and +prod+, enabled on +dev+ and +test+.
Default value: 'dev'
distribution_name
Data type: Any
Name of the distribution bundle to download, used for installing customed distributions. Defaults to wildfly-8.2.0.Final.tar.gz
Default value: 'wildfly-8.2.0.Final.tar.gz'
jbossdirname
Data type: Any
Name of the jboss installation folder. Defaults to +wildfly-8.2.0.Final+
Default value: 'wildfly-8.2.0.Final'
xms
Data type: Any
JVM OPT for initial heap size. Defaults to +128m+.
Default value: '128m'
xmx
Data type: Any
JVM OPT for maximum heap size. Defaults to +512m+.
Default value: '512m'
max_perm_size
Data type: Any
JVM OPT for max permanent generations size. Defaults to +256m+.
Default value: '256m'
stack_size
Data type: Any
JVM OPT for stack size. Defaults to +2048k+.
Default value: '2048k'
heapDumpOnOOM
Data type: Any
requires to add to the launcher a couple of options so that the JVM would produce a dump if an OutOfMemoryError is produced. Defaults to false.
Default value: false
heapDumpPath
Data type: Any
specifies the folder where to save the heap dumps (that are in HPROF binary format). Defaults to '/dump'. We suggest to use a dedicated partition with enough memory to hold the dump.
Default value: '/dump'
mgmt_user
Data type: Any
Management user username. Defaults to +undef+, in which case a management user is not created.
Default value: undef
mgmt_passwd
Data type: Any
Management user password. Defaults to +undef+.
Default value: undef
backup_conf_target
Data type: Any
Full pathname of the backup configuration file where the instance paths to backup are added. Defaults to /usr/local/bin/backupall.sh.conf.
Default value: '/usr/local/bin/backupall.sh.conf'
jboss::instance_8::config
Configures a JBoss-8 instance, i.e. a server profile. It is intended to be called by jboss::instance_8.
Parameters
The following parameters are available in the jboss::instance_8::config
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
xms
Data type: Any
xmx
Data type: Any
max_perm_size
Data type: Any
stack_size
Data type: Any
heapDumpOnOOM
Data type: Any
heapDumpPath
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
java_home
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_8::install
Install a JBoss-8 instance, i.e. a server profile. It is intended to be called by jboss::instance.
Parameters
The following parameters are available in the jboss::instance_8::install
defined type.
environment
Data type: Any
jbossdirname
Data type: Any
distribution_name
Data type: Any
backup_conf_target
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::instance_8::lib::oracle::install
Utility define to copy to a specified WildFly-8.2.0 instance the Oracle driver jar module.
Creates the Oracle module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_8::lib::oracle::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_8::lib::oracle::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_8::lib::oraclexa::install
Utility define to copy to a specified WildFly-8.2.0 instance the OracleXA driver jar module. Notice: the oracle driver jar contains both classes for standard and XA access, hence for convenience of implementation installing oraclexa automatically sets up also the oracle standard driver. If you try to install both oracle and oraclexa you will get a resource duplication error (the module.xml file is the same, although with different content!)
Creates the Oracle XA module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
Examples
Declaring in manifest:
jboss::instance_8::lib::oraclexa::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_8::lib::oraclexa::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are +dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Default value: 'dev'
jboss::instance_8::lib::postgresql::install
Utility define to copy to a specified WildFly-8.2.0 instance the postgresql driver jar module.
Creates the postgresql module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_8::lib::postgresql::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_8::lib::postgresql::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
driver
Data type: Any
Name of the driver file to use. Defaults to postgresql-42.2.5.jre7.jar that is JDBC 4.1 compliant (recommended for jre7).
Default value: 'postgresql-42.2.5.jre7.jar'
jboss::instance_8::lib::postgresqlxa::install
Utility define to copy to a specified WildFly-8.2.0 instance the postgresql driver jar module.
Creates the postgresql module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
corresponding to this instance. Defaults to the resource title.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_8::lib::postgresqlxa::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_8::lib::postgresqlxa::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
driver
Data type: Any
Name of the driver file to use. Defaults to postgresql-42.2.5.jre7.jar that is JDBC 4.1 compliant (recommended for jre7).
Default value: 'postgresql-42.2.5.jre7.jar'
jboss::instance_8::lib::sqlserver::install
Utility define to copy to a specified WildFly-8.2.0 instance the sqlserver driver jar module.
Creates the sqlserver module into the specified instance.
Requires:
- Class['jboss'] for installing and setting up basic jboss environment.
- Some defined instance to which the driver has to be copied.
- The specified instance has to be up and running.
+dev+, +test+, +prep+, +prod+. Defaults to +dev+.
Examples
Declaring in manifest:
jboss::instance_8::lib::sqlserver::install {'agri1':
}
Parameters
The following parameters are available in the jboss::instance_8::lib::sqlserver::install
defined type.
instance_name
Data type: Any
Name of the JBoss profile and associated service corresponding to this instance. Defaults to the resource title.
Default value: $title
environment
Data type: Any
Abbreviation identifying the environment: valid values are
Default value: 'dev'
jboss::instance_8::postconfig
Configures a running JBoss-8 instance via jboss-cli. It is intended to be called by jboss::instance_8.
Parameters
The following parameters are available in the jboss::instance_8::postconfig
defined type.
ip
Data type: Any
iface
Data type: Any
environment
Data type: Any
jbossdirname
Data type: Any
mgmt_user
Data type: Any
mgmt_passwd
Data type: Any
instance_name
Data type: Any
Default value: $title
jboss::jboss_4
Installs JBoss-4. The resource title has to be an unique name identifying the JBoss installation and it could be used to specify the desired version. Supported versions are: 4.0.0, 4.0.2, 4.0.4, 4.0.5, 4.2.0, 4.2.1, 4.2.2, 4.2.3.
The main actions performed are:
- Download of the distribution from SourceForge and
- Unzip of the distribution under /opt.
Note that the download of the distribution takes place only if the distribution is not present in /tmp and the distribution was not yet unzipped.
Examples
Declaring a 4.0.5 instance:
jboss_4 {'4.0.5':}
Parameters
The following parameters are available in the jboss::jboss_4
defined type.
version
Data type: Any
JBoss version. It has to be a three number string denoting a specific version in the JBoss-4 family. Defaults to the resource title.
Default value: undef
jdksuffix
Data type: Any
The string indicating the possible suffix of the filename to specify the jdk used to compile the distribution. Defaults to ''.
Default value: ''
##2018-12-17 - Release - 2.3.2 ###Summary Added possibility to specify driver parameter for postgresql and postgresqlxa to instance_12. ###Bugfixes Use of recommended postgresql driver (JDBC 4.2) as default for instance_12.
##2018-12-07 - Release - 2.3.1 ###Summary ###Bugfixes Fixed syntax error affecting postgresqlxa driver on instance_8.
##2018-11-26 - Release - 2.3.0 ###Summary Added possibility to specify driver parameter for postgresql and postgresqlxa to instance_7 and instance_8.
##2018-11-22 - Release - 2.2.2 ###Summary ###Bugfixes Fixed creation of JBoss-7.1.1 instances: now the original library jboss-module.jar in the root of the a.s. is renamed jboss-module.jar.1 and a newer version, working with the latest jdk-7 updates is put in place.
##2018-11-19 - Release - 2.2.1 ###Summary ###Bugfixes Accepted PR from tealecloud to qualify cp paths during creation of JBoss-4 and JBoss-5 profiles. Fixed creation of JBoss-7.1.1 instances: now takes into consideration the need of upgrading jboss-module.jar library in the root of the a.s.
##2018-09-26 - Release - 2.2.0 ###Summary Added possibility to produce heap dump on OOM Error for WildFly-8 instances.
##2018-08-27 - Release - 2.1.2 ###Summary Revised all classes involved in creating JBoss-7.1.1 instances.
##2018-08-16 - Release - 2.1.1 ###Summary All documentation written using Puppet Strings. Added REFERENCE.md file generated from Puppet Strings.
##2018-07-23 - Release - 2.1.0 ###Summary Added possibility to configure WildFly-12 instances.
##2018-01-09 - Release - 2.0.0 ###Summary Full revision of all WildFly-8 related code to comply with Puppet 4/5 new recommended style. Some Italian strings left in comments translated to English. WildFly-8 related code no more compatible with Puppet 3.
####Bugfixes
Some bugs in the grep expressions used to catch the running instance pid in the management script (manage-jboss-instance
) have been fixed.
##2017-03-30 - Release - 1.2.2 ###Summary Added post-configuration of WildFly 8 instances to work around the memory leak bug when using JMX interface (see https://developer.jboss.org/thread/265837)
##2016-11-22 - Release - 1.2.1 ###Summary Fixed: the script manage-jboss-instance now works also on RedHat distributions. The solution has been to move the file listing all jboss/wildfly instances on a node from /home/jboss/bin to /usr/local/bin; in this way it is accessible to the script manage-jboss-instances on RedHat distributions, without the need to change the default permissions on /home/jboss folder.
##2016-11-10 - Release - 1.2.0 ###Summary Added support for RedHat and CentOS distributions. Removed support for Ubuntu 10.04. Removed restriction on specific Ubuntu version.
##2015-07-12 - Release - 1.1.1 ###Summary Fixed puppet version requirement in metadata according to parser validation.
##2015-07-12 - Release - 1.1.0
###Summary
Extended the instance management script (manage-jboss-instance
) to work not only with JBoss-5 instances but also with WildFly-8 standalone instances.
Added capability to install XA driver for Oracle and PostgreSQL databases on WildFly-8 instances.
Extended to find correct java home location also on 32 bit architectures.
Improved documentation regarding exported resources.
Tested with Puppet 4.
Fixed bug on installation path of JBoss-4 instances.
Fixed bug on installation path of JBoss-7 instances.
##2015-06-15 - Release - 1.0.8 ###Summary Fixed a bug with WildFly-8 instances JMX post configuration.
####Bugfixes Version 1.0.6 introduced a regression in the JMX postconfiguration phase of WildFly-8 instances where the operation is repeated at every Puppet run and causes an error of duplicated resource to arise.
##2015-05-25 - Release - 1.0.7 ###Summary The script myjboss-cli.sh in the bin folder of WildFly-8 instances is created with 0755 permissions (previously was 0700).
##2015-05-21 - Release - 1.0.6 ###Summary On WildFly-8 the JMX monitoring is done via the http 9990 port, using the management user. So the 7777 port binding is not needed anymore as not needed is the JMX user creation.
####Bugfixes In the postconfig phase of WildFly-8 instances, the attribute use-management-endpoint of the subsystem jmx/remoting-connector=jmx is no more set to false, allowing JMX connection to the application server.
##2015-05-04 - Release - 1.0.5 - 1.0.4 ###Summary Improved documentation, license changed from CC-BY-SA-4.0 to Apache-2.0.
####Bugfixes Updated changelog; it was forgotten in version 1.0.4
##2015-04-27 - Release - 1.0.3 ###Summary Links in documentation should now work.
##2015-04-27 - Release - 1.0.2 ###Summary Improved documentation.
####Bugfixes Corrected SQLServer driver installation on WildFly-8 instances.
##2015-04-22 - Release - 1.0.1 ###Summary Code polishing to be more compliant with puppet-lint suggestions.
####Bugfixes
Remove unused ws_enabled
parameter from the define instance_4, instance_7, instance_8.
####Known bugs
- No known bugs
##2015-04-21 - Release - 1.0.0 ###Summary Initial release as PuppetForge module of a work consolidated during the last two years.
####Features See the README.markdown
####Bugfixes
####Known bugs
- No known bugs
Dependencies
- dsestero/download_uncompress (1.5.x)
- dsestero/java (1.x)
- puppetlabs/concat (2.x)
- puppetlabs/stdlib (4.x)
Copyright (C) 2015 Dario Sestero Dario Sestero can be contacted at: dsestero 'at' gmail 'dot' com 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.