Skip to main content
Feedback

Upgrading 6.0.0 → 6.2.x (introduced in v6.2.0)

note
  • The following upgrade steps apply only to untethered mode deployment.
  • The upgrade steps for 6.2.0 and 6.2.1 are the same and apply when upgrading from 6.0.0.

Steps to upgrade

note

Before you begin, ensure the Boomi Cloud API Management - Local Edition 6.0.0 cluster is up and running.

Procedure

  1. Build new images.

    Refer to Building Images for more information.

  2. Patch the existing service account, role, and rolebinding to be managed by Helm.

    1. Patch rolebinding.

      kubectl annotate rolebinding apiml-role-binding meta.helm.sh/release-name=<release name used to deploy the application>
      Ex. kubectl annotate rolebinding apiml-role-binding meta.helm.sh/release-name=apiml600

      kubectl annotate role
      binding apiml-role-binding meta.helm.sh/release-namespace=<namespace in which the application is deployed>
      Ex. kubectl annotate role-binding apiml-role-binding
      meta.helm.sh/release-namespace=default

      kubectl label rolebinding apiml-role-binding app.kubernetes.io/managed-by=Helm
    2. Patch roles.

      kubectl annotate role apiml-role 
      meta.helm.sh/release-name=<release name used to deploy the application>
      Ex. kubectl annotate role apiml-role
      meta.helm.sh/release-name=apiml600

      kubectl annotate role apiml-role meta.helm.sh/release-namespace=<namespace in which the application is deployed>
      Ex. kubectl annotate role apiml-role meta.helm.sh/release-namespace=default

      kubectl label role apiml-role app.kubernetes.io/managed-by=Helm
    3. Patch service account.

      kubectl annotate sa <name of sa> 
      meta.helm.sh/release-name=<release name used to deploy the application>
      Ex. kubectl annotate sa apiml-sa meta.helm.sh/release-name=apim

      kubectl annotate sa <name of sa>
      meta.helm.sh/release-namespace=<namespace in which the application is deployed>
      Ex. kubectl annotate sa apiml-sa meta.helm.sh/release-namespace=default

      kubectl label sa <name of sa> app.kubernetes.io/managed-by=Helm
      Ex. kubectl label sa apiml-sa app.kubernetes.io/managed-by=Helm
  3. Upgrade the database schema for member_role_audit_log table from apim/apim-le-toolkit.

    note

    This table needs an update for successful migration from Boomi Cloud API Management - Local Edition 4.x, 5.x, and future upgrades.

    # Example of using apim-le-toolkit container (optional)

    [ec2-user@ip-10-0-0-174 ~]$ docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    dca78a3d66e3 apim/apim-le-toolkit:v6.1.0 "/bin/bash" 6 days ago Up 6 days eloquent_davinci
    [ec2-user@ip-10-0-0-174 ~]$ docker exec -it dca78a3d66e3 bash
    I have no name!@dca78a3d66e3:/$ cd /opt/apim/db
    I have no name!@dca78a3d66e3:/opt/apim/db$ ls -lart
    total 156
    -rw-rw-r--. 1 root root 133 Oct 24 19:08 upgrade-schema-6.0.0_6.1.0.sql
    -rw-rw-r--. 1 root root 133 Oct 24 19:08 rollback-schema-6.1.0_6.0.0.sql
    -rw-rw-r--. 1 root root 1646 Oct 24 19:08 apim-le-db-token-purger-schema_6.0.0.sql
    -rw-rw-r--. 1 root root 136174 Oct 24 19:08 apim-le-db-schema_6.1.0.sql
    -rw-rw-r--. 1 root root 1227 Oct 24 19:08 apim-le-db-counter-purger-schema_6.1.0.sql
    -rw-rw-r--. 1 root root 1239 Oct 24 19:08 apim-le-db-audit-purger-schema_6.1.0.sql
    drwxr-xr-x. 1 root root 16 Nov 12 04:28 ..
    drwxr-xr-x. 1 65532 root 45 Nov 12 04:28 .
    I have no name!@dca78a3d66e3:/opt/apim/db$ mysql --database=masherysolar -h <Host-ip> -u<DDL user> -p<DDL Password> < upgrade-schema-6.0.0_6.1.0.sql

    -------------------------
    Check in the mysql instance

    MySQL [masherysolar]> desc member_role_audit_log;
    +---------------+--------------+------+-----+---------+----------------+
    | Field | Type | Null | Key | Default | Extra |
    +---------------+--------------+------+-----+---------+----------------+
    | handle | varchar(255) | NO | | NULL | |
    | role_id | int unsigned | NO | | NULL | |
    | area_id | int unsigned | NO | MUL | NULL | |
    | changed_by | varchar(255) | NO | | NULL | |
    | changed_on | datetime | YES | | NULL | |
    | change_type | char(1) | YES | | NULL | |
    | delta | longtext | YES | | NULL | |
    | auto_id | int | NO | PRI | NULL | auto_increment |
    | is_anonymized | tinyint(1) | YES | | 0 | |
    | id | int | YES | | NULL | |
    +---------------+--------------+------+-----+---------+----------------+
    10 rows in set (0.032 sec)

    MySQL [masherysolar]> select * from member_role_audit_log;
    +----------------+---------+---------+------------+---------------------+-------------+----------------------------------------------------------+---------+---------------+------+
    | handle | role_id | area_id | changed_by | changed_on | change_type | delta | auto_id | is_anonymized | id |
    +----------------+---------+---------+------------+---------------------+-------------+----------------------------------------------------------+---------+---------------+------+
    | AutoBOTUser333 | 4000003 | 2222 | admin | 2024-10-23 16:47:21 | U | {"role_id":{"+":"567dbc68-d9d1-48b9-b039-52d6f10477f2"}} | 1 | 0 | NULL |
    +----------------+---------+---------+------------+---------------------+-------------+----------------------------------------------------------+---------+---------------+------+
    1 row in set (0.026 sec)
  4. Log in to MySQL using MySQL CLI. Run the following queries at the MySQL prompt:

    note
    • The content_objects table needs to be updated for successful migration from Boomi Cloud API Management - Local Edition 6.x and future upgrades.

    • Run this MySQL update command only in untethered mode deployment. Skip this step in tethered mode deployment.

    1. Update the content_objects table:

      UPDATE content_objects 
      SET created_by = CASE WHEN created_by = 'admin' THEN '<new username>' ELSE created_by END,
      edited_by = CASE WHEN edited_by = 'admin' THEN '<new username>' ELSE edited_by END
      WHERE created_by = 'admin' OR edited_by = 'admin';

      Then, replace <new username> with the admin user name provided with the helm install command.

    2. Update the portal navigation table. Then, replace <new username> with the admin user name provided with the helm install command.

      UPDATE portal_nav
      SET created_by = CASE WHEN created_by = 'admin' THEN '<new username>' ELSE created_by END,
      edited_by = CASE WHEN edited_by = 'admin' THEN '<new username>' ELSE edited_by END
      WHERE created_by = 'admin' OR edited_by = 'admin';

      Then, replace <new username> with the admin user name provided with the helm install command.

  5. Upgrade cluster using Helm. Run the following command:

    $ helm upgrade apim deploy  --namespace <namespace name> 
    --set preInstallDBPrep.initDBUserPassword= \
    --set preInstallDBPrep.localDevAdminPassword=

    The expected sample output is as follows:

    NAME: apim
    LAST DEPLOYED: Fri Oct 13 08:01:54 2023
    NAMESPACE: <namespace_name>
    STATUS: deployed
    REVISION: 2
    TEST SUITE: None
tip

If you are facing any issues upgrading to 6.2.x, consider rolling back to 6.0.0.

Refer to Rollback 6.1–6.2.x → previous 6.x for more information.

On this Page