Chapter 6. Known issues

This section lists the known issues for AMQ Streams 1.7.

6.1. Issue with deploying the Cluster Operator to an IPv6 cluster

Description and workaround

ENTMQST-2754

The AMQ Streams Cluster Operator does not start on Internet Protocol version 6 (IPv6) clusters.

There are two workarounds for this issue.

Workaround one: Set the KUBERNETES_MASTER environment variable

  1. Display the address of the Kubernetes master node of your OpenShift Container Platform cluster:

    oc cluster-info
    Kubernetes master is running at MASTER-ADDRESS
    # ...

    Copy the address of the master node.

  2. List all Operator subscriptions:

    oc get subs -n OPERATOR-NAMESPACE
  3. Edit the Subscription resource for AMQ Streams:

    oc edit sub amq-streams -n OPERATOR_NAMESPACE
  4. In spec.config.env, add the KUBERNETES_MASTER environment variable, set to the address of the Kubernetes master node. For example:

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: amq-streams
      namespace: OPERATOR-NAMESPACE
    spec:
      channel: amq-streams-1.7.x
      installPlanApproval: Automatic
      name: amq-streams
      source: mirror-amq-streams
      sourceNamespace: openshift-marketplace
      config:
        env:
        - name: KUBERNETES_MASTER
          value: MASTER-ADDRESS
  5. Save and exit the editor.
  6. Check that the Subscription was updated:

    oc get sub amq-streams -n OPERATOR-NAMESPACE
  7. Check that the Cluster Operator Deployment was updated to use the new environment variable:

    oc get deployment CLUSTER-OPERATOR-DEPLOYMENT-NAME

Workaround two: Disable hostname verification

  1. List all Operator subscriptions:

    oc get subs -n OPERATOR-NAMESPACE
  2. Edit the Subscription resource for AMQ Streams:

    oc edit sub amq-streams -n OPERATOR_NAMESPACE
  3. In spec.config.env, add the KUBERNETES_DISABLE_HOSTNAME_VERIFICATION environment variable, set to true. For example:

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: amq-streams
      namespace: OPERATOR-NAMESPACE
    spec:
      channel: amq-streams-1.7.x
      installPlanApproval: Automatic
      name: amq-streams
      source: mirror-amq-streams
      sourceNamespace: openshift-marketplace
      config:
        env:
        - name: KUBERNETES_DISABLE_HOSTNAME_VERIFICATION
          value: "true"
  4. Save and exit the editor.
  5. Check that the Subscription was updated:

    oc get sub amq-streams -n OPERATOR-NAMESPACE
  6. Check that the Cluster Operator Deployment was updated to use the new environment variable:

    oc get deployment CLUSTER-OPERATOR-DEPLOYMENT-NAME

6.2. Issue with 3scale discovery of the Kafka Bridge service

Description and workaround

ENTMQST-2777

Red Hat 3scale cannot discover the Kafka Bridge service as documented in Deploying 3scale for the Kafka Bridge.

Workaround

Perform the following steps in your AMQ Streams cluster to enable service discovery:

  1. Edit the spec properties for the KafkaBridge custom resource.

    Add the discovery.3scale.net: true template property to your existing configuration:

    Example template configuration for Kafka Bridge

    apiVersion: kafka.strimzi.io/v1beta1
    kind: KafkaBridge
    metadata:
      name: KAFKA-BRIDGE-NAME
    spec:
      replicas: 1
      bootstrapServers: my-cluster-kafka-bootstrap:9092
      http:
        port: 8080
      template:
        apiService:
          metadata:
            labels:
              discovery.3scale.net: true 1
    # ...

    1
    Enables 3scale to discover the Kafka Bridge service.
  2. Create or update the custom resource:

    kubectl apply -f KAFKA-BRIDGE-CONFIG-FILE
  3. Continue with 3scale service discovery as described in step six of Deploying 3scale for the Kafka Bridge.