AMQ Streams 1.2 on OpenShift Container Platform Release Notes

Red Hat AMQ 7.4

Release Notes for AMQ Streams 1.2

Abstract

These release notes contain the latest information about new features, enhancements, fixes, and issues contained in the AMQ Streams 1.2 release.

Chapter 1. Features

The features added in this release, and that were not in previous releases of AMQ Streams, are outlined below.

1.1. Kafka 2.2.1 support

AMQ Streams now supports Kafka 2.2.1.

You must upgrade the Cluster Operator to 1.2 before you can upgrade to Kafka 2.2.1. For instructions, see AMQ Streams and Kafka upgrades.

After you have performed an upgrade, custom resources that use kafka.strimzi.io/v1alpha1 must be updated as the API version is deprecated.

Refer to the Kafka 2.2.0 and Kafka 2.2.1 Release Notes for additional information.

Note

Kafka 2.1.x is supported only for upgrade purposes.

1.2. OpenShift Container Platform 3.11 and 4.x support

As a requirement for the new features, AMQ Streams now supports OpenShift Container Platform 3.11 and 4.x.

OpenShift Container Platform 3.9 and 3.10 is no longer supported.

AMQ Streams can be installed on OpenShift 4.x:

  • Manually using AMQ Streams YAML files
  • Through the OpenShift Container Platform Operator Hub

1.3. Custom Resource Definition (CRD) versions

The YAML files describing the CRDs provided with AMQ Streams now support multiple versions. The change means that there is now support for a schema specific to an API version.

See Custom resources

1.4. Add or remove volumes from JBOD storage

It is now possible to add or remove volumes from JBOD storage to respond to new requirements for storing data. To make the change, the volumes spec for the Kafka resource is edited and updated. Following the update, new topics can be assigned to the disks or existing partitions can be reassigned.

See Removing volumes from JBOD storage

1.5. Resize persistent volumes

To respond to an increased demand for storage, you can now increase the size of the persistent volumes used for the storage of messages and logs in an existing AMQ Streams cluster.

A persistent volume can be resized if:

  • Your OpenShift cluster supports persistent volume resizing.
  • The persistent volume was created by using a storage class that supports volume expansion.

Persistent volume size is defined in the size field in the spec.kafka.storage and spec.zookeeper.storage properties:

apiVersion: kafka.strimzi.io/v1beta1
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    storage:
      type: persistent-claim
      size: 2000Gi
      class: my-storage-class
    # ...
  zookeeper:
    # ...

See Resizing persistent volumes

Chapter 2. Enhancements

The enhancements made to AMQ Streams 1.2.

2.1. Container images

This release includes the following changes to the management of container images for AMQ Streams on OpenShift.

2.1.1. New image registry

All AMQ Streams container images are now hosted on the new Red Hat Registry, registry.redhat.io. Unlike registry.access.redhat.com, the new registry requires authentication for access to container images.

Your OpenShift installation should be already connected and authenticated against the new registry. If it is not authenticated, you can configure your installation according to the OpenShift version:

Alternatively, you can create your own OpenShift Secret with the registry credentials, and configure AMQ Streams to use it in the STRIMZI_IMAGE_PULL_SECRETS environment variable in the Cluster Operator configuration or through the imagePullSecrets property in the template of your custom resource.

2.1.2. Reduced number of images

The number of container images for AMQ Streams has been significantly reduced. Four container images are now provided:

AMQ Streams ComponentContainer Image

Cluster Operator

registry.redhat.io/amq7/amq-streams-operator:1.2.0

Kafka version 2.1

registry.redhat.io/amq7/amq-streams-kafka-2.1:1.2.0

Kafka version 2.2

registry.redhat.io/amq7/amq-streams-kafka-2.2:1.2.0

AMQ Streams Kafka Bridge (Tech Preview)

registry.redhat.io/amq7/amq-streams-bridge:1.2.0

Previous releases of AMQ Streams provided separate images, for example, for Kafka Connect. These images have been incorporated into the Cluster Operator and Kafka images.

This release includes a new image for the AMQ Streams Kafka Bridge (as a Technology Preview).

ImageIncorporates

amq-streams-operator

java-base, cluster-operator, topic-operator, user-operator, kafka-init

amq-streams-kafka-2.1

kafka-base, kafka, kafka-connect, kafka-connect-s2i, kafka-mirror-maker, zookeeper, stunnel-base, kafka-stunnel, zookeeper-stunnel, entity-operator-stunnel

amq-streams-kafka-2.2

kafka-base, kafka, kafka-connect, kafka-connect-s2i, kafka-mirror-maker, zookeeper, stunnel-base, kafka-stunnel, zookeeper-stunnel, entity-operator-stunnel

amq-streams-kafka-bridge

New image

Note

You can access the AMQ Streams container images in the Red Hat Container Catalog.

Chapter 3. Technology previews

Important

Technology Preview features are not supported with Red Hat production service-level agreements (SLAs) and might not be functionally complete; therefore, Red Hat does not recommend implementing any Technology Preview features in production environments. This Technology Preview feature provides early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process. For more information about support scope, see Technology Preview Features Support Scope.

3.1. AMQ Streams Kafka Bridge

The AMQ Streams Kafka Bridge provides a RESTful interface to AMQ Streams, offering the advantages of a web API that is easy to use and connect with AMQ Streams without the need to interpret the Kafka protocol.

The HTTP Bridge supports HTTP producer and consumer requests to:

  • Produce records
  • Consume records
  • Create consumers
  • Delete consumers
  • Retrieve data from topics and partitions
  • Commit offsets to partitions and topics

The methods provide JSON responses and HTTP response code error handling.

Note

AMQP is not currently supported, even for Technology Preview.

See Using the AMQ Streams Kafka Bridge

3.2. Status property for a custom resource

The new status property for a AMQ Streams-specific custom resource publishes the current state of the resource to users and tools that need the information.

See AMQ Streams custom resource status

Chapter 4. Deprecated features

The features deprecated in this release, and that were supported in previous releases of AMQ Streams, are outlined below.

4.1. API version v1alpha1

API version v1alpha1 has been deprecated for this release of AMQ Streams.

Custom resources that use kafka.strimzi.io/v1alpha1 must be updated to use kafka.strimzi.io/v1beta1.

See AMQ Streams resource upgrades

Chapter 5. Fixed issues

The following table lists the issues fixed in AMQ Streams 1.2.

Issue NumberDescription

ENTMQST-1049

KubernetesClientException when upgrading Strimzi from 0.11.4 to 0.12.0-rc1

ENTMQST-998

Fix problem with 0 validity in UO when custom CA is used

ENTMQST-995

Auto-generated passwords starting with digit prevent the password from being tokenized

ENTMQST-963

TO loop receiving MODIFIED events and creating znodes

ENTMQST-934

ClusterOperator not honouring jvmOptions for Kafkamirror CR

ENTMQST-865

User external listener overrides without specifying node ports triggers NPE and breaks reconciliation

ENTMQST-859

Parsing or memory limits and requests is failing for some numbers

ENTMQST-826

An error during deploying Kafka cluster in another namespace than CO

ENTMQST-789

ZK rolling update throws strange errors in case of disaster during rolling update

ENTMQST-785

Make sure Kafka pods can do things such as rebuilding indexes at startup

ENTMQST-754

Storage type changes not handled properly when accompanied with other changes

ENTMQST-709

Cluster Operator fails to start — can’t parse certificate

ENTMQST-224

Unhandled exception during scale down zookeeper instances

Chapter 6. Known issues

There are no known issues for AMQ Streams 1.2.

Legal Notice

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.