ibm_profile
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.7.0 < 9.0.0
- , , , , , ,
Start using this module
Add this module to your Puppetfile:
mod 'enterprisemodules-ibm_profile', '1.8.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.
Reference
Table of Contents
Classes
ibm_profile
: ibm_profile See the file "LICENSE" for the full license governing this code.ibm_profile::iib_machine
: Besides setting up MQ, theibm_profile
module also has support for setting up IBM Integration Bus (IIB).ibm_profile::iib_machine::autostart
: This class enables autostart for the specfied brokers.ibm_profile::iib_machine::broker_setup
: This class allows you to setup your IIB broker configuration.ibm_profile::iib_machine::deployments
: ibm_profile::iib_machine::deployments This class allows you to setup your IIB deployments. Use use ayaml
representation of [iib_deploymenibm_profile::iib_machine::server_setup
: This class allows you to setup your IIB server configuration.ibm_profile::iib_machine::software
: This class allows you to setup your IIB software on your system.ibm_profile::mq_machine
: ## Theibm_profile::mq_machine
classibm_profile::mq_machine::authorization_setup
: This class allows you to setup your MQ messaging security.ibm_profile::mq_machine::autostart
: This class enables autostart for the specfied MQ managers.ibm_profile::mq_machine::fixpack
: This class allows you to install a certain fixpackibm_profile::mq_machine::manager_setup
: This class allows you to setup your MQ manager configuration.ibm_profile::mq_machine::messaging_setup
: This class allows you to setup your MQ messaging setup.ibm_profile::mq_machine::mq_web
: This class allows you to setup your MQ web configuration.ibm_profile::mq_machine::software
: This class allows you to setup your IIB software on your system.ibm_profile::mq_machine::sysctl
: This class is the default implementation for making sure the OS sysctl settings on your system are set correctly for MQ.
Classes
ibm_profile
ibm_profile
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile
class:
mq_os_user
Data type: String[1]
mq_os_group
Data type: String[1]
iib_os_user
Data type: String[1]
iib_os_group
Data type: String[1]
source_location
Data type: String[1]
mq_managers
Data type: Hash
ibm_profile::iib_machine
ibm_profile::iib_machine
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.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine
class:
before_sysctl
before_limits
before_groups_and_users
before_packages
before_firewall
before_software
before_broker_setup
before_server_setup
before_deployments
before_autostart
sysctl
limits
groups_and_users
packages
firewall
software
server_setup
broker_setup
deployments
autostart
after_sysctl
after_limits
after_groups_and_users
after_packages
after_firewall
after_software
after_broker_setup
after_server_setup
after_deployments
after_autostart
before_sysctl
Data type: Optional[String]
The name of the class you want to execute directly before the sysctl
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_sysctl: my_module::my_class
Default value: undef
before_limits
Data type: Optional[String]
The name of the class you want to execute directly before the limits
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_limits: my_module::my_class
Default value: undef
before_groups_and_users
Data type: Optional[String]
The name of the class you want to execute directly before the groups_and_users
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_groups_and_users: my_module::my_class
Default value: undef
before_packages
Data type: Optional[String]
The name of the class you want to execute directly before the packages
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_packages: my_module::my_class
Default value: undef
before_firewall
Data type: Optional[String]
The name of the class you want to execute directly before the firewall
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_firewall: my_module::my_class
Default value: undef
before_software
Data type: Optional[String]
The name of the class you want to execute directly before the software
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_software: my_module::my_class
Default value: undef
before_broker_setup
Data type: Optional[String]
The name of the class you want to execute directly before the broker_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_broker_setup: my_module::my_class
Default value: undef
before_server_setup
Data type: Optional[String]
The name of the class you want to execute directly before the server_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_server_setup: my_module::my_class
Default value: undef
before_deployments
Data type: Optional[String]
The name of the class you want to execute directly before the deployments
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_deployments: my_module::my_class
Default value: undef
before_autostart
Data type: Optional[String]
The name of the class you want to execute directly before the autostart
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::before_autostart: my_module::my_class
Default value: undef
sysctl
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage sysctl
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::sysctl: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::sysctl: skip
Default value: undef
limits
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage limits
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::limits: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::limits: skip
Default value: undef
groups_and_users
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage groups_and_users
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::groups_and_users: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::groups_and_users: skip
Default value: undef
packages
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage packages
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::packages: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::packages: skip
Default value: undef
firewall
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage firewall
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::firewall: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::firewall: skip
Default value: undef
software
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage software
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::software: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::software: skip
Default value: undef
server_setup
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage server_setup
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::server_setup: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::server_setup: skip
Default value: undef
broker_setup
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage broker_setup
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::broker_setup: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::broker_setup: skip
Default value: undef
deployments
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage deployments
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::deployments: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::deployments: skip
Default value: undef
autostart
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage autostart
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::autostart: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::autostart: skip
Default value: undef
after_sysctl
Data type: Optional[String]
The name of the class you want to execute directly after the sysctl
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_sysctl: my_module::my_class
Default value: undef
after_limits
Data type: Optional[String]
The name of the class you want to execute directly after the limits
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_limits: my_module::my_class
Default value: undef
after_groups_and_users
Data type: Optional[String]
The name of the class you want to execute directly after the groups_and_users
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_groups_and_users: my_module::my_class
Default value: undef
after_packages
Data type: Optional[String]
The name of the class you want to execute directly after the packages
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_packages: my_module::my_class
Default value: undef
after_firewall
Data type: Optional[String]
The name of the class you want to execute directly after the firewall
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_firewall: my_module::my_class
Default value: undef
after_software
Data type: Optional[String]
The name of the class you want to execute directly after the software
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_software: my_module::my_class
Default value: undef
after_broker_setup
Data type: Optional[String]
The name of the class you want to execute directly after the broker_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_broker_setup: my_module::my_class
Default value: undef
after_server_setup
Data type: Optional[String]
The name of the class you want to execute directly after the server_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_server_setup: my_module::my_class
Default value: undef
after_deployments
Data type: Optional[String]
The name of the class you want to execute directly after the deployments
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_deployments: my_module::my_class
Default value: undef
after_autostart
Data type: Optional[String]
The name of the class you want to execute directly after the autostart
class.
You can use hiera to set this value. Here is an example:
ibm_profile::iib_machine::after_autostart: my_module::my_class
Default value: undef
ibm_profile::iib_machine::autostart
ibm_profile::iib_machine::autostart
This means a systemctl
unit is created and the named brokers are added. For autostart to be enabled, the class needs the OS user and the OS group the broker will run in. It also needs the version of IIB.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine::autostart
class:
list
Data type: Hash
A list of brokers.
The default value is fetched from the hiera key ibm_profile::iib_brokers
. To fill this list use a yaml
representation of iib_brokers
version
Data type: String
The IIB version to use when autostarting the brokers.
The default is value is fetched from the hiera key ibm_profile::iib_machine::software::version
.
iib_os_user
Data type: String
The OS user used for autostarting the brokers.
The default is iibadmin
iib_os_group
Data type: String
The OS group used for autostarting the brokers.
The default is mqbrkrs
ibm_profile::iib_machine::broker_setup
ibm_profile::iib_machine::broker_setup
It has support for creating and managing multiple brokers. Use use a yaml
representation of iib_brokers to specify all properties and params of the brokers you need. When a lot of the brokers have the same defaults, use the defaults
parameter to specify a Hash of defaults.
Besides the initial broker configuration, you can also configure additional properties. Read about iib_properties here.
This class also allows you to register used credentials. Use the credentials
property for this. Read about iib_credential here
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine::broker_setup
class:
defaults
Data type: Hash
a Hash of default properties added to all specfied Brokers.
Use iib_brokers to specify the defaults.
The default value is: {}
list
Data type: Hash
The list of brokers to configure.
Use use a yaml
representation of iib_brokers to specify all properties and params of the brokers you need.
The default value is fetched from the hiera key ibm_profile::iib_brokers
and is {}
by default.
properties
Data type: Hash
The list of IIB broker properties.
Read about iib_properties here.
The default value is: {}
credentials
Data type: Hash
The list of used credentials.
Use the credentials
property for this. Read about iib_credential here.
The default value is: {}
ibm_profile::iib_machine::deployments
ibm_profile::iib_machine::deployments
This class allows you to setup your IIB deployments. Use use a yaml
representation of iib_deployment to specify all properties and params of the deployment you need. When a lot of the deployments have the same defaults, use the defaults
parameter to specify a Hash of defaults.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine::deployments
class:
defaults
Data type: Hash
a Hash of default properties added to all specfied deployments.
Use iib_deployment to specify the defaults.
The default value is: {}
list
Data type: Hash
a Hash of deployments.
Use iib_deployment to specify the defaults.
The default value is: {}
ibm_profile::iib_machine::server_setup
ibm_profile::iib_machine::server_setup
It has support for creating and managing multiple servers. Use use a yaml
representation of iib_servers to specify all properties and params of the servers you need. When a lot of the servers have the same defaults, use the defaults
parameter to specify a Hash of defaults.
Besides the initial server configuration, you can also configure additional properties. Read about iib_properties here.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine::server_setup
class:
defaults
Data type: Hash
a Hash of default properties added to all specfied Brokers.
Use iib_server to specify the defaults.
The default value is: {}
list
Data type: Hash
The list of servers to configure.
Use use a yaml
representation of iib_server to specify all properties and params of the brokers you need.
The default value is: {}
properties
Data type: Hash
The list of IIB server properties.
Read about iib_properties here.
The default value is: {}
ibm_profile::iib_machine::software
ibm_profile::iib_machine::software
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::iib_machine::software
class:
version
Data type: Pattern[/\d+\.\d+\.\d+\.\d/]
The version of IIB to install.
source_location
Data type: String
The location where the IIB installation can find the siftware distribution. This can be a:
- directory
- http url
- puppet url
iib_os_user
Data type: String
The OS user to use for the installation of the IIB software.
The default is: iibadmin
ibm_profile::mq_machine
ibm_profile::mq_machine
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.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine
class:
before_sysctl
before_limits
before_groups_and_users
before_packages
before_firewall
before_software
before_manager_setup
before_autostart
before_authorization_setup
before_messaging_setup
before_mq_web
sysctl
limits
groups_and_users
packages
firewall
software
manager_setup
autostart
authorization_setup
messaging_setup
mq_web
after_sysctl
after_limits
after_groups_and_users
after_packages
after_firewall
after_software
after_manager_setup
after_autostart
after_authorization_setup
after_messaging_setup
after_mq_web
before_fixpack
fixpack
after_fixpack
before_sysctl
Data type: Optional[String]
The name of the class you want to execute directly before the sysctl
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_sysctl: my_module::my_class
Default value: undef
before_limits
Data type: Optional[String]
The name of the class you want to execute directly before the limits
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_limits: my_module::my_class
Default value: undef
before_groups_and_users
Data type: Optional[String]
The name of the class you want to execute directly before the groups_and_users
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_groups_and_users: my_module::my_class
Default value: undef
before_packages
Data type: Optional[String]
The name of the class you want to execute directly before the packages
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_packages: my_module::my_class
Default value: undef
before_firewall
Data type: Optional[String]
The name of the class you want to execute directly before the firewall
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_firewall: my_module::my_class
Default value: undef
before_software
Data type: Optional[String]
The name of the class you want to execute directly before the software
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_software: my_module::my_class
Default value: undef
before_manager_setup
Data type: Optional[String]
The name of the class you want to execute directly before the manager_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_manager_setup: my_module::my_class
Default value: undef
before_autostart
Data type: Optional[String]
The name of the class you want to execute directly before the autostart
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_autostart: my_module::my_class
Default value: undef
before_authorization_setup
Data type: Optional[String]
The name of the class you want to execute directly before the authorization
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_authorization: my_module::my_class
Default value: undef
before_messaging_setup
Data type: Optional[String]
The name of the class you want to execute directly before the messaging_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_messaging_setup: my_module::my_class
Default value: undef
before_mq_web
Data type: Optional[String]
The name of the class you want to execute directly before the mq_web
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::before_mq_web: my_module::my_class
Default value: undef
sysctl
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage sysctl
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::sysctl: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::sysctl: skip
Default value: undef
limits
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage limits
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::limits: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::limits: skip
Default value: undef
groups_and_users
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage groups_and_users
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::groups_and_users: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::groups_and_users: skip
Default value: undef
packages
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage packages
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::packages: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::packages: skip
Default value: undef
firewall
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage firewall
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::firewall: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::firewall: skip
Default value: undef
software
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage software
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::software: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::software: skip
Default value: undef
manager_setup
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage manager_setup
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::manager_setup: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::manager_setup: skip
Default value: undef
autostart
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage autostart
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::autostart: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::autostart: skip
Default value: undef
authorization_setup
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage authorization_setup
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::authorization_setup: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::authorization_setup: skip
Default value: undef
messaging_setup
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage messaging_setup
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::messaging_setup: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::messaging_setup: skip
Default value: undef
mq_web
Data type: Optional[String]
Use this value if you want to skip or use your own class for stage mq_web
.
Use your own class
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::mq_web: my_module::my_class
Skip
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::mq_web: skip
Default value: undef
after_sysctl
Data type: Optional[String]
The name of the class you want to execute directly after the sysctl
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_sysctl: my_module::my_class
Default value: undef
after_limits
Data type: Optional[String]
The name of the class you want to execute directly after the limits
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_limits: my_module::my_class
Default value: undef
after_groups_and_users
Data type: Optional[String]
The name of the class you want to execute directly after the groups_and_users
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_groups_and_users: my_module::my_class
Default value: undef
after_packages
Data type: Optional[String]
The name of the class you want to execute directly after the packages
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_packages: my_module::my_class
Default value: undef
after_firewall
Data type: Optional[String]
The name of the class you want to execute directly after the firewall
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_firewall: my_module::my_class
Default value: undef
after_software
Data type: Optional[String]
The name of the class you want to execute directly after the software
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_software: my_module::my_class
Default value: undef
after_manager_setup
Data type: Optional[String]
The name of the class you want to execute directly after the manager_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_manager_setup: my_module::my_class
Default value: undef
after_autostart
Data type: Optional[String]
The name of the class you want to execute directly after the autostart
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_autostart: my_module::my_class
Default value: undef
after_authorization_setup
Data type: Optional[String]
The name of the class you want to execute directly after the authorization_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_authorization_setup: my_module::my_class
Default value: undef
after_messaging_setup
Data type: Optional[String]
The name of the class you want to execute directly after the messaging_setup
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_messaging_setup: my_module::my_class
Default value: undef
after_mq_web
Data type: Optional[String]
The name of the class you want to execute directly after the mq_web
class.
You can use hiera to set this value. Here is an example:
ibm_profile::mq_machine::after_mq_web: my_module::my_class
Default value: undef
before_fixpack
Data type: Optional[String]
Default value: undef
fixpack
Data type: Optional[String]
Default value: undef
after_fixpack
Data type: Optional[String]
Default value: undef
ibm_profile::mq_machine::authorization_setup
ibm_profile::mq_machine::authorization_setup
It has support for:
-
authentication_info (See mq_authentication_info)
-
authorization (See mq_authorization)
-
channel_authentication (See mq_channel_authentication)
Use use a
yaml
representation of the specfied resource to specify all properties and params of the objects you need.When a lot of the objects have the same defaults, use the
defaults
parameter to specify a Hash of defaults.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::authorization_setup
class:
authentication_defaults
authentication_info
authorization_defaults
authorization_list
channel_authentication_list
channel_authentication_defaults
authentication_defaults
Data type: Hash
The defaults to use for all MQ authentication_info records.
Use use a yaml
representation of mq_authentication_info to specify all properties and params of the MQ authentication_info records you need.
The default is: {}
authentication_info
Data type: Hash
A Hash of MQ authentication_info records.
Use use a yaml
representation of mq_authentication_info to specify all properties and params of the MQ authentication_info records you need.
The default is: {}
authorization_defaults
Data type: Hash
The defaults to use for all MQ authorization records.
Use use a yaml
representation of mq_authorization to specify all properties and params of the MQ authorization records you need.
The default is: {}
authorization_list
Data type: Hash
A Hash of MQ authorization records.
Use use a yaml
representation of mq_authorization to specify all properties and params of the MQ authorization records you need.
The default is: {}
channel_authentication_list
Data type: Hash
a Hash of MQ channel authentication records.
Use use a yaml
representation of mq_channel_authentication to specify all properties and params of the MQ channel authentication records you need.
The default is: {}
channel_authentication_defaults
Data type: Hash
ibm_profile::mq_machine::autostart
ibm_profile::mq_machine::autostart
This means a systemctl
unit is created and the named MQ managers are added.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::autostart
class:
list
Data type: Hash
A list of MQ managers.
The default value is fetched from the hiera key ibm_profile::mq_manager
. To fill this list use a yaml
representation of iib_brokers
Default value: $ibm_profile::mq_managers
ibm_profile::mq_machine::fixpack
ibm_profile::mq_machine::fixpack
on your system.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::fixpack
class:
- [
[]]]
](#[]]]) source_location
version
[]]]
version The version of MQ to install.
source_location
Data type: String
The url or directory where to find the IIB installation tar. gz file. You can use either a file, a http url or a puppet url.
Default value: $ibm_profile::source_location
version
Data type: Optional[Pattern[/\d+\.\d+\.\d+\.\d/]]
Default value: undef
ibm_profile::mq_machine::manager_setup
ibm_profile::mq_machine::manager_setup
It has support for creating and managing multiple MQ managers. Use use a yaml
representation of mq_manager to specify all properties and params of the brokers you need. When a lot of the MQ managers have the same defaults, use the defaults
parameter to specify a Hash of defaults.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::manager_setup
class:
defaults
Data type: Hash
The defaults to use for all MQ managers.
Use use a yaml
representation of mq_manager to specify all properties and params of the MQ managers you need.
The default is: {}
list
Data type: Hash
A Hash of MQ managers.
Use use a yaml
representation of mq_manager to specify all properties and params of the MQ managers you need.
The default is: {}
Default value: $ibm_profile::mq_managers
ibm_profile::mq_machine::messaging_setup
ibm_profile::mq_machine::messaging_setup
It has support for:
-
queue's (See mq_queue)
-
topics (See mq_topic)
-
listeners (See mq_listener)
-
channels (See mq_channel)
Use use a
yaml
representation of the specfied resource to specify all properties and params of the objects you need.When a lot of the objects have the same defaults, use the
defaults
parameter to specify a Hash of defaults.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::messaging_setup
class:
queue_list
queue_defaults
topic_list
topic_defaults
listener_list
listener_defaults
channel_list
channel_defaults
queue_list
Data type: Hash
A Hash of MQ queues.
Use use a yaml
representation of mq_queue to specify all properties and params of the MQ queues you need.
The default is: {}
queue_defaults
Data type: Hash
The defaults to use for all MQ queues.
Use use a yaml
representation of mq_queue to specify all properties and params of the MQ queues you need.
The default is: {}
topic_list
Data type: Hash
A Hash of MQ topics.
Use use a yaml
representation of mq_topic to specify all properties and params of the MQ topics you need.
The default is: {}
topic_defaults
Data type: Hash
The defaults to use for all MQ topics.
Use use a yaml
representation of mq_topic to specify all properties and params of the MQ topics you need.
The default is: {}
listener_list
Data type: Hash
A Hash of MQ listeners.
Use use a yaml
representation of mq_listener to specify all properties and params of the MQ listeners you need.
The default is: {}
listener_defaults
Data type: Hash
The defaults to use for all MQ listeners.
Use use a yaml
representation of mq_listener to specify all properties and params of the MQ listeners you need.
The default is: {}
channel_list
Data type: Hash
A Hash of MQ channels.
Use use a yaml
representation of mq_channel to specify all properties and params of the MQ channels you need.
The default is: {}
channel_defaults
Data type: Hash
The defaults to use for all MQ channels.
Use use a yaml
representation of mq_channel to specify all properties and params of the MQ channels you need.
The default is: {}
ibm_profile::mq_machine::mq_web
ibm_profile::mq_machine::mq_web
Use use a yaml
representation of mq_web to specify all properties and params of the service.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::mq_web
class:
list
Data type: Hash
A single Hash of MQ Web.
Use use a yaml
representation of mq_web to specify all properties and params of the MQ webs you need.
The default is: {}
ibm_profile::mq_machine::software
ibm_profile::mq_machine::software
Specify the version and the location where to find the software kit.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::software
class:
version
source_location
install_ams
install_ft
install_client
install_explorer
install_xrserver
install_samples
install_sdk
install_man
install_gskit
install_amqp
install_web
install_salesforce
install_blockchain
install_rdqm
install_toolkit
version
Data type: Pattern[/\d+\.\d+\.\d+\.\d/]
The version of MQ to install.
source_location
Data type: String
The url or directory where to find the IIB installation tar. gz file. You can use either a file, a http url or a puppet url.
Default value: $ibm_profile::source_location
install_ams
Data type: Boolean
install_ft
Data type: Boolean
install_client
Data type: Boolean
install_explorer
Data type: Boolean
install_xrserver
Data type: Boolean
install_samples
Data type: Boolean
install_sdk
Data type: Boolean
install_man
Data type: Boolean
install_gskit
Data type: Boolean
install_amqp
Data type: Boolean
install_web
Data type: Boolean
install_salesforce
Data type: Boolean
install_blockchain
Data type: Boolean
install_rdqm
Data type: Boolean
install_toolkit
Data type: Boolean
ibm_profile::mq_machine::sysctl
ibm_profile::mq_machine::sysctl
Using hiera, you can customize some of the aspects of this process.
When these customizations aren't enough, you can replace the class with your own class. See ibm_profile::mq_machine for an explanation on how to do this.
See the file "LICENSE" for the full license governing this code.
Parameters
The following parameters are available in the ibm_profile::mq_machine::sysctl
class:
list
Data type: Hash
Changelog
All notable changes to this project will be documented in this file.
Release 1.8.0
Features
[core] Add support for Puppet 8 and ruby 3.2
Release 1.7.0
Features
- [core] Add support for EL 9
Release 1.6.0
Features
- [release] Add support for AlmaLinux and Rocky
- [em_license] Initial version. Load EM license at start
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 < 8.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 < 3.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)
- puppet-augeasproviders_core (>= 3.0.0 < 4.0.0)
- puppet-augeasproviders_sysctl (>= 2.2.0 < 4.0.0)
- saz-limits (>= 3.0.2 < 4.0.0)
- puppetlabs-firewall (>= 1.12.0 < 6.0.0)
- puppet-firewalld (>= 3.4.0 < 5.0.0)
- AlexCline-dirtree (>= 0.2.1 < 1.0.0)
- puppetlabs-stdlib (>= 4.25.0 < 10.0.0)