Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-6644

Make configuration of Istio with AMQ Operator more simple

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Major Major
    • AMQ 7.13.0.GA
    • AMQ 7.7.0.OPR.2.GA
    • operator
    • False
    • Hide

      None

      Show
      None
    • False
    • Compatibility/Configuration

      Current configuration made by AMQ Operator does not allow to put nodes under Istio Service Mesh. There is no integration with Istio currently available for AMQ:

      https://issues.redhat.com/browse/ENTMQBR-4599

      By default AMQ is listening on wrong address that does not match Service Mesh requirements. To reconfigure, a significant change in container is needed:

      #!/bin/bash
      LISTENER_IP="0.0.0.0"
      AMQ_LAUNCHER_PATH="/opt/amq/bin/launch.sh"
      JGROUPS_CONF="/opt/amq/conf/jgroups-ping.xml"
      LOCAL_NAME=$(hostname -f)
      PING_PORT="7800"

      1. change listening IP in launch script
        sed -i "s/ACCEPTOR_IP=.*/ACCEPTOR_IP=\"$LISTENER_IP\"/" $AMQ_LAUNCHER_PATH
      2. add seds to launch script to edit on end IPs and hostnames in broker configuration
        sed -i "s/configure \$instanceDir/configure \$instanceDir; sed -i \"s\/$LOCAL_NAME\/$LISTENER_IP\/\" \$instanceDir\/etc\/bootstrap.xml; sed -i \"s\/?protocols=\/?localAddress=$(hostname -i);protocols=\/g\" \$instanceDir\/etc\/broker.xml/" $AMQ_LAUNCHER_PATH
      3. change binding for jgroups
        sed -i "s/TCP bind_port=\"$PING_PORT\"\$/TCP bind_port=\"$PING_PORT\" bind_addr=\"127.0.0.1\" external_addr=\"$LOCAL_NAME\"/" $JGROUPS_CONF

      $AMQ_LAUNCHER_PATH start

      For example, with DataGrid Operator it is a simple configuration:

      spec:
      container:
      extraJvmOpts: '-Djgroups.bind_addr=0.0.0.0 -Dinfinispan.bind.address=0.0.0.0 -Djgroups.external_addr=$HOSTNAME'

      Additional thing is adding Istio annotations - it can be done using PatchOperator but for example in DataGrid it is more simple as user can use special annotations:

      infinispan.org/targetAnnotations: service-annotation1, service-annotation2
      infinispan.org/podTargetAnnotations: pod-annotation1, pod-annotation2

      Can we allow similar Istio configuration for AMQ Operator as DataGrid has?

              gtully@redhat.com Gary Tully
              rhn-support-zstrmisk Zdenek Strmiska
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: