- Overview
- Experience the Power of Puppet for IBM MQ
- License
- Description - What the module does and why it is useful
- Setup
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
The ibm_profile
module allows an easy path from first simple installation to a fully customized Enterprise setup. It is part of our family of Puppet modules to install, manage IBM MQ and IBM IIB with Puppet. Besides the ibm_profile
module, this family also contains:
- mq_config For configuring IBM MQ.
- mq_install For installing IBM MQ software on Linux systems
- iib_config For configuring IBM Integration Bus on Linux systems
- iib_install For installing IBM Integration Bus on Linux systems
Installing IBM MQ software and managing your IBM MQ configuration can be hard. With Puppet at your side, you get super-powers when installing and managing IBM MQ. If you want to play and experiment with this please take a look at our playgrounds.
Most of the Enterprise Modules modules are commercial modules. This one is NOT. It is an Open Source module. You are free to use it any way you like. It, however, is based on our commercial Puppet WebLogic modules.
The ibm_profile::mq_machine
class allows you to get a full fledged MQ setup on your system in a minute. It contains all default settings needed, but you can also tweak it in a lot of ways. It contains the following stages (These are not puppet stages):
sysctl
(Set all required sysctl parameters)limits
(Set all required OS limits)packages
(Install all required packages)groups_and_users
(Create required groups and users)firewall
(Open required firewall rules)software
(Install required IBM MQ software)manager_setup
(Configure one or more MQ managers)autostart
(Ensure autostart for the MQ managers)authorization_setup
(Setup MQ authorization)messaging_setup
(Setup MQ messaging including queues, topics etc.)mq_web
(Enable MQ Web)
All these stages have a default implementation. This implementation is suitable to get started with. These classed all have parameters you can customize through hiera values. The defaults are specified in the module's data/default.yaml
file.
But sometimes this is not enough and you would like to add some extra definitions, you can, for example, add a Puppet class to be executed after the systctl
stage is done and before the limits
is done. You can do this by adding the next line to your yaml data:
ibm_profile::mq_machine::before_sysctl: my_profile::my_extra_class
or after:
ibm_profile::mq_machine::after_sysctl: my_profile::my_extra_class
If you want to, you can also skip this provided class:
ibm_profile::mq_machine::sysctl: skip
Or provide your own implementation:
ibm_profile::mq_machine::sysctl: my_profile::my_own_implementation
This mechanism can be used for all named stages and makes it easy to move from an easy setup with a running standard database to a fully customized setup using a lot of your own classes plugged in.
Besides setting up MQ, the ibm_profile
module also has support for setting up IBM Integration Bus (IIB). The ibm_profile::iib_machine
class allows you to get a full -fledged IIB setup on your system in a minute. It contains all default settings needed, but you can also tweak it in a lot of ways. It contains the following stages (These are not puppet stages):
sysctl
(Set all required sysctl parameters)limits
(Set all required OS limits)packages
(Install all required packagesgroups_and_users
(Create required groups and users)firewall
(Open required firewall rules)software
(Install required IBM MQ software)broker_setup
(Setup the IIB broker(s))server_setup
(Setup ths IIB server(s))deployments
(Manage the deployments)autostart
(Ensure autostart for the IIB brokers)
All these stages have a default implementation. This implementation is suitable to get started with. These classed all have parameters you can customize through hiera values. The defaults are specified in the module's data/default.yaml
file.
But sometimes this is not enough and you would like to add some extra definitions, you can, for example, add a Puppet class to be executed after the systctl
stage is done and before the limits
is done. You can do this by adding the next line to your yaml data:
ibm_profile::iib_machine::before_sysctl: my_profile::my_extra_class
or after:
ibm_profile::iib_machine::after_sysctl: my_profile::my_extra_class
If you want to, you can also skip this provided class:
ibm_profile::iib_machine::sysctl: skip
Or provide your own implementation:
ibm_profile::iib_machine::sysctl: my_profile::my_own_implementation
This mechanism can be used for all named stages and makes it easy to move from an easy setup with a running standard database to a fully customized setup using a lot of your own classes plugged in.
The ibm_profile
module requires:
-
Puppet module
enterprisemodules-easy_type
installed. -
Puppet module
enterprisemodules-mq_install
installed. -
Puppet module
enterprisemodules-mq_config
installed. -
Puppet module
enterprisemodules-iib_install
installed. -
Puppet module
enterprisemodules-iib_config
installed. -
Puppet version 4.10.8 or higher. Can be Puppet Enterprise or Puppet Open Source
-
A valid IBM MQ license and/or IBM Integration Bus License
-
A valid Enterprise Modules license for usage.
-
Runs on most Linux systems, AIX and Solaris
This module uses some other public Puppet forge modules. Check the metadata to ensure you have all dependencies installed.
- MQ 8 all fixpacks
- MQ 9 all fixpacks
- IIB 10 fixpack 6 to 14
To install these modules, you can use a Puppetfile
mod 'enterprisemodules/ibm_profile' ,'0.x.0'
Then use the librarian-puppet
or r10K
to install the software.
You can also install the software using the puppet module
command:
puppet module install enterprisemodules-ibm_profile
To get started, include the ibm_profile::mq_machine
class in your role, make sure you have a module called software
that has a folder files
and that directory contains the next files:
- IBM_MQ_9.0.0.0_LINUX_X86-64.tar.gz
Add the following line to the hiera data:
ibm_profile::mq_managers:
MQ01:
ensure: present
Run Puppet and you have a Server with MQ installed an MQ Queue Manager named MQ01 Check the documentation for all the settings you can manage.
To get started, include the ibm_profile::iib_machine
class in your role, make sure you have a module called software
that has a folder files
and that directory contains the next files:
- 10.0.0-IIB-LINUXX64-FP0011.tar.gz
Add the following line to the hiera data:
ibm_profile::iib_brokers:
'10.0.0.11/BROKER_01':
ensure: present
ibm_profile::iib_machine::server_setup::list:
'10.0.0.11/BROKER_01/SERVER_01':
ensure: present
Run Puppet and you have a Server with IIB Broker BROKER_01
running and server SERVER_01
running on it. Check the documentation for all the settings you can manage.
Here you can find some more information regarding this puppet module:
- The
ibm_profile
documentation - The
mq_install
documentation - The
mq_config
documentation - The
iib_install
documentation - The
iib_config
documentation
This module runs on most Linux versions, AIX and Solaris. It requires a puppet version higher than 4.10.8. The module does NOT run on windows systems.