Update Apigee Edge 4.50.00 or 4.51.00 to 4.52.00

Apigee supports upgrading Edge for Private Cloud from either version 4.50.00 or version 4.51.00 directly to version 4.52.00. This page describes how to perform either upgrade.

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 update process by using the command:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Ensure that the Cassandra Comptification Strategy is LeveledCompactionStrategy
    Ensure that the Cassandra compatification strategy is set to LeveledCompactionStrategy, as described in Change the Cassandra compaction strategy.

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 Zookeeper 3.8.0

This release of Edge for Private Cloudes includes an upgrade to Zookeeper 3.8.0. As part of that upgrade, all Zookeeper data will be migrated to Zookeeper 3.8.0.

Before upgrading Zookeeper, read through the Zookeeper maintenance guide. Most Edge production systems use a cluster of Zookeeper nodes spread across multiple data centers. Some of these nodes are configured as voters who participate in Zookeeper leader election, and the rest are configured as observers. See About leaders, followers, voters, and observers for more details. The voter nodes elect a leader after which the voter nodes themselves become followers.

During the update process, there could be a momentary delay or write failure into Zookeeper when the leader node is shutdown. This could affect Management operations that write into Zookeeper, such as deployment operation of a proxy, and Apigee infrastructure changes, such as addition or removal of a message processor, etc. There should be no impact on runtime APIs of Apigee (unless these runtime APIs call management APIs) during upgrade of Zookeeper while following the procedure below.

At a high level, the upgrade process involves taking a backup of each node. This is followed by upgrading all observers and followers and finally upgrading the leader node.

Take a backup

Take a backup of all nodes of Zookeeper for use in case a rollback is required. Note that a rollback will restore Zookeeper to the state when the backup was taken. Note: Any deployments or infrastructure changes in Apigee since the backup was taken (whose information is stored in Zookeeper) will be lost during restoration.

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper backup

If you are using virtual machines and have the capability, VM snapshots or backups could also be taken for restoration or rollback (if necessary).

Identify leader, followers and observers

Note: The sample commands below use the nc utility to send data to Zookeeper. You could use alternate utilities to send data to Zookeeper as well.

  1. If it is not installed on the ZooKeeper node, install nc:
      sudo yum install nc
  2. Run the following nc command on the node, where 2181 is the ZooKeeper port:
      echo stat | nc localhost 2181

    You should see output like the following:

      Zookeeper version: 3.8.0-5a02a05eddb59aee6ac762f7ea82e92a68eb9c0f, built on 2022-02-25 08:49 UTC
      Clients:
       /0:0:0:0:0:0:0:1:41246[0](queued=0,recved=1,sent=0)
      
      Latency min/avg/max: 0/0.2518/41
      Received: 647228
      Sent: 647339
      Connections: 4
      Outstanding: 0
      Zxid: 0x400018b15
      Mode: follower
      Node count: 100597

    In the Mode line of the output for the nodes, you should see observer, leader, or follower (meaning a voter that is not the leader) depending on the node configuration. Note: In a standalone installation of Edge with a single ZooKeeper node, the Mode is set to standalone.

  3. Repeat steps 1 and 2 on each ZooKeeper node.

Upgrade Zookeeper on the observer and follower nodes

Upgrade Zookeeper on each of the observer and follower nodes as follows:

  1. Download and run bootstrap of Edge for Private Cloud 4.52, as described in Update to 4.52.00 on a node with an external internet connection. The process will likely vary depending on whether the node has an external internet connection or you're performing an offline installation.
  2. Upgrade the Zookeeper component:
      /opt/apigee/apigee-setup/bin/update.sh -c zk -f <silent-config-file>
    Note: If these nodes have other components installed (such as Cassandra), you could upgrade them too now (like with cs,zk profile) or you could upgrade the other components later. Apigee recommends that you upgrade Zookeeper only first and ensure your cluster is working properly before upgrading other components.
  3. Repeat above steps on each of Zookeeper observer and follower nodes.

Shutdown the leader

Once all observer and follower nodes have been upgraded, shutdown the leader. On the node identified as leader, run the command below:

  /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop

Note that during this event, before a new leader is elected, there could be momentary delays or write failures in Zookeeper. This could affect operations which write into Zookeeper such as deployment action of proxies or Apigee infrastructure changes, such as addition or removal of message processors, etc.

Verify that the new leader is elected

Using the steps in the Identify leader, followers and observers section above, verify that a new leader has been elected from the followers, once the existing leader is stopped. Note that leader could have been elected in a different data center than the current leader.

Upgrade leader

Follow the same steps as in Upgrading Zookeeper on the observer and follower nodes above.

Once the old leader node is upgraded as well, verify the cluster health and ensure there is a leader node.

Rollback

In case a rollback is required:

  1. Perform rollback steps on observers and followers first.
  2. Download and execute bootstrap of version you're rolling back to—either 4.50 or 4.51. The process will likely vary depending on whether the node has an external internet connection or you're following offline installation.
  3. Stop Zookeeper if it is running on the node:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  4. Uninstall existing zookeeper:
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
  • Install Zookeeper as usual:
      /opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
  • Once all followers and observers have been rolled back, roll back the leader node by following steps 2 through 5 on the leader node.
  • After all the nodes have been rolled back, verify the cluster health and ensure there is a leader node in the cluster.
  • Restore backup

    Refer to Restore from a backup. Note that backups of Zookeeper taken from earlier versions of Edge for Private Cloud like 4.50 and 4.51 should be compatible with the version of Zookeeper in Edge for Private Cloud 4.52.

    Required upgrade to Postgres 14

    This release of Edge includes an upgrade to Postgres 14. As part of that upgrade, all Postgres data is migrated to the Postgres 14.

    Most Edge production systems use two Postgres nodes configured for master-standby replication. During the update process, while the Postgres nodes are down for update, analytics data is still written to the Qpid nodes. After the Postgres nodes are updated and back online, analytics data is then pushed to the Postgres nodes.

    The way you perform the Postgres update depends on how you configured data storage for your Postgres nodes:

    • If you use local data storage for your Postgres nodes, you must install a new Postgres standby node for the duration of the upgrade. After the upgrade completes, you can decommission the new Postgres standby node.

      The additional Postgres standby node is required if you have to roll back the update for any reason. If you have to roll back the update, the new Postgres standby node becomes the master Postgres node after the rollback. Therefore, when you install the new Postgres standby node, it should be on a node that meets all the hardware requirements of a Postgres server, as defined in the Edge Installation requirements.

      In a 1-node and 2-node configuration of Edge, topologies used for prototyping and testing, you only have a single Postgres node. You can update these Postgres nodes directly without having to create a new Postgres node.

    • If you use network storage for your Postgres nodes, as recommended by Apigee, you do not have to install a new Postgres node. In the procedures below, you can skip the steps that specify to install and later decommission a new Postgres standby node.

      Before you begin the update process, take a network snapshot of the data store used by Postgres. Then, if any errors occur during update and you are forced to perform a roll back, you can restore the Postgres node from that snapshot.

    Installing a new Postgres standby node

    This procedure creates a Postgres standby server on a new node. Ensure that you install a new Postgres standby server for your existing version of Edge (4.50.00 or 4.51.00), not for version 4.52.00.

    To perform the install, use the same config file that you used to install your current version of Edge.

    To create a new Postgres standby node:

    1. On the current Postgres master, edit the /opt/apigee/customer/application/postgresql.properties file to set the following token. If that file does not exist, create it:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust\ \nhost replication apigee new_standby_ip/32 trust

      Where existing_standby_ip is the IP address of the current Postgres standby server and new_standby_ip is the IP address of the new standby node.

    2. Restart apigee-postgresql on the Postgres master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    3. Verify that the new standby node was added by viewing the /opt/apigee/apigee-postgresql/conf/pg_hba.conf file on the master. You should see the following lines in that file:
      host replication apigee existing_standby_ip/32 trust
      host replication apigee new_standby_ip/32 trust
    4. Install the new Postgres standby server:
      1. Edit the config file that you used to install your current version of Edge to specify the following:
        # IP address of the current master:
        PG_MASTER=192.168.56.103
        # IP address of the new standby node
        PG_STANDBY=192.168.56.102
      2. Disable SELinux as described in Install the Edge apigee-setup utility.
      3. If you are currently on Edge 4.51.00:

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

        If you are currently on Edge 4.50.00:

        1. Download the Edge bootstrap_4.50.00.sh file to /tmp/bootstrap_4.50.00.sh :
          curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
        2. Install the Edge apigee-service utility and dependencies:
          sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
      4. Use apigee-service to install the apigee-setup utility:
        /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
      5. Install Postgres:
        /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
      6. On the new standby node, run the following command:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        Verify that it is the standby.

    Performing an in-place upgrade of Postgres

    Note: You must do the following preliminary step before performing an in-place upgrade of Postgres.

    Preliminary step

    Before performing an in-place upgrade to Postgres, do the following steps on both the master host and standby, to update the max_locks_per_transaction property on apigee-postgresql:

    1. If not present, create the file /opt/apigee/customer/application/postgresql.properties.
    2. Change the ownership of this file to apigee:
      sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Add the following property to the file:
      conf/postgresql.conf+max_locks_per_transaction=30000
    4. Configure apigee-postgresql:
      apigee-service apigee-postgresql configure
    5. Restart apigee-postgresql:
      apigee-service apigee-postgresql restart

    Perform the in-place upgrade

    To perform an in-place upgrade to Postgres 14, do the following steps:

    1. Upgrade postgres on the master host
      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    2. Run the setup command on the master host:
      apigee-service apigee-postgresql setup -f /opt/silent.conf
    3. Run the configure command on the master host:
      apigee-service apigee-postgresql configure
    4. Restart the master host:
      apigee-service apigee-postgresql restart
    5. Configure it as master:
      apigee-service apigee-postgresql setup-replication-on-master -f /opt/silent.conf
    6. Ensure the master host has started:
      apigee-service apigee-postgresql wait_for_ready
    7. Stop the standby:
      apigee-service apigee-postgresql stop
    8. Upgrade the standby.

      Note: If this step errors/fails, it can be ignored. update.sh will attempt to start the stand-by server with an incorrect configuration. Provided the Postgres installation is upgraded to 14, the error can be ignored.

      /opt/apigee/apigee-setup/bin/update.sh -c ps -f /opt/silent.conf
    9. Ensure the standby is stopped:
      apigee-service apigee-postgresql stop
    10. Remove the old standby configuration:
      rm -rf /opt/apigee/data/apigee-postgresql/
    11. Set up replication on the standby server:
      apigee-service apigee-postgresql setup-replication-on-standby -f /opt/silent.conf
    12. Remove the line conf/postgresql.conf+max_locks_per_transaction=30000 from the file /opt/apigee/customer/application/postgresql.properties on both the master host and standby. This line was added in the preliminary step.

    After completing this procedure, the standby will start successfully.

    Decommissioning a Postgres node

    After the update completes, decommission the new standby node:

    1. Make sure Postgres is running:
      /opt/apigee/apigee-service/bin/apigee-all status

      If Postgres is not running, start it:

      /opt/apigee/apigee-service/bin/apigee-all start
    2. Get the UUID of the new standby node by running the following curl command on the new standby node:
      curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

      You should see the UUID of the node at the end of the output, in the form:

      "type" : [ "postgres-server" ],
      "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
    3. Stop the new standby node by running the following command on the new standby node:
      /opt/apigee/apigee-service/bin/apigee-all stop
    4. On the Postgres master node, edit /opt/apigee/customer/application/postgresql.properties to remove the new standby node from conf_pg_hba_replication.connection:
      conf_pg_hba_replication.connection=host replication apigee existing_standby_ip/32 trust
    5. Restart apigee-postgresql on the Postgres master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql restart
    6. Verify that the new standby node was removed by viewing the /opt/apigee/apigee-postgresql/conf/pg_hba.conf file on the master. You should see only the following line in that file:
      host replication apigee existing_standby_ip/32 trust
    7. Delete the UUID of the standby node from ZooKeeper by making the following Edge management API call on the Management Server node:
      curl -u sysAdminEmail:password -X DELETE http://ms_IP:8080/v1/servers/new_standby_uuid

    Post-upgrade steps for Postgres

    After a major Postgres upgrade, the internal statistics of Postgres are wiped out. These statistics aid the Postgres query planner in utilizing the most optimal indexes and paths to execute queries.

    Postgres can gradually rebuild its statistics over time as queries are executed and when the autovacuum daemon runs. However, until the statistics are rebuilt, your queries may be slow.

    To address this issue, execute ANALYZE on all tables in the database on the master Postgres node. Alternatively, you can execute ANALYZE for a few tables at a time.

    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.00 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.00.sh file to /tmp/bootstrap_4.52.00.sh:
        curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
      2. Install the Edge 4.52.00 apigee-service utility and dependencies by executing the following command:
        sudo bash /tmp/bootstrap_4.52.00.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.00.

      Update to 4.52.00 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.00 repo:

      1. Create a local 4.52.00 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.00.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.00.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.00.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.00.sh file to /tmp/bootstrap_4.52.00.sh:
          /usr/bin/curl http://uName:pWord@remoteRepo:3939/bootstrap_4.52.00.sh -o /tmp/bootstrap_4.52.00.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.00.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.00.

      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.00:

      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 Qpid and Postgres on machine 2:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid,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 the UI on machine 1:
        /opt/apigee/apigee-setup/bin/update.sh -c ui -f configFile
      6. (If you installed apigee-adminapi) Updated the apigee-adminapi utility on machine 1:
        /opt/apigee/apigee-service/bin/apigee-service apigee-adminapi update
      7. (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.

      8. 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 Qpid and Postgres on machine 4:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid, ps -f configFile
      3. Update Qpid and Postgres on machine 5:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid, 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 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
      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 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 Qpid on machines 6 and 7:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      3. Update Postgres on machine 8:
        /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
      4. Update Postgres on machine 9:
        /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
      5. Update LDAP on machine 1:
        /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
      6. 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
      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 Qpid on machines 12 and 13:
        /opt/apigee/apigee-setup/bin/update.sh -c qpid -f configFile
      3. Update Postgres on machine 8:
        /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
      4. Update Postgres on machine 9:
        /opt/apigee/apigee-setup/bin/update.sh -c ps -f configFile
      5. Update LDAP on machine 4 and 5:
        /opt/apigee/apigee-setup/bin/update.sh -c ldap -f configFile
      6. 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
      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 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
      3. 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
      4. 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
      5. 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
      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. qpidd, 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. Edge UI (either classic or new)
      7. apigee-adminapi
      8. Apigee SSO

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