Module 3: Verify AMQ Brokers and Federation

Objectives

  • Confirm hub-01 is running

  • Confirm ACM placed AMQ brokers on JOINED SNOs

  • Verify each SNO broker’s hub-01-connection federation is started

hub-01 is the regional AMQ hub on this ACM east cluster. Global Hub has no AMQ broker. Hub-colocated spoke-* pods in the artemis namespace are still not the edge path — NY/NJ brokers run on the SNOs you joined in Module 2.

Steps

1. Check Hub Broker Pods

oc get pods -n artemis -l application=hub-01-broker-app
Expected output
NAME                 READY   STATUS    RESTARTS   AGE
hub-01-broker-ss-0   1/1     Running   0          3d21h

AGE differs. The pod is Running and 1/1 Ready even when the ActiveMQArtemis CR is not Ready (see step 3).

CLI output of oc get pods for hub-01-broker-app. hub-01-broker-ss-0 is 1/1 Running.
Figure 1. CLI — hub-01 broker pod (not the ACM console)

2. Hub still has colocated spoke-* brokers

The hub namespace also has spoke-01 / spoke-02 brokers. Those are not the ACM edge brokers. Leave them alone.

oc get pods -n artemis -l ActiveMQArtemis
Expected output
NAME                   READY   STATUS    RESTARTS   AGE
hub-01-broker-ss-0     1/1     Running   0          3d21h
spoke-01-broker-ss-0   1/1     Running   0          3d22h
spoke-02-broker-ss-0   1/1     Running   0          3d22h

spoke-01 / spoke-02 here are hub-colocated. The NY/NJ exercise brokers run on the SNOs. You cannot list those pods as user1. Use policy status instead:

oc get policy -n edge-broker-policies
Expected output
NAME                               REMEDIATION ACTION   COMPLIANCE STATE   AGE
policy-amq-broker-operator-sno     enforce              Compliant          3d22h
policy-amq-broker-spoke-01         enforce              Compliant          3d22h
policy-amq-broker-spoke-02         enforce              Compliant          3d22h
policy-block-spoke-01-federation   enforce                                 3d21h
policy-sno-uwl-amq-metrics         enforce              Compliant          2d21h

policy-amq-broker-operator-sno, spoke-01, and spoke-02 should be Compliant. Only NY and NJ spokes are configured on east. policy-block-spoke-01-federation stays blank (disabled) until Module 6. policy-sno-uwl-amq-metrics is the SNO user-workload metrics allowlist (Module 8).

CLI output of oc get policy in edge-broker-policies. Operator
Figure 2. CLI — oc get policy in edge-broker-policies (not the ACM console)

3. Verify hub-01 ActiveMQArtemis and AMQPS

oc get activemqartemis hub-01-broker -n artemis -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}{"\n"}'
oc get route -n artemis hub-01-broker-amqps-acceptor-0-svc-rte
Expected output (Ready jsonpath)
False

This catalog item often shows Ready=False because BrokerPropertiesApplied is OutOfSync. The hub-01 pod can still be Running (step 1) and the AMQPS Route still exists. Do not treat that as a failed lab, and do not try to "fix" OutOfSync here. SNO→hub federation proof is Jolokia hub-01-connection started: true in step 5.

Expected output (AMQPS Route; host uses your example)
NAME                                     HOST/PORT                                                                              PATH   SERVICES                             PORT               TERMINATION        WILDCARD
hub-01-broker-amqps-acceptor-0-svc-rte   hub-01-broker-amqps-acceptor-0-svc-rte-artemis.apps.hub.example.gcp.redhatworkshops.io          hub-01-broker-amqps-acceptor-0-svc   amqps-acceptor-0   passthrough/None   None

The AMQPS Route is how SNO brokers reach hub-01 (TLS passthrough on port 443). In-cluster clients still use amqp://hub-01-broker-amqp-acceptor-0-svc.artemis.svc.cluster.local:5672.

4. Open the Hub AMQ Console

This console is the regional AMQ hub (hub-01 on ACM east). Global Hub has no AMQ broker.

Navigate to the hub AMQ Console:

Open Connections. You should see AMQP sessions from edge brokers (UUID Client IDs, not cluster names). Hub-colocated spoke-* and SNO brokers can both appear.

Hub AMQ Console Connections tab with AMQP rows. UUID Client IDs are edge brokers; the 169.254.0.5 row is not a spoke.
Figure 3. Hub AMQ Console — Connections
  • Client ID is the remote broker’s node UUID, not spoke-01 or sno-edge-01.

  • Protocol AMQP marks a federation session.

  • The row whose Remote Address is 169.254.0.5 is not a spoke. Ignore it.

Optionally open Sessions.

Hub AMQ Console Sessions tab. Session rows link back to the same AMQP connections; IDs are UUIDs
Figure 4. Hub AMQ Console — Sessions
This table does not show the configured name hub-01-connection. That name lives on each SNO broker.

5. Verify hub-01-connection on the NY SNO broker

The NY broker console is on sno-edge-01 (not the hub ingress domain):

curl -sS -u admin:admin \
  'http://spoke-01-broker-wconsj-0-svc-rte-artemis.apps.sno-edge-01.%sandbox_guid%.gcp.redhatworkshops.io/console/jolokia/exec/org.apache.activemq.artemis:broker=%22amq-broker%22/listBrokerConnections'
Expected output (JSON value field)
[{"name":"hub-01-connection","protocol":"AMQP","started":true}]

hub-01-connection with started: true is the SNO→hub federation link. Repeat against sno-edge-02 (spoke-02-broker, apps.sno-edge-02.%sandbox_guid%.gcp.redhatworkshops.io) if you want NJ as well.