Update Apigee Edge 4.51.00 or 4.52.00 or 4.52.01 to 4.52.02

Apigee supports upgrading Edge for Private Cloud directly from version 4.51.00, 4.52.00, or 4.52.01 to version 4.52.02. This page describes how to perform such upgrades.

Who can perform the update

The person running the update should be the same as the person who originally installed Edge, or a person running as root.

After you install the Edge RPMs, anyone can configure them.

Which components must you update

You must update all Edge components. Edge does not support a setup that contains components from multiple versions.

Update prerequisites

Make sure of the following prerequisites before upgrading Apigee Edge:

  • Backup all nodes
    Before you update, we recommend that you perform a complete backup of all nodes for safety reasons. Use the procedure for your current version of Edge to perform the backup.

    This allows you to have a backup plan, in case the update to a new version doesn't function properly. For more information on backup, see Backup and Restore.

  • Ensure Edge is running
    Ensure that Edge is up and running during the update process by using the command:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Ensure that the Cassandra Compaction Strategy is LeveledCompactionStrategy
    Ensure that the Cassandra compaction strategy is set to LeveledCompactionStrategy, as described in Change the Cassandra compaction strategy.

What special steps to consider for upgrade

To upgrade to Edge for Private Cloud 4.52.02, consider running specific steps for upgrading certain software. The necessary steps depend on your current version. Refer to the table below for the various software requiring supplementary steps. Later sections on this page provide detailed discussions and exact steps for each software.

Current version Software that require special steps for upgrade to 4.52.02
4.52.01 Cassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, Qpid, Postgres

Automatic propagation of property settings

If you have set any properties by editing .properties files in /opt/apigee/customer/application, then these values are retained by the update.

Required upgrade to Cassandra 3.11.16

Apigee Edge for Private Cloud 4.52.02 includes an upgrade of Cassandra to version 3.11.16. Cassandra is a critical component of Apigee, and this upgrade also includes updates to the driver software in various runtime and management components used to query and write to Cassandra.

As this is a major upgrade, certain changes to Apigee’s data model in Cassandra were necessary to ensure optimal performance in newer versions. Although these changes are minimal, the upgrade process disrupts certain management APIs, affecting both Apigee UI and the developer portal. The document below specifies the exact APIs that will not function and outlines the steps during the upgrade when the disruption starts and ends. Importantly, there should be no disruption to runtime traffic during the upgrade.

High level rollback

Apply Cassandra upgrades one node at a time. As soon as a node is updated, certain schema changes take effect that cannot be rolled back directly. Read the section on Rollback thoroughly, as different techniques can be used depending on how much of the cluster has been upgraded.

If you need to roll back the upgrade after the entire Cassandra cluster is upgraded, the only option is to restore backups. Prepare for this and gain familiarity with Cassandra backup restoration. If you can restore VM-level snapshots faster than Apigee backups, use VM snapshots to restore your Cassandra VMs to an earlier state.

For more details, refer to the Rollback the Cassandra 3.11.16 update section.

Documenting APIs in the developer portal

The Apigee Drupal developer portal offers various features for documenting your APIs. While it is recommended to transition away from using the Drupal 7-based developer portal, if you are still using it and utilizing its SmartDocs feature, Using SmartDocs APIs document applies to you. If you are using newer versions of the developer portal, there will be no impact on your API documentation during this upgrade.

When you upgrade Apigee to version 4.52.02, any API models created using the SmartDocs feature of the Drupal 7 developer portal will not be migrated to the newer version automatically. You are expected to manually export each model using the developer portal and import it again after completing the upgrade.

Terminology used in the following sections

Runtime: Runtime encompasses the handling of your runtime proxy traffic. It includes all operations performed by your Routers and Message Processors to effectively process a runtime API request for existing proxies. However, it does not include the deployment of new proxies or new revisions of proxies.

Management: Management includes the administration of your Apigee Edge system. This includes, but is not limited to, deployments, modifications of apps, products, target servers, keystores, etc. All management APIs (and their clients such as Apigee UI and developer portal) are included in this scope.

In each step below, the state of runtime and management is described as you progress through the various stages of the upgrade procedure. Note that there is no impact on runtime traffic during the upgrade. However, there is disruption to a small subset of management APIs and developer portal functionality.

Step 0: Start state

  1. Cassandra in Apigee running with version 2.1.22.
  2. Edge for Private Cloud 4.52.02 components:
    • Management-server communicating with Cassandra via older thrift protocol.
    • Runtime servers (Message Processors & Routers) communicating with Cassandra via older thrift protocol.
Runtime state at this stage Management state at this stage
Runtime fully functional Management fully functional

Step 1: Prepare for upgrade

The steps below are in addition to standard files that you typically create, such as Apigee’s standard configuration file for enabling component upgrades.

  1. Change Cassandra to use LeveledCompactionStrategy.
  2. Backup Cassandra using Apigee.
  3. Take VM snapshots of Cassandra nodes (if feasible).
  4. Create a Cassandra upgrade configuration file on each Cassandra node at /opt/apigee/apigee-cassandra/cass_upgrade.conf with the following contents:
    # IP Address of node
    HOSTIP=10.0.0.1
    
    # Username for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication.
    CASS_USERNAME=<cassuser>
    
    # Password for running Cassandra queries. Optional. Can be skipped if you have not enabled Cassandra authentication.
    CASS_PASSWORD=<casspass>
    
    # Port for connecting to Cassandra via thrift. Optional. Defaults to 9160 if skipped.
    CASS_PORT=9160
    
    # Port for connecting to Cassandra via CQL. Optional. Defaults to 9042 if skipped.
    CASS_CQL_PORT=9042
    
    # Directory to be used by Cassandra upgrade scripts. Optional. Defaults to /tmp/cass_upgrade_scripts if skipped.
    # Note that if upgrade is successful, this directory is deleted via root user - so provide a directory accordingly.
    CASS_TMP_DIR=/tmp/cass_upgrade_scripts
        
    If the file cannot be created at /opt/apigee/apigee-cassandra/cass_upgrade.conf, create the file /opt/silent.conf with the same contents on each Cassandra node.
  • If you use the SmartDocs feature of Apigee Drupal 7 developer portal, take an export of each of your models by downloading them in JSON format from the developer portal UI. These models will need to be imported back into Apigee after the management servers are updated.
  • Ensure that ports 9160 and 9042 are accessible from all Edge for Private Cloud 4.52.02 components to Cassandra nodes if not already present. Refer to Port requirements for more information.

Step 2: Upgrade all Cassandra nodes

  1. Upgrade all Cassandra nodes in all regions one by one. Run the following commands on each node:
    /opt/apigee/apigee-setup/bin/update.sh -c cs -f configFile
  2. Once a node is updated, run the following command on the node to run some validations before proceeding ahead:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra validate_upgrade -f configFile
  3. The above will output something along the lines of:
    Cassandra version is verified - [cqlsh 5.0.1 | Cassandra 3.11.16 | CQL spec 3.4.4 | Native protocol v3] Metadata is verified
Runtime state at this stage Management state at this stage
Runtime fully functional Following management function is degraded after Cassandra is upgraded:

Step 3: Upgrade all Management nodes

Upgrade all Management nodes in all regions one by one:

/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
Runtime State Management State
Runtime fully functional Management API degraded:

Step 3a: [optional] Import SmartDocs which were previously exported

Once all management servers are upgraded, you can import the SmartDocs models you had exported in Step 1. You can decide to do this later as well.

Runtime State Management State
Runtime fully functional Management fully functional

Step 4: Upgrade all Runtime nodes

Upgrade all Routers and Message Processor nodes in all regions one by one:

/opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
Runtime State Management State
Runtime fully functional Management fully functional

Step 5: Upgrade all remaining Edge for Private Cloud 4.52.02 components

Upgrade all remaining edge-qpid-server and edge-postgres-server nodes in all regions one by one.

At this stage, if you are upgrading from versions earlier than Edge for Private Cloud 4.52.01, and are following additional steps for upgrading Qpid or Postgres, follow the respective steps to upgrade the same.

Runtime State Management State
Runtime fully functional Management fully functional

Step 6: Post upgrade steps

Run the following command on each Cassandra node one by one after the upgrade is complete:

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra post_upgrade

Run the following command to drop old unused tables from the Cassandra cluster. Until this is run, you cannot use certain features of Cassandra (like setting up new authentication - old authentication mechanisms will continue to work). This command can only be executed on only 1 node in the cluster:

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra drop_old_tables -f configFile

Complete step 3a if you have not already done so.

Runtime State Management State
Runtime fully functional Management fully functional

Required upgrade to Zookeeper 3.8.3

Even though Edge for Private Cloud 4.52.02 doesn’t include an upgrade to Zookeeper, if you are upgrading from versions older than 4.52.01, you need to follow the steps to upgrade Zookeeper.

  • If you are upgrading from Edge for Private Cloud versions 4.51.00 or 4.52.00, refer to the steps in Required upgrade to Zookeeper 3.8.3 to upgrade Zookeeper.
  • If you are upgrading from Edge for Private Cloud version 4.52.01, you should already be using Zookeeper version 3.8.3, and you don’t need to follow any special steps for upgrading Zookeeper.

Required upgrade to Postgres 14

  • If you are upgrading from Edge for Private Cloud 4.51.00 to 4.52.02, you must follow the steps to upgrade Postgres, even though Edge for Private Cloud 4.52.02 does not include a Postgres upgrade. Upgrading from Edge for Private Cloud 4.51.00 to 4.52.02 requires additional Postgres upgrade steps. Please refer to the Required upgrade to Postgres 14 section.
  • If you are upgrading from Edge for Private Cloud 4.52.00 or 4.52.01 to 4.52.02, no additional Postgres upgrade steps are required.

Required upgrade to Qpid J-Broker

Even though Edge for Private Cloud 4.52.02 does not include an upgrade to QPID, if you are upgrading from versions older than 4.52.01, you need to follow the steps to upgrade QPID.

  • If you are upgrading from Edge for Private Cloud 4.51.00 or 4.52.00 to 4.52.02, it is necessary to follow additional QPID upgrade steps. Please refer to the Upgrade Qpid section if you are upgrading from version 4.51.00 or 4.52.00 to 4.52.02.
  • If you are upgrading from Edge for Private Cloud 4.52.01 to 4.52.02, you should already be using the latest version of the Qpid Broker, and no additional QPID upgrade steps are necessary.

New Edge UI

This section lists considerations regarding the Edge UI. For more information, see The new Edge UI for Private Cloud.

Install the Edge UI

After you complete the initial installation, Apigee recommends that you install the Edge UI, which is an enhanced user interface for developers and administrators of Apigee Edge for Private Cloud.

Note that the Edge UI requires that you disable Basic authentication and use an IDP such as SAML or LDAP.

For more information, see Install the new Edge UI.

Update the Edge UI

To update the Edge UI component, consider the version of Edge for the Private Cloud that you are upgrading from:

Update with Apigee mTLS

To update Apigee mTLS , do the following steps:

Rolling back an update

In the case of an update failure, you can try to correct the issue, and then execute update.sh again. You can run the update multiple times and it continues the update from where it last left off.

If the failure requires that you roll back the update to your previous version, see Roll back 4.52.00 for detailed instructions.

Logging update information

By default, the update.sh utility writes log information to:

/opt/apigee/var/log/apigee-setup/update.log

If the person running the update.sh utility does not have access to that directory, it writes the log to the /tmp directory as a file named update_username.log.

If the person does not have access to /tmp, the update.sh utility fails.

Zero-downtime update

A zero-downtime update, or rolling update, lets you update your Edge installation without bringing down Edge.

Zero-downtime update is only possible with a 5-node configuration and larger.

The key to zero-downtime upgrading is to remove each Router, one at a time, from the load balancer. You then update the Router and any other components on the same machine as the Router, and then add the Router back to the load balancer.

  1. Update the machines in the correct order for your installation as described Order of machine update.
  2. When it is time to update the Routers, select any one Router and make it unreachable, as described in Enabling/Disabling server (Message Processor/Router) reachability.
  3. Update the selected Router and all other Edge components on the same machine as the Router. All Edge configurations show a Router and Message Processor on the same node.
  4. Make the Router reachable again.
  5. Repeat steps 2 through 4 for the remaining Routers.
  6. Continue the update for any remaining machines in your installation.

Take care of the following before and after the update:

Use a silent configuration file

You must pass a silent configuration file to the update command. The silent configuration file should be the same one that you used to install Edge 4.50.00 or 4.51.00.

Update to 4.52.02 on a node with an external internet connection

Use the following procedure to update the Edge components on a node:

  1. If present, disable any cron jobs configured to perform a repair operation on Cassandra until after the update completes.
  2. Log in to your node as root to install the Edge RPMs.
  3. Install yum-utils and yum-plugin-priorities:
    sudo yum install yum-utils
    sudo yum install yum-plugin-priorities
  4. Disable SELinux as described in Install the Edge apigee-setup utility.
  5. If you are installing on Oracle 7.x, execute the following command:
    sudo yum-config-manager --enable ol7_optional_latest
  6. If you are installing on AWS, execute the following yum-configure-manager commands:
    yum update rh-amazon-rhui-client.noarch
    sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
  7. If you are currently on Edge 4.51.00:

    1. Download the Edge bootstrap_4.52.02.sh file to /tmp/bootstrap_4.52.02.sh:
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
    2. Install the Edge 4.52.02 apigee-service utility and dependencies by executing the following command:
      sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord

      Where uName:pWord are the username and password you received from Apigee. If you omit pWord, you will be prompted to enter it.

      By default, the installer checks that you have Java 1.8 installed. If you do not, the installer installs it for you.

      Use the JAVA_FIX option to specify how to handle Java installation. JAVA_FIX takes the following values:

      • I: Install OpenJDK 1.8 (default).
      • C: Continue without installing Java.
      • Q: Quit. For this option, you must install Java yourself.
    3. Use apigee-service to update the apigee-setup utility, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service apigee-setup update
    4. Update the apigee-validate utility on the Management Server, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
    5. Update the apigee-provision utility on the Management Server, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
    6. Run the update utility on your nodes by executing the following command:
      /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

      Do this in the order described in Order of machine update.

      Where:

      • component is the Edge component to update. Possible values include:
        • cs: Cassandra
        • edge: All Edge components except Edge UI: Management Server, Message Processor, Router, QPID Server, Postgres Server
        • ldap: OpenLDAP
        • ps: postgresql
        • qpid: qpidd
        • sso: Apigee SSO (if you installed SSO)
        • ue: New Edge UI
        • ui: Classic Edge UI
        • zk: Zookeeper
      • configFile is the same configuration file that you used to define your Edge components during the 4.50.00 or 4.51.00 installation.

      You can run update.sh against all components by setting component to "all", but only if you have an Edge all-in-one (AIO) installation profile. For example:

      /opt/apigee/apigee-setup/bin/update.sh -c all -f ./sa_silent_config
    7. Restart the Edge UI component on all nodes running it, if you haven't done so already:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
    8. Test the update by running the apigee-validate utility on the Management Server, as described in Test the install.

