fixpack
Overview
The defined type mq_install::fixoack allows you to install specified fixpacks on your system. The fixpacks will be added on top of your software installation managed by mq_install::software.
The simples way to use it is:
mq_install::fixpack{'9.1.0.1':
source_locaation => '/nfs_share/software'
}
Based on this puppet code, Puppet® will install fixpack 9.1.0.1. Because the installation of the fixpack requires all MQ processes to be stopped, this code will stop ALL MQ managers when it finds it needs to install the fixpack.
When the `mq_install::fixpack’ is part of a larger set of Puppet® code also managing MQ managers and queues, that definition will restart the required MQ queue managers.
Fixpack updates
When you specify a higher fixpack version, Puppet® will detect this and start the fixpack upgrade scenario. The upgrade scenario consists of:
1) Shutting down all running queue managers 2) Installing the requested fixpack
WARNING The mq_install::fixpack class does not automatically 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.
Fixpack rollback
When you specify a fixpack version that is lower than the fixpack that is currently installed, Puppet® will detect this and start the rollback procedure. Puppet® supports rolling one fixpack at a time. This means that Puppet® will only allow you to rollback (e.g., uninstall) the latest installed fixpack.
Puppet will throw an error when:
- You specified a lower version than currenly installed, but also a fixpack version that was not previously installed.
- You specified a lower version than currenly installed, but a version that is older than the previous fixpack version that was installed.
Attributes
| Attribute Name | Short Description |
|---|---|
| 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. |
| tmp_dir | This defined type uses a temporary directory. |
| version | The title of his resource is used to specify the required version of the fixpack to be installed. |
version
The title of his resource is used to specify the required version of the fixpack to be installed. It can for example be 9.1.0.1. 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'
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]
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'
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'
