Object Promotion

Object promotion is how IBM MQ definitions travel from the environment where developers experiment to the environment where tonight's payment batch must not fail. A queue name PAYMENT.IN might exist in DEV, TEST, and PROD with the same spelling so application code needs no change, while the sender channel CONNAME in DEV points at a lab host and in PROD points at the partner's production IP with stricter TLS. Promotion is not copying messages—it is copying or regenerating DEFINE statements under change control, with diffs reviewed like application code and applied by pipeline or runmqsc batch jobs. Beginners export entire queue managers and replay in prod, bringing dev passwords and wrong hostnames with them. This tutorial covers export tools, sanitizing and templating MQSC, per-environment overlays, promotion order when objects depend on each other, high-risk auth and channel attributes, pairing promotion with automated deployments, rollback when ALTER fails, and audit evidence for regulators who ask what changed on the payments queue manager last Tuesday.

What Gets Promoted

Common object types in promotion packages
ObjectDiffers per envRisk if wrong
QLocal / QAliasMax depth, triggerDepth trigger fires wrong app
ChannelCONNAME, SSLTraffic to wrong system
AUTHINFO / CHLAUTHIDs, certificatesLockout or open access
ListenerPort, bindClients cannot connect

Export and Baseline

dumpmqcfg or runmqsc DISPLAY commands produce text baselines. Store in Git with version tags matching application releases. Strip PASSWORD fields and replace with placeholders filled at deploy from vault. Compare exports with diff tools in pull requests so reviewers see new queues and changed MAXDEPTH clearly.

shell
1
2
3
4
# Illustrative — verify commands for your MQ version dmpmqcfg -m QM_DEV -a > qm-dev-baseline.txt # Review file; remove secrets; commit to Git mq/config/dev/ # Promotion job applies templated MQSC to QM_TEST, then QM_PROD

Templating Environment Differences

Use variables in Ansible Jinja2, Helm, or simple sed replacements for HOST_PROD, PORT, and CERT_LABEL. One template generates three MQSC files. Never maintain three diverging copies by hand—they drift within weeks. Document mandatory substitutions in README for operations.

Explainer: Recipe Card Through Kitchens

Promotion is the same recipe card used in the practice kitchen (DEV) and the restaurant kitchen (PROD), but the restaurant uses the real oven temperature and supplier addresses (CONNAME, TLS)—not the practice room's toy oven.

Promotion Order and Dependencies

  1. Authinfo and CONNAUTH foundations before channels reference them.
  2. Queues before channel XMITQ references queue name.
  3. Listeners before channels bind to ports listeners own.
  4. CHLAUTH last or with care—test lockout in TEST first.

Review and Approval

CAB or peer review checks business owner, security, and operations. Automated policy: no promotion Friday 16:00 without executive approval. Pair MQ admin with application team sign-off when new queues carry new message formats.

Applying in Target Environment

Pipelines run runmqsc < promoted.mqsc against QM_TEST. Smoke tests verify. Same artifact hash promotes to PROD—no rebuild from different branch. If DEFINE fails because object exists, use ALTER sections in idempotent scripts or split into create versus update files per release.

Rollback

Keep previous Git tag MQSC export. Re-apply ALTER to revert attributes or DELETE only objects introduced in failed change—never DELETE shared legacy queues without impact analysis. Channel changes may need partner coordination to revert CONNAME simultaneously.

Explain Like I'm Five: Object Promotion

Object promotion is copying the list of mailbox rules from practice school to real school, but changing the street address on the list so letters go to the right building.

Practice Exercises

Exercise 1

Export DEV config; redact secrets; open PR with diff.

Exercise 2

List five attributes that must differ between DEV and PROD for one channel.

Exercise 3

Write promotion order for new payment queue plus sender channel.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. Object promotion moves:

  • Definitions
  • All prod messages
  • z/OS IPL
  • JCL

2. CONNAME in prod should:

  • Match prod endpoints
  • Copy dev hostname
  • Be empty
  • Be wildcard

3. CHLAUTH promotion needs:

  • Security review
  • No review
  • Delete all
  • Disable TLS

4. dumpmqcfg is for:

  • Config export
  • Message browse
  • Channel bytes
  • COBOL compile
Published
Read time20 min
AuthorMainframeMaster
Verified: IBM MQ administration practices