software
Overview
This class install’s specified version of the the MQ software on the system. The source zip file from IBM is found at the location specified at source_location
. By default it will install only the minimal required set. By using the install_...
parameters, you can install optional components.
Here is an example on how to use it:
class { '::mq_install::software':
source_location => '/software',
version => '9.0.0.0'
tmp_dir => '/tmp'
install_ams => true,
install_ft => false,
install_client => false,
install_explorer => true,
install_xrserver => false,
install_samples => false,
install_sdk => false,
install_man => false,
install_gskit => false,
install_amqp => false,
logoutput => 'true,
}
On systems with a secured /tmp
direcory, you MUST specify the tmp_dir
parameter and specify a directory that puppet is allowed to execute scripts from. It must also have enough space to receive the extracted MQ installation kit.
MQ Upgrade
When you specify a version where either the major or the minor version is higher than the currently installed version, Puppet will detect this and start the upgrade scenario. The upgrade scenario consists of:
1) Shutting down all running queue managers 2) Uninstalling current MQ version packages, including any installed fixpacks 3) Installing the requested version
WARNING The mq_install::software
class does not automaticaly restart the queue managers again. In general, this is taken care of by mq_install::autostart
. If mq_install::autostart
is not part of your manifest you must ensure your own steps to make sure the queue managers are restarted again.
MQ Downgrade
When you specify a version where either the major or the minor version is lower then the currently installed version, Puppet will detect this. Unfortunately, MQ does not support this without manually restoring some files. Therefore Puppet will give you an error.
Experience the Power of Puppet for IBM MQ
If you want to play and experiment with Puppet and IBM MQ, please take a look at our playgrounds. At our playgrounds, we provide you with a pre-installed environment, where you experiment fast and easy.

Attributes
Attribute Name | Short Description |
---|---|
file_name | The file containing the install kit for the MQ software. |
install_amqp | Specify a value of true when you want to install this component. |
install_ams | Specify a value of true when you want to install this component. |
install_blockchain | Specify a value of true when you want to install the IBM MQ Bridge to blockchain component. |
install_client | Specify a value of true when you want to install this component. |
install_explorer | Specify a value of true when you want to install this component. |
install_ft | Specify a value of true when you want to install this component. |
install_gskit | Specify a value of true when you want to install this component. |
install_man | Specify a value of true when you want to install this component. |
install_rdqm | Specify a value of true when you want to install the replicated data queue manager component. |
install_salesforce | Specify a value of true when you want to install the Bridge to Salesforce component. |
install_samples | Specify a value of true when you want to install this component. |
install_sdk | Specify a value of true when you want to install this component. |
install_toolkit | Specify a value of true when you want to install this component. |
install_web | Specify a value of true when you want to install this component. |
install_xrserver | Specify a value of true when you want to install this component. |
logoutput | If you want to see the output of the exec resources in the type, you can set this value to true . |
service_window | The service_window Puppet will use to execute a specified upgrade. |
source_location | The location of the MQ software. |
supported_components | |
supported_major_versions | |
tmp_dir | This defined type uses a temporary directory. |
version | The version to be installed. |
source_location
The location of the MQ software.
Here is an example on how to use this:
class { '::mq_install::...':
...
source_location => '/software',
...
}
Type: String[1]
service_window
The service_window Puppet will use to execute a specified upgrade.
When Puppet detects a mismatch between the current version and the version in your manifest, it will start to execute an upgrade. But in general, you want some control over when that happens. You don’t want Puppet to stop your queue managers during regular production hours to do the upgrade.
The service_window
parameter allows this control. The parameter can have the following values:
- DIRECT
- INSTALL_ONLY
- WHEN_NOT_RUNNING
- A time range
DIRECT
DIRECT
is the normal behavior of Puppet (e.g., not the default of the parameter). When a manifest change is detected, Puppet will immediately execute the upgrade and, in this process, stop the MQ queue managers.
INSTALL_ONLY
This is the default value for this class. In this case, Puppet will use the specified manifest values ONLY on an initial install. When Puppet detects MQ is already running, it will leave it like it is and NOT do the upgrade. You can use, for example, a bolt plan or task to execute the upgrade at a moment that suits your requirements.
WHEN_NOT_RUNNING
Only apply this class when there is no queue manager running.
time range
When you have a specific service window wherein Puppet is allowed to do the MQ shutdown and execute the upgrade procedure, you can specify a time range. An example of a time range would be: ‘01:00 - 02:00 Type:
String[1]`
Default:'INSTALL_ONLY'
version
The version to be installed. Here is an example on how to use this:
class { '::mq_install::software':
...
version => '9.0.0.0',
...
}
Type: Pattern[/\d+\.\d+\.\d+\.\d/]
file_name
The file containing the install kit for the MQ software.
Type: Optional[String[1]]
Default:undef
tmp_dir
This defined type uses a temporary directory. By default this is \tmp
. If you want to use an other directory for this, you must specify this parameter.
Here is an example on how to use this:
class { '::mq_install::...':
...
tmp_dir => '/my_tmp_dir',
...
}
On systems with a secured /tmp
direcory, you MUST specify the tmp_dir
parameter and specify a directory that puppet is allowed to execute scripts from. It must also have enough space to receive the extracted MQ installation kit.
Type: String[1]
Default:'/tmp'
install_ams
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_ams => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_ft
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_ft => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_client
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_client => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_explorer
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_explorer => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_xrserver
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_xserver => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_samples
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_samples => true,
...
}
The default is ‘false’. Meaning this component is not installed. This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_sdk
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_sdk => true,
...
}
The default is ‘false’. Meaning this component is not installed. This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_man
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_man => true,
...
}
The default is ‘false’. Meaning this component is not installed. This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_gskit
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_gskit => true,
...
}
The default is ‘false’. Meaning this component is not installed. This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_amqp
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_amqp => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_web
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_web => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Type: Boolean
Default:false
install_salesforce
Specify a value of true
when you want to install the Bridge to Salesforce component.
Here is an example:
class { '::mq_install::software':
...
install_salesforce => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Install this component to configure the connections to Salesforce and IBM MQ, then run the runmqsfb command to subscribe to events from Salesforce and publish them to an IBM MQ network.
This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_blockchain
Specify a value of true
when you want to install the IBM MQ Bridge to blockchain component.
Here is an example:
class { '::mq_install::software':
...
install_blockchain => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Install this component to configure the connections to your blockchain network and IBM MQ. You can then run the runmqbcb command to start the bridge and send queries and updates to, and receive responses from your blockchain network. The queue manager that the bridge connects to must be an IBM MQ Advanced queue manager.
This component is available only on Linux for System x (64 bit), on RHEL 7.3 or later and is only supported for MQ 9.1 and higher.
This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_rdqm
Specify a value of true
when you want to install the replicated data queue manager component.
Here is an example:
class { '::mq_install::software':
...
install_rqdm => true,
...
}
The default is ‘false’. Meaning this component is not installed.
Install this component to make the replicated data queue manager high availability configuration available. See Installing RDQM (replicated data queue managers) for more information. This component is available only on Linux for System x (64 bit), on RHEL 7.3 or later and is only supported for MQ 9.1 and higher.
This component can only be installed on Linux systems.
Type: Boolean
Default:false
install_toolkit
Specify a value of true
when you want to install this component. Here is an example:
class { '::mq_install::software':
...
install_toolkit => true,
...
}
The default is ‘false’. Meaning this component is not installed. This component can only be installed on Windows systems.
Type: Boolean
Default:false
supported_components
Type: Hash
supported_major_versions
The major versions of MQ supported by this class. Type: Array[String[1]]
logoutput
If you want to see the output of the exec
resources in the type, you can set this value to true
. The default is on_failure
.
Here is an example on how to use this:
class { '::mq_install::...':
...
logoutput => true,
...
}
Type: Variant[Enum['on_failure'],Boolean]
Default:'on_failure'