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

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions