Skip to content

Latest commit

 

History

History
486 lines (404 loc) · 14.3 KB

README.md

File metadata and controls

486 lines (404 loc) · 14.3 KB

Wmq Cookbook

DESCRIPTION

The wmq cookbook contains features and functions to support the installation and management of IBM WebSphere MQSeries.

Platforms Support

  • RHEL 6.x (NOTE, MQ8 is not supported on RHEL6)
  • RHEL 7.x
  • Ubuntu Server 14.04 or greater

Versions

  • IBM WebSphere MQSeries V8.0
  • IBM WebSphere MQSeries V9.0

Use Cases

Currently on single node (non HA) only.

  • Single installation with no configuration. This will entail configuring the kernel, installing pre-requisite libraries, installing the base and fixpack for IBM MQSeries. This pattern is relevant on a single node only.
  • Single installation with 1..n queue managers defined. Queue Managers are defined using the following structure.
    "wmq": {
      "qmgr": {
          "qmgr1": {
            "name": "QMGR1",
            "description": "Default Queue Manager",
            "listener_port": "1414",
            "loggingtype": "lc",
            "primarylogs": "10",
            "secondarylogs": "20",
            "logsize": "16384",
            "dlq": "SYSTEM.DEAD.LETTER.QUEUE"
          }
       }

Platform Pre-Requisites

  • Linux YUM Repository - An onsite linux YUM Repsoitory is required.

Software Repository

SW_REPO_ROOT -> Stored in the ['ibm']['sw_repo'] attribute.

Relative to the software repository, the installation files must be stored in the following location.

  • BASE FILES -> /mq/[v80|v90]/base
  • FIXPACK FILES -> /mq/[v80|v90]/maint

The following is a description of files needed on the REPO Server depending on version and architecture.

Base Install Files
==================

case node['wmq]['version']
when '8.0'
  case os
  when 'linux'
    case node['kernel']['machine']
    when 'x86_64'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'WS_MQ_LINUX_ON_X86_64_V8.0_IMG.tar.gz',
                    'sha256' =>  '6d1db6949a2a97606eb62cc7f43977bbdf61bdd229f1a1085ad05b6fb800f176'}
      }
    when 'powerpc'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'WS_MQ_FOR_AIX_V8.0_EIMAGE.tar.tgz',
                    'sha256' =>  '6d1db6949a2a97606eb62cc7f43977bbdf61bdd229f1a1085ad05b6fb800f176'}
      }
    when 's390x'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'WS_MQ_LINUX_SYS_Z_64B_V8.0_IMG.tar.gz',
                    'sha256' =>  '6d1db6949a2a97606eb62cc7f43977bbdf61bdd229f1a1085ad05b6fb800f176'}
      }
    end
  end
when '9.0'
  case os
  when 'linux'
    case node['kernel']['machine']
    when 'x86_64'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'IBM_MQ_9.0.5.0_LINUX_X86-64.tar.gz',
                    'sha256' =>  '2fbaebec64fefbf863c9d33ab50c4197cd2d3eb9cd041e1cbef7558cba61db6c'}
      }
    when 'powerpc'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'IBM_MQ_9.0.5.0_AIX.tar.gz',
                    'sha256' =>  'f6f45473bfdf05235e1acc6af7f37f819b279aee2613058e4a1f8dcd0f8ed3c1'}
      }
    when 's390x'
      force_default['wmq]['archive_names'] = {
        'base' => { 'filename' => 'IBM_MQ_9.0.5.0_LINUX_SYSTEM_Z.tar.gz',
                    'sha256' =>  'c5103d2a633b357d4fa8c5834b3c4788e3c6b1eb61a6f335a13db96a371fdb2a'}
      }
    end
  end
end

Fixpack Files
=============

