Skip to content

Stop all Channels belonging to a particular cluster #122

@JamRamPage

Description

@JamRamPage

Is your feature request related to a problem? Please describe.

Currently, a REFRESH CLUSTER REPOS(YES) request issued through MQSC or otherwise can cause potentially unexpected behaviour when channels are not all stopped, or if they take too long to stop.

MQ-Ansible automation could help with this.

Describe the solution you'd like
Similar to the "ALL_QMGRS" action in the queue_manager module, it would be helpful if we could provide a means to stop all relevant channels (Cluster Senders) on a queue manager, easing the process of a cluster refresh.

This could get complicated, though we could start with:

  • Enabling a means to stop all channels beginning with a particular name prefix (which might be being used to identify the cluster) - STOP CHANNEL (CLUSA.*).

Describe alternatives you've considered
N/A

Additional context
A good implementation would involve the use of template MQSC files, like those used in blueprints/sender-config.mqsc, where <RCVR.QMGR.IP> is used to indicate a variable IP address for the receiver QMGR.

We can start by using a similar variable for the "Cluster Identifier", and stop all channels beginning with that name. Create a blueprint yaml file similar to sdr-rcvr.yml:

  • Use ansible.builtin.setup and ansible.builtin.set_fact to set a variable for the "Cluster Identifier"
  • Get the template MQSC with ansible.builtin.import_role.
  • Use ansible.builtin.replace to update the MQSC with the Cluster Identifier.
  • Run the MQSC against a particular QMGR using our ibm_messaging.ibmmq.queue_manager module.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions