ibm_profile
Version information
This version is compatible with:
- Puppet Enterprise 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.7.0 < 8.0.0
- , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'enterprisemodules-ibm_profile', '1.5.0'
Learn more about managing modules with a PuppetfileDocumentation
Table of Contents
- 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.
Overview
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
Experience the Power of Puppet for IBM MQ
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.
License
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.
Description
The ibm_profile::mq_machine
class
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.
The ibm_profile::iib_machine
class
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.
Setup
Requirements
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.
We support MQ and IIB versions:
- MQ 8 all fixpacks
- MQ 9 all fixpacks
- IIB 10 fixpack 6 to 14
Installing the ibm_profile module
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
Usage
ibm_profile::mq_machine
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.
ibm_profile::iib_machine
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.
Reference
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
Limitations
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.
Changelog
All notable changes to this project will be documented in this file.
Release 1.5.0
Maintenance
- [fixpack] Update for latest version of mq_install
Release 1.4.0
Features
- [iib/mq_machine] Use generic classes for sysctl etc.
- [docs] Add Super powers link to playgrounds
Release 1.3.0
Features
- [release] Add support for puppet 7 in the metadata
- [core] added sensitive groups and users password + password generator
Bugfixes
- [mq_machine] Fix deprecation warnings
- [iib_machine] Fix deprecation warnings
Release 1.2.4
Bugfixes
- [iib_machine] Fix used group id. Use same as for MQ
Release 1.2.3
Bugfixes
- [mq_machine] Fix RHEL 8 support
- [core] Convert module to pdk module
Release 1.2.2
Bugfixes
- [software] export the package selector from mq_install
- [quality] Fix mq spec’s on Solaris and MQ
- [release] Fix double dependency Alexcline-dirtree
Release 1.2.1
Bugfixes
- [core] Fix some yaml settings
Release 1.2.0
Features
- [core] Add Solaris support
Bugfixes
None
Release 1.1.0
Features
- [release] Add support for RHEL 8 systems
- [core] Add basic AIX support
- [mq_machine] Add support for installing MQ fixpacks
Bugfixes
None
Release 1.0.0
Features
- Added the module to our CI
Bugfixes
None
Release 0.5.3
Features
None
Release 0.5.4
Features
None
Bugfixes
- [mq/authorization_setup] Fix the support for MQ authorizations
Release 0.5.3
Features
None
Bugfixes
- [release] Fix README
Release 0.5.2
Features
None
Bugfixes
- [release] Fix links in README
Release 0.5.1
Features
None
Bugfixes
- Fix README
Release 0.5.0
Features
- [documentation] Add initial documentation
- [broker_setup] Add support for managing iib credentials
- [iib_machine] Add support for server and broker properties
Bugfixes
- None
Release 0.4.0
Features
- [mq_machine/software] Use more default settings
- [mq_web] Add support for configuring MQ web
- [mq_machine/software] Add support for MQ 9.1 add-on’s
- [iib_machine] Initial commit
Bugfixes
- [messanging_setup] Fix wrong type in messaging setup
Release 0.3.0
Features
- [mq_machine] Add support for standby queue managers
Bugfixes
None
Release 0.2.0
Features
- [mq_machine] Add support for channel authorization records
- [mq_machine] Add support for authentication_info and authorization
Bugfixes
- [mq_machine] Add parameters for packages
Release 0.1.0
Features
- Install basic MQ systems
Bugfixes
None
Known Issues
- No good firewall implementation
Dependencies
- puppet-archive (>= 2.0.0 < 5.0.0)
- enterprisemodules/easy_type (>= 2.5.0 < 4.0.0)
- enterprisemodules/mq_config (>= 1.7.1 < 2.0.0)
- enterprisemodules/mq_install (>= 1.11.0 < 2.0.0)
- enterprisemodules/iib_config (>= 1.1.0 < 2.0.0)
- enterprisemodules/iib_install (>= 1.0.15 < 2.0.0)
- ipcrm-echo (>= 0.1.5 < 1.0.0)
- herculesteam-augeasproviders_core (>= 2.1.4 < 3.0.0)
- herculesteam-augeasproviders_sysctl (>= 2.2.0 < 3.0.0)
- saz-limits (>= 3.0.2 < 4.0.0)
- puppetlabs-firewall (>= 1.12.0 < 3.0.0)
- puppet-firewalld (>= 3.4.0 < 5.0.0)
- AlexCline-dirtree (>= 0.2.1 < 1.0.0)
- puppetlabs-stdlib (>= 4.25.0 < 7.0.0)