case node['wmq']['version']
when '8.0'
  case node['os']
  when 'linux'
    case node['kernel']['machine']
    when 'x86_64'
      force_default['wmq']['fixpack_names'] = {
        'fixpack' => { 'filename' => '8.0.0-WS-MQ-LinuxX64-FP000{node['wmq']['fixpack']}.tar.gz' }
      }
    when 'powerpc'
      force_default['wmq']['fixpack_names'] = {
        'fixpack' => { 'filename' => '8.0.0-WS-MQ-LinuxPPC64-FP000{node['wmq']['fixpack']}.tar.gz' }
      }
    when 's390x'
      force_default['wmq']['fixpack_names'] = {
        'fixpack' => { 'filename' => '8.0.0-WS-MQ-LinuxS390X-FP000{node['wmq']['fixpack']}.tar.gz' }
      }
    end
  end
end

Environment Variables

default['ibm']['sw_repo']                 - URL of the Software Repository.
default['ibm']['sw_repo_user']                    - User to access the software Repository.
default['ibm']['sw_repo_password']                - Password for the software repository, note, will exist in VAULT.
default['ibm']['sw_repo_self_signed_cert']     - Boolean indicating whether the repo uses a self signed certificate.
default['ibm']['sw_repo_auth']                 - Boolean indicating whether the software repo is secured.
default['ibm_internal']['stack_id']            - Unique ID referencing all nodes in a deployment.
default['ibm_internal']['stack_name']          - Common name for the deployed stack.
default['ibm_internal']['vault']['name']       - Name of the Vault, will be generated by the environment.
default['ibm_internal']['vault']['item']       - Vault Item to reference, will be  generated by the environment.

Requirements

Platform:

  • Ubuntu (>= 16.04)
  • Redhat (>= 7.0)

Cookbooks:

  • ibm_cloud_utils

Attributes

Attribute Description Default
node['wmq']['advanced'] Install IBM MQ Advanced components: File Transfer, IBM MQ Telemetry, and Advanced Message Security. false
node['wmq']['data_dir'] The directory to install IBM MQ Data files, recommended /var/mqm /var/mqm
node['wmq']['fixpack'] The fixpack of IBM MQ to install. 0
node['wmq']['global_mq_service'] Option to defined service for all IBM MQ Queue Manager
node['wmq']['install_dir'] The directory to install IBM MQ Binaries, recommended /opt/mqm /opt/mqm
node['wmq']['kernel_sem'] WebSphere MQ Server Shared Memory Semaphores Value 32 4096 32 128
node['wmq']['kernel_shmall'] WebSphere MQ Server Shared Memory Segments Max Value 2097152
node['wmq']['kernel_shmmax'] WebSphere MQ Server Shared Memory Segments Size Value 268435456
node['wmq']['kernel_shmmni'] WebSphere MQ Server Shared Memory Segments Value 4096
node['wmq']['log_dir'] The directory to install IBM MQ Log Directory, recommended -> node[wmq][data_dir]/log /var/mqm/log
node['wmq']['net_core_rmem_default'] WebSphere MQ Server Kernel Configuration net_core_rmem_default 262144
node['wmq']['net_core_rmem_max'] WebSphere MQ Server Kernel Configuration net_core_rmem_max 4194304
node['wmq']['net_core_wmem_default'] WebSphere MQ Server Kernel Configuration net_core_wmem_default 262144
node['wmq']['net_core_wmem_max'] WebSphere MQ Server Kernel Configuration net_core_wmem_max 1048576
node['wmq']['net_ipv4_tcp_fin_timeout'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_fin_timeout 60
node['wmq']['net_ipv4_tcp_keepalive_intvl'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_keepalive_intvl 75
node['wmq']['net_ipv4_tcp_keepalive_time'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_keepalive_time 7200
node['wmq']['net_ipv4_tcp_rmem'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_rmem 4096 87380 4194304
node['wmq']['net_ipv4_tcp_sack'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_sack 1
node['wmq']['net_ipv4_tcp_timestamps'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_timestamps 1
node['wmq']['net_ipv4_tcp_window_scaling'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_window_scaling 1
node['wmq']['net_ipv4_tcp_wmem'] WebSphere MQ Server Kernel Configuration net_ipv4_tcp_wmem 4096 87380 4194304
node['wmq']['nofile_value'] WebSphere MQ Server Ulimit Nofile Value 10240
node['wmq']['os_users']['mqm']['comment'] Comment associated with the IBM MQ User IBM MQ User
node['wmq']['os_users']['mqm']['gid'] Group ID of the Unix OS User for IBM MQ mqm
node['wmq']['os_users']['mqm']['home'] Home Directory of Default OS User for IBM MQ User. /home/mqm
node['wmq']['os_users']['mqm']['ldap_user'] A flag which indicates whether to create the MQ USer locally, or utilise an LDAP based user. false
node['wmq']['os_users']['mqm']['name'] Name of the Unix OS User that owns and controls IBM MQ mqm
node['wmq']['os_users']['mqm']['shell'] Location of the IBM MQ User Shell /bin/bash
node['wmq']['perms'] Default permissions for IBM MQ files on Unix 775
node['wmq']['qmgr']['qmgr($INDEX)']['description'] Description of the Queue Manager Queue Manager 1
node['wmq']['qmgr']['qmgr($INDEX)']['dlq'] Queue Manager dead letter queue SYSTEM.DEAD.LETTER.QUEUE
node['wmq']['qmgr']['qmgr($INDEX)']['listener_port'] Port the Queue Manager listens on. 1414
node['wmq']['qmgr']['qmgr($INDEX)']['loggingtype'] Type of logging to use ll(Linear), lc(Circular) lc
node['wmq']['qmgr']['qmgr($INDEX)']['logsize'] Size of the IBM MQ Logs 16384
node['wmq']['qmgr']['qmgr($INDEX)']['name'] Name of the Queue Manager to Create qmgr1
node['wmq']['qmgr']['qmgr($INDEX)']['primarylogs'] Number of primary logs to create. 10
node['wmq']['qmgr']['qmgr($INDEX)']['secondarylogs'] Number of Secondary Logs 20
node['wmq']['qmgr_dir'] The directory to install IBM MQ Queue Manager Directory, recommended node[wmq][data_dir]/qmgrs /var/mqm/qmgrs
node['wmq']['service_name'] WebSphere MQ service name mq
node['wmq']['swap_file'] Swap file name /swapfile
node['wmq']['swap_file_size'] UNIX Swap size in megabytes 512
node['wmq']['version'] The Version of IBM MQ to install, eg, 8.0 9.0
node['wmq']['vm_swappiness'] WebSphere MQ Server Kernel Configuration vm_swappiness 0
node['wmq']['webhost'] The host name for MQ web console, use IP address of the node. Valid only for MQ 9.0.

Recipes

wmq::cleanup.rb

Cleanup recipe (cleanup.rb) Perform post-install cleanup

wmq::config_qmgr_single.rb

Create one or more queue managers if they do not already exist.

wmq::default.rb

Default recipe

wmq::fixpack.rb

Installation recipe (fixpack.rb) This recipe performs the fixpack installation for the product

wmq::gather_evidence.rb

Evidence gathering recipe (gather_evidence.rb) This recipe will collect functional product information and store it in an archive.

wmq::install.rb

Installation recipe (install.rb) This recipe performs the product installation.

wmq::prereq.rb

Prerequisites recipe (prereq.rb) This recipe configures the operating prerequisites for the product.

wmq::prereq_check.rb

Prerequisite Check Recipe (preq_check.rb) This recipe wil check the target platform to ensure installation is possible

wmq::service.rb

Create the MQ service and enables it on RHEL 7 Determine Service Type, systemd or not Create the MQ service file Create Upstart Service File Create the MQ service script Enable and start the httpd service Enable and start the httpd service Enable the MQ service Start the MQ service

wmq::start_qmgr.rb

Start all queue managers defined for the target node.

wmq::stop_qmgr.rb

Stop all queue managers defined for the target node.

License and Author

Author:: IBM Corp (<>)

Copyright:: 2020, IBM Corp

License:: Copyright IBM Corp. 2012, 2020