Chapter 1. 3scale API Management operator-based upgrade guide: from 2.14 to 2.15 Upgrade Red Hat 3scale API Management from version 2.14 to 2.15, in an operator-based installation to manage 3scale on OpenShift 4.x. To automatically obtain a micro-release of 3scale, make sure automatic updates is on. Do not set automatic updates if you are using an Oracle external database. To check this, see Configuring automated application of micro releases . Important In order to understand the required conditions and procedure, read the entire upgrade guide before applying the listed steps. The upgrade process disrupts the provision of the service until the procedure finishes. Due to this disruption, make sure to have a maintenance window. 1.1. Prerequisites to perform the upgrade Important To resolve certificate verification failures with the 3scale operator, add the annotation to skip certificate verification to the affected Custom Resource (CR). This annotation can be applied to a CR during creation or added to an existing CR. Once applied, the errors are reconciled. This section describes the required configurations to upgrade 3scale from 2.14 to 2.15 in an operator-based installation. An OpenShift Container Platform (OCP) 4.12, 4.13, 4.14, 4.15, 4.16, or 4.17 cluster with administrator access. Ensure that your OCP environment is upgraded to at least version 4.12, which is the minimal requirement for proceeding with a 3scale update. 3scale 2.14 previously deployed via the 3scale operator. Make sure the latest CSV of the threescale-2.14 channel is in use. To check it: If the approval setting for the subscription is automatic , you should already be in the latest CSV version of the channel. If the approval setting for the subscription is manual , make sure you approve all pending InstallPlans and have the latest CSV version. Keep in mind if there is a pending install plan, there might be more pending install plans, which will only be shown after the existing pending plan has been installed. 1.1.1. 3scale API Management 2.15 pre-flight checks Important If the databases are not upgraded, the 3scale instance will not be upgraded to 2.15. You can upgrade your databases with or without the 3scale 2.15 operator running. If the operator is running, it checks database versions every 10 minutes and will automatically trigger the upgrade process. If the operator was not running during the upgrade, scale it back up. You must do this to verify the requirements and continue with the installation. Before installing the 3scale 2.15 via the operator, ensure your database components meet the required minimum versions. This pre-flight check is critical to avoid breaking your 3scale instance during the upgrade. 1.1.1.1. Components and minimum version requirements Note The Oracle Database is not checked. The system database with Oracle is not checked. Zync with external databases is not checked. Ensure the following components are at or above the specified versions: System-app component: MySQL: 8.0.0 PostgreSQL: 10.0.0 Backend component: Redis: 6.2 (two instances required) Version verification Verify MySQL version: USD mysql --version Verify PostgreSQL version: USD psql --version Verify Redis version: USD redis-server --version 1.1.1.2. Upgrading databases not meeting requirements If your database versions do not meet the minimum requirements, follow these steps: Install the 3scale 2.15 operator : The 2.15 operator is installed regardless of the database versions. Upgrade databases: Upgrade MySQL, PostgreSQL, or Redis to meet the minimum required versions. Note: Follow the official documentation for the upgrade procedures of each database. Resume 2.15 upgrade: Once the databases are upgraded, the 3scale 2.15 operator detects the new versions. The upgrade process for 3scale 2.15 will then proceed automatically. By following these pre-flight checks and ensuring your database components are up-to-date, you can transition to 3scale 2.15. 1.2. Upgrading from 2.14 to 2.15 in an operator-based installation To upgrade 3scale from version 2.14 to 2.15 in an operator-based deployment: Log in to the OCP console using the account with administrator privileges. Select the project where the 3scale-operator has been deployed. Click Operators > Installed Operators . Select Red Hat Integration - 3scale > Subscription > Channel . Edit the channel of the subscription by selecting threescale-2.15 and save the changes. This will start the upgrade process. Query the pods' status on the project until you see all the new versions are running and ready without errors: USD oc get pods -n <3scale_namespace> Note The pods might have temporary errors during the upgrade process. The time required to upgrade pods can vary from 5-10 minutes. After new pod versions are running, confirm a successful upgrade by logging in to the 3scale Admin Portal and checking that it works as expected. Check the status of the APIManager objects and get the YAML content by running the following command. <myapimanager> represents the name of your APIManager : USD oc get apimanager <myapimanager> -n <3scale_namespace> -o yaml The new annotations with the values should be as follows: After you have performed all steps, the 3scale upgrade from 2.14 to 2.15 in an operator-based deployment is complete. 1.3. Upgrading from 2.14 to 2.15 in an operator-based installation with an external Oracle database Follow this procedure to update your 3scale operator-based installation with an external Oracle database. Procedure Follow these steps in Installing Red Hat 3scale API Management guide to create a new system-oracle-3scale-2.14.0-1 image. Follow the steps in link:h:Link3scaleMigrating3scale: Upgrading from 2.14 to 2.15 in an operator-based installation to upgrade the 3scale operator. Once the upgrade is completed, update the APIManager custom resource with the new image created in the first step of this procedure as described in Installing 3scale API Management with Oracle using the operator .

Commands:
mysql --version
psql --version
redis-server --version
oc get pods -n <3scale_namespace>
oc get apimanager <myapimanager> -n <3scale_namespace> -o yaml
apps.3scale.net/apimanager-threescale-version: "2.15" apps.3scale.net/threescale-operator-version: "0.12.x"