Chapter 3. Red Hat 3scale API Management 2.12

This document is intended for use with Red Hat 3scale API Management 2.12 On-premises.

3.1. New features

Red Hat 3scale API Management 2.12 provides the following new features:

  • Support for Red Hat 3scale API Management on IBM Z and LinuxONE. For details, see Support for IBM Z and LinuxONE.
  • Support for Red Hat 3scale API Management on Red Hat OpenShift Dedicated (OSD), Red Hat OpenShift Service on AWS (ROSA) and Azure Red Hat OpenShift (ARO).
  • Support for MySQL 8 database (Jira 7786).

    To use MySQL 8.0 with 3scale 2.12, you must set the authentication plugin to mysql_native_password. Add the following to the MySQL configuration file:

    default_authentication_plugin=mysql_native_password
  • Support for PostgreSQL 13 as an external database for the System component (Jira 7897).
  • Cluster wide install mode. Operators can now be available in all namespaces (Jira 7959 Jira 7960).
  • New toolbox CLI commands to manage APIcast proxy configurations (Jira 7997).
  • Enhanced toolbox CLI import command to create a backend API from an OpenAPI document (Jira 7715).
  • Ability to configure external database components separately (Jira 6836).
  • Improved user interface (UI) for managing methods and metrics (Jira 6867 and Jira 6872).

3.2. Support for IBM Z and LinuxONE

These are the supported features for IBM Z and LinuxONE (s390x):

  • 3scale deployment from OperatorHub
  • All Universal Base Images (UBI) 7 and UBI 8 images
  • Self-managed APIcast operators on OpenShift Container Platform (RHOCP) v4.10
  • Self-managed APIcast on OCP for APIcast v3.12
  • Toolbox images
  • Red Hat Single Sign-On (RH SSO) 7.5

These features are not supported for IBM Z and LinuxONE:

  • Self-managed APIcast on Podman on top of RHEL 8
  • MSQL 8 external
  • PostgreSQL 13.x external
  • Redis HA
  • Oracle Database 19c
  • S3 API compatible file storage - Minio
  • Deployment in disconnected (air-gapped) RHOCP environment

3.3. Technology Preview features

Important

Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see https://access.redhat.com/support/offerings/techpreview/.

Red Hat 3scale API Management 2.12 provides the 3scale operator for application capabilities as a Technology Preview feature. The 3scale operator enables the use of custom resources (CRs) to define 3scale tenants, APIs, application plans, limits, metrics and other objects for use in a 3scale installation (Jira 3486). See Using the 3scale operator to configure and provision 3scale.

3scale operator application capabilities have been improved in 3scale 2.12 to allow declarative deletion of Tenant (Jira 6051), Product (Jira 6581) and Backend (Jira 6580) custom resources.

3.4. Resolved issues

Red Hat 3scale API Management 2.12 resolves the following issues:

  • Redundant feature in usage rules when using app_id & app_key mode (Jira 6296).
  • Date filter not working on APIcast logging policy (Jira 6594).
  • Environment variable (AMP_VERSION) not updated on system upgrades (Jira 7427).
  • Toolbox throws "Unexpected error. Limit 120 referencing to metric id 250 which has not been found." (Jira 7568).
  • Liquid filter "Split" ignores the last element in the resulting array (Jira 7643).
  • Liquid “contains” keyword does not work as expected when parsing an array (Jira 7678).
  • Operator failing to create backend (Jira 7900).
  • APIcast operator takes ownership of existing secret (Jira 7904).
  • Operator failing to sync CRDs when using "oc apply" with backend+product configuration (Jira 7911).
  • Issues with tags separator for the Developer Portal CMS files/pages (Jira 7935).
  • Date Picker on Product Analytics never disappears (Jira 7947).
  • APIcast does not support using a proxy to connect with upstreams not defined as Private Base URL (Jira 7967).
  • APIcast configured with TLS termination and path routing routes requests to the wrong service (Jira 8000 and Jira 8007).
  • Emails can be sent without subject and/or body (Jira 8009).
  • Incomplete status when defining a product with 3scale CRD (Jira 8031).
  • APIcast deployments not rolled out when APIManager CR fields change their value (Jira 8126).
  • Original request info contains wrong data when client-side connections are reused (Jira 8252).
  • The operator fails when creating an ActiveDoc with an empty content (Jira 8287).
  • Deleting a tenant from the UI results in infinite loop when the tenant was created declaratively (Jira 8301).

3.5. Known issues

Known issues in Red Hat 3scale API Management 2.12:

  • APIcast cannot retrieve the latest version of the proxy configuration for the service that matches the request’s host (Jira 8485).
  • In 3scale on-premises, search does not work for products, backends, or accounts that are older than 24 hours (Jira 8417).
  • Duplicate tags in a tenant cause migration to fail. Before migration from 2.11 to 2.12, determine whether there is a tenant that contains duplicate tags. For example, for a MySQL database, run the following query:

    SELECT tenant_id, name, count(*) from tags GROUP BY tenant_id, name HAVING count(*) > 1;

    This query tests all tenants. An empty result indicates that there are no duplicate tags in any tenant. If a tenant contains duplicate tags, follow the procedure in Jira 7986 to remove the duplicate tag.

  • The NGINX Filters policy has no effect if you also add the Content Caching policy. The default behavior is that content caching is disabled. If you enable content caching, NGINX returns a 412 response code when it cannot validate a request header even if you specified that header when you added the NGINX Filters policy (Jira 7514).
  • Usernames in 3scale must be 40 characters or fewer. When a username has more than 40 characters, 3scale usually truncates it. Consider this when you do any of the following:

    • Create a developer account.
    • Create a provider account as the master.
    • Add a user to a provider account as the provider or as the master.
    • Add a user to a developer account in the Developer Portal or in the Admin Portal.

    Usernames must be 40 characters or fewer when using Red Hat Single Sign-On to authenticate access to the Admin Portal or Developer Portal.