If you later decide to roll back the update, use the procedure described in Roll back 4.52.02.

Update to 4.52.02 from a local repo

If your Edge nodes are behind a firewall, or in some other way are prohibited from accessing the Apigee repository over the Internet, then you can perform the update from a local repository, or mirror, of the Apigee repo.

After you create a local Edge repository, you have two options for updating Edge from the local repo:

  • Create a .tar file of the repo, copy the .tar file to a node, and then update Edge from the .tar file.
  • Install a webserver on the node with the local repo so that other nodes can access it. Apigee provides the Nginx webserver for you to use, or you can use your own webserver.

To update from a local 4.52.02 repo:

  1. Create a local 4.52.02 repo as described in "Create a local Apigee repository" at Install the Edge apigee-setup utility.
  2. To install apigee-service from a .tar file:
    1. On the node with the local repo, use the following command to package the local repo into a single .tar file named /opt/apigee/data/apigee-mirror/apigee-4.52.02.tar.gz:
      /opt/apigee/apigee-service/bin/apigee-service apigee-mirror package
    2. Copy the .tar file to the node where you want to update Edge. For example, copy it to the /tmp directory on the new node.
    3. On the new node, untar the file to the /tmp directory:
      tar -xzf apigee-4.52.02.tar.gz

      This command creates a new directory, named repos, in the directory containing the .tar file. For example /tmp/repos.

    4. Install the Edge apigee-service utility and dependencies from /tmp/repos:
      sudo bash /tmp/repos/bootstrap_4.52.02.sh apigeeprotocol="file://" apigeerepobasepath=/tmp/repos

      Notice that you include the path to the repos directory in this command.

  3. To install apigee-service using the Nginx webserver:
    1. Configure the Nginx web server as described in "Install from the repo using the Nginx webserver" at Install the Edge apigee-setup utility.
    2. On the remote node, download the Edge bootstrap_4.52.02.sh file to /tmp/bootstrap_4.52.02.sh:
      /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh

      Where uName:pWord are the username and password you set previously for the repo, and remoteRepo is the IP address or DNS name of the repo node.

    3. On the remote node, install the Edge apigee-setup utility and dependencies:
      sudo bash /tmp/bootstrap_4.52.02.sh apigeerepohost=remoteRepo:3939 apigeeuser=uName apigeepassword=pWord apigeeprotocol=http://

      Where uName:pWord are the repo username and password.

  4. Use apigee-service to update the apigee-setup utility, as the following example shows:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup update 
  5. Update the apigee-validate utility on the Management Server, as the following example shows:
    /opt/apigee/apigee-service/bin/apigee-service apigee-validate update
  6. Update the apigee-provision utility on the Management Server, as the following example shows:
    /opt/apigee/apigee-service/bin/apigee-service apigee-provision update
  7. Run the update utility on your nodes in the order described in Order of machine update:
    /opt/apigee/apigee-setup/bin/update.sh -c component -f configFile

    Where:

    • component is the Edge component to update. You typically update the following components:
      • cs: Cassandra
      • edge: All Edge components except Edge UI: Management Server, Message Processor, Router, QPID Server, Postgres Server
      • ldap: OpenLDAP
      • ps: postgresql
      • qpid: qpidd
      • sso: Apigee SSO (if you installed SSO)
      • ue New Edge UI
      • ui: Classic Edge UI
      • zk: Zookeeper
    • configFile is the same configuration file that you used to define your Edge components during the 4.50.00 or 4.51.00 installation.

    You can run update.sh against all components by setting component to "all", but only if you have an Edge all-in-one (AIO) installation profile. For example:

    /opt/apigee/apigee-setup/bin/update.sh -c all -f /tmp/sa_silent_config
  8. Restart the UI components on all nodes running it, if you haven't done so already:
    /opt/apigee/apigee-service/bin/apigee-service [edge-management-ui|edge-ui] restart
  9. Test the update by running the apigee-validate utility on the Management Server, as described in Test the install.

If you later decide to roll back the update, use the procedure described in Roll back 4.52.02.

Order of machine update

The order that you update the machines in an Edge installation is important:

  • You must update all Cassandra and ZooKeeper nodes before you update any other nodes.
  • For any machine with multiple Edge components (Management Server, Message Processor, Router, QPID Server but not Postgres Server), use the -c edge option to update them all at the same time.
  • If a step specifies that it should be performed on multiple machines, perform it in the specified machine order.
  • There is no separate step to update Monetization. It is updated when you specify the -c edge option.

1-node standalone upgrade

To upgrade a 1-node standalone configuration to 4.52.02:

  1. Update all components:
    /opt/apigee/apigee-setup/bin/update.sh -c all -f configFile
  2. (If you installed apigee-adminapi) Updated the apigee-adminapi utility:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update

2-node standalone upgrade

Update the following components for a 2-node standalone installation:

See Installation topologies for the list of Edge topologies and node numbers.

  1. Update Cassandra and ZooKeeper on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. Update Postgres on machine 2:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. Update LDAP on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. Update Edge components on machine 2 and 1:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. Update Qpid on Machine 2:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  6. Update the UI on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
  7. (If you installed apigee-adminapi) Updated the apigee-adminapi utility on machine 1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (If you installed Apigee SSO) Update Apigee SSO on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    Where sso_config_file is the configuration file you created when you installed SSO.

  9. Restart the Edge UI component on machine 1:
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

5-node upgrade

Update the following components for a 5-node installation:

See Installation topologies for the list of Edge topologies and node numbers.

  1. Update Cassandra and ZooKeeper on machine 1, 2, and 3:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. Update Postgres on machine 4:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. Update Postgres on machine 5:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. Update LDAP on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. Update Edge components on machine 4, 5, 1, 2, 3:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. Update Qpid on machine 4:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  7. Update Qpid on machine 5:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  8. Update the Edge UI:
    • Classic UI: If you are using the classic UI, then update the ui component on machine 1, as the following example shows:
      /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
    • New Edge UI: If you installed the new Edge UI, then update the ue component on the appropriate machine (may not be machine 1):
      /opt/apigee/apigee-setup/bin/update.sh -c ue -f /opt/silent.conf
  9. (If you installed apigee-adminapi) Updated the apigee-adminapi utility on machine 1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  10. (If you installed Apigee SSO) Update Apigee SSO on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    Where sso_config_file is the configuration file you created when you installed SSO.

  11. Restart the UI component:
    • Classic UI: If you are using the classic UI, then restart the edge-ui component on machine 1, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
    • New Edge UI: If you installed the new Edge UI, then restart the edge-management-ui component on the appropriate machine (may not be machine 1):
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart

9-node clustered upgrade

Update the following components for a 9-node clustered installation:

See Installation topologies for the list of Edge topologies and node numbers.

  1. Update Cassandra and ZooKeeper on machine 1, 2, and 3:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. Update Postgres on machine 8:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. Update Postgres on machine 9:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. Update LDAP on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. Update Edge components on machine 6, 7, 8, 9, 1, 4, and 5 in that order:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. Update Qpid on machines 6 and 7:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  7. Update either the new UI (ue) or classic UI (ui) on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
  8. (If you installed apigee-adminapi) Update the apigee-adminapi utility on machine 1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (If you installed Apigee SSO) Update Apigee SSO on machine 1:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    Where sso_config_file is the configuration file you created when you installed SSO.

  10. Restart the UI component:
    • Classic UI: If you are using the classic UI, then restart the edge-ui component on machine 1, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
    • New Edge UI: If you installed the new Edge UI, then restart the edge-management-ui component on the appropriate machine (may not be machine 1):
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart

13-node clustered upgrade

Update the following components for a 13-node clustered installation:

See Installation topologies for the list of Edge topologies and node numbers.

  1. Update Cassandra and ZooKeeper on machines 1, 2, and 3:
    /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. Update Postgres on machine 8:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. Update Postgres on machine 9:
    /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  4. Update LDAP on machine 4 and 5:
    /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  5. Update Edge components on machines 12, 13, 8, 9, 6, 7, 10, and 11 in that order:
    /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  6. Update Qpid on machines 12 and 13:
    /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  7. Update either the new UI (ue) or classic UI (ui) on machines 6 and 7:
    /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
  8. (If you installed apigee-adminapi) Updated the apigee-adminapi utility on machines 6 and 7:
    /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  9. (If you installed Apigee SSO) Update Apigee SSO on machines 6 and 7:
    /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file

    Where sso_config_file is the configuration file you created when you installed SSO.

  10. Restart the UI component:
    • Classic UI: If you are using the classic UI, then restart the edge-ui component on machines 6 and 7, as the following example shows:
      /opt/apigee/apigee-service/bin/apigee-service edge-ui restart
    • New Edge UI: If you installed the new Edge UI, then restart the edge-management-ui component on machines 6 and 7:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart

12-node clustered upgrade

Update the following components for a 12-node clustered installation:

See Installation topologies for the list of Edge topologies and node numbers.

  1. Update Cassandra and ZooKeeper:
    1. On machines 1, 2 and 3 in Data Center 1:
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
    2. On machines 7, 8, and 9 in Data Center 2
      /opt/apigee/apigee-setup/bin/update.sh -c cs,zk -f configFile
  2. Update Postgres:
    1. Machine 6 in Data Center 1
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
    2. Machine 12 in Data Center 2
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
  3. Update LDAP:
    1. Machine 1 in Data Center 1
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
    2. Machine 7 in Data Center 2
      /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
  4. Update Edge components:
    1. Machines 4, 5, 6, 1, 2, 3 in Data Center 1
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
    2. Machines 10, 11, 12, 7, 8, 9 in Data Center 2
      /opt/apigee/apigee-setup/bin/update.sh -c edge -f configFile
  5. Update qpidd:
    1. Machines 4, 5 in Data Center 1
      1. Update qpidd on machine 4:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. Update qpidd on machine 5:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
    2. Machines 10, 11 in Data Center 2
      1. Update qpidd on machine 10:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      2. Update qpidd on machine 11:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
  6. Update either the new UI (ue) or classic UI (ui):
    1. Machine 1 in Data Center 1:
      /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
    2. Machine 7 in Data Center 2:
      /opt/apigee/apigee-setup/bin/update.sh -c [ui|ue] -f configFile
  7. (If you installed apigee-adminapi) Updated the apigee-adminapi utility:
    1. Machine 1 in Data Center 1:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
    2. Machine 7 in Data Center 2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
  8. (If you installed Apigee SSO) Update Apigee SSO:
    1. Machine 1 in Data Center 1:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    2. Machine 7 in Data Center 2:
      /opt/apigee/apigee-setup/bin/update.sh -c sso -f sso_config_file
    3. Where sso_config_file is the configuration file you created when you installed SSO.

  9. Restart the new Edge UI (edge-management-ui) or classic Edge UI (edge-ui) component on machines 1 and 7:
    /opt/apigee/apigee-service/bin/apigee-service [edge-ui|edge-management-ui] restart

For a non-standard configuration

If you have a non-standard configuration, then update Edge components in the following order:

  1. ZooKeeper
  2. Cassandra
  3. ps
  4. LDAP
  5. Edge, meaning the "-c edge" profile on all nodes in the order: nodes with Qpid server, Edge Postgres Server, Management Server, Message Processor, and Router.
  6. qpidd
  7. Edge UI (either classic or new)
  8. apigee-adminapi
  9. Apigee SSO

After you finish updating, be sure to restart the Edge UI component on all machines running it.