# 3-Node HA Upgrade

3-Node HA Appliances represent 3 App nodes with local RabbitMQ and Opensearch services clustered across the app nodes, and an external MySQL cluster.

## HPE Morpheus Enterprise Packages

HPE Morpheus Enterprise Release packages can be obtained from My HPE Software Center. Reach out to your account manager with any questions regarding access.

Refer to [breaking changes](https://support.hpe.com/hpesc/public/api/document/sd00008375en_us/render?page=GUID-C131BD09-5DB9-4C31-8106-AA5A7A735F45.html#GUID-0289251C-DBFE-418E-B794-3B9FCFB184CF) for any 3-node variations using externalized MySQL, Opensearch and/or RabbitMQ version requirements.

## Upgrade Instructions

WARNING

Upgrades can add additional storage load on database nodes. Please refer to database storage requirements within 3nodeinstall before upgrading.

### 3-Node HA Debian / Ubuntu Upgrade

The following covers upgrading the HPE Morpheus Enterprise App nodes in 3-Node HA configurations to v9.0.1.

WARNING

As a best practice, always backup your database prior to any upgrade.

IMPORTANT

The following is only for “3 Node HA” Architecture configurations.

#### HPE Morpheus Enterprise Packages

HPE Morpheus Enterprise Release packages can be downloaded from My HPE Software Center. Contact your account manager with any questions regarding access.

#### 3-Node Non-Rolling Upgrade Process (deb)

##### About this task

WARNING

Depending on your current version, a non-rolling upgrade may be required to upgrade to version v9.0.1. Refer to the [upgrade compatibility table](https://support.hpe.com/hpesc/public/api/document/sd00008375en_us/render?page=GUID-C131BD09-5DB9-4C31-8106-AA5A7A735F45.html#GUID-6F0A533B-BEE6-4407-AB67-681A4CC40303) to confirm whether a rolling upgrade is possible. If a rolling upgrade is not possible, refer to the appropriate set of non-rolling upgrade instructions to proceed.

WARNING

HPE Morpheus Enterprise v9.0.1 contains new node and VM node packages that require 3.5GB of storage. It is safe to run `sudo rm -Rf /var/opt/morpheus/package-repos/*` after v9.0.1 package installation and before reconfigure to clean old node and vm node packages from the package-repo when room is needed.

##### Procedure

1. Starting with Node 3, on All App Nodes, stop the morpheus-ui services via `morpheus-ctl stop morpheus-ui`. If you receive a timeout, run `morpheus-ctl graceful-kill morpheus-ui`. 

   ```
   ```
   [root@app-server-3 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```

   ```
   ```
   [root@app-server-2 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```

   ```
   ```
   [root@app-server-1 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```
2. With the upgrade package downloaded and transferred to each application node, upgrade the deb package on Node 1, then run a Reconfigure on Node 1 

   ```
   ```
   [root@app-server-1 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-1 ~]# sudo morpheus-ctl reconfigure
   ```
   ```

   NOTE

   All services will automatically be stopped and started during the reconfigure process. After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`.
3. Once the Node 1 upgrade has completed and the UI is available, upgrade the deb package on Node 2, then run a Reconfigure on Node 2. 

   ```
   ```
   [root@app-server-2 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-2 ~]# sudo morpheus-ctl reconfigure
   ```
   ```
4. Then, upgrade the deb package on Node 3, and run a Reconfigure on Node 3 

   ```
   ```
   [root@app-server-3 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-3 ~]# sudo morpheus-ctl reconfigure
   ```
   ```
5. The upgrade is complete and the HPE Morpheus Enterprise-ui services should be running with clustered Opensearch and RabbitMQ services across the 3 nodes.

##### Results

NOTE

Service configuration settings are not applicable for externalized services such as external MySQL, Opensearch or RabbitMQ clusters. Only connection settings are applicable for external services. Additionally, to configure HPE Morpheus Enterprise to utilize alternate ports for SSL, you may have to take additional configuration steps. If simply appending a port to your `appliance_url` value doesn’t work, consult the related article in our [KnowledgeBase](https://support.morpheusdata.com/s/article/Configure-Morpheus-to-utilize-and-alternate-port-for-SSL?language=en_US).

#### 3-Node Rolling Upgrade Process (deb)

##### About this task

WARNING

Depending on your current version, a non-rolling upgrade may be required to upgrade to version v9.0.1. Refer to the [upgrade compatibility table](https://support.hpe.com/hpesc/public/api/document/sd00008375en_us/render?page=GUID-C131BD09-5DB9-4C31-8106-AA5A7A735F45.html#GUID-6F0A533B-BEE6-4407-AB67-681A4CC40303) to confirm whether a rolling upgrade is possible. If a rolling upgrade is not possible, refer to the appropriate set of non-rolling upgrade instructions to proceed.

WARNING

HPE Morpheus Enterprise v9.0.1 contains new node and VM node packages that require 3.5GB of storage. It is safe to run `sudo rm -Rf /var/opt/morpheus/package-repos/*` after v9.0.1 package installation and before reconfigure to clean old node and vm node packages from the package-repo when room is needed.

##### Procedure

1. Download the upgrade package from My HPE Software Center and transfer it to each application node. Then, upgrade the deb package on Node 1, then run a Reconfigure on Node 1 

   ```
   ```
   [root@app-server-1 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-1 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-1 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-1 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`. Once morpheus-ui is started, proceed to the next node.
2. Once Node 1 upgrade has completed and the ui is available, upgrade the deb package on Node 2, then run a Reconfigure on Node 2. 

   ```
   ```
   [root@app-server-2 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-2 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-2 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-2 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`. Once morpheus-ui is started, proceed to the next node.
3. Once Node 2 upgrade has completed and the ui is available, upgrade the deb package on Node 3, and run a Reconfigure on Node 3 

   ```
   ```
   [root@app-server-3 ~]# sudo dpkg -i morpheus-appliance_x.x.x-1_amd64.deb  
   [root@app-server-3 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-3 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-3 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`.
4. The upgrade is complete and the HPE Morpheus Enterprise UI services should be running with clustered Opensearch and RabbitMQ services across the 3 nodes.

##### Results

IMPORTANT

If reconfigure after a rpm package upgrade stalls or hangs on starting a service (mysql, rabbitmq, elasticsearch …) it is possible the `morpheus-runsvdir` service did not start or a process it was managing was manually shutdown or killed. To resolve, run `systemctl stop morpheus-runsvdir` then `systemctl start morpheus-runsvdir`, then run reconfigure again, `morpheus-ctl reconfigure`.

### 3-Node HA CentOS / RHEL Upgrade

The following covers upgrading the HPE Morpheus Enterprise App nodes in 3 Node HA configurations to v9.0.1.

WARNING

As a best practice, always backup your database prior to any upgrade.

IMPORTANT

The following is only for “3 Node HA” Architecture configurations.

#### HPE Morpheus Enterprise Packages

HPE Morpheus Enterprise Release packages can be downloaded from My HPE Software Center. Contact your account manager with any questions regarding access.

#### 3-Node Non-Rolling Upgrade Process (rpm)

##### About this task

WARNING

Depending on your current version, a non-rolling upgrade may be required to upgrade to version v9.0.1. Refer to the [upgrade compatibility table](https://support.hpe.com/hpesc/public/api/document/sd00008375en_us/render?page=GUID-C131BD09-5DB9-4C31-8106-AA5A7A735F45.html#GUID-6F0A533B-BEE6-4407-AB67-681A4CC40303) to confirm whether a rolling upgrade is possible. If a rolling upgrade is not possible, refer to the appropriate set of non-rolling upgrade instructions to proceed.

WARNING

HPE Morpheus Enterprise v9.0.1 contains new node and VM node packages that require 3.5GB of storage. It is safe to run `sudo rm -Rf /var/opt/morpheus/package-repos/*` after v9.0.1 package installation and before reconfigure to clean old node and vm node packages from the package-repo when room is needed.

##### Procedure

1. Starting with Node 3, on All App Nodes, stop the morpheus-ui services via `morpheus-ctl stop morpheus-ui`. If you receive a timeout, run `morpheus-ctl graceful-kill morpheus-ui`. 

   ```
   ```
   [root@app-server-3 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```

   ```
   ```
   [root@app-server-2 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```

   ```
   ```
   [root@app-server-1 ~]# morpheus-ctl stop morpheus-ui
   ```
   ```
2. Download the upgrade package from My HPE Software Center and transfer it to each application node. Then, upgrade the RPM package on Node 1, then run a Reconfigure on Node 1 

   ```
   ```
   [root@app-server-1 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-1 ~]# sudo morpheus-ctl reconfigure
   ```
   ```

   NOTE

   All services will automatically be stopped and started during the reconfigure process. After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`.
3. Once Node 1 upgrade has completed and the UI is available, upgrade the RPM package on Node 2, then run a Reconfigure on Node 2. 

   ```
   ```
   [root@app-server-2 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-2 ~]# sudo morpheus-ctl reconfigure
   ```
   ```
4. Then, upgrade the RPM package on Node 3 and run a Reconfigure on Node 3 

   ```
   ```
   [root@app-server-3 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-3 ~]# sudo morpheus-ctl reconfigure
   ```
   ```
5. The upgrade is complete and the HPE Morpheus Enterprise UI services should be running with clustered Opensearch and RabbitMQ services across the 3 nodes.

##### Results

IMPORTANT

If reconfigure after a rpm package upgrade stalls or hangs on starting a service (mysql, rabbitmq, elasticsearch …) it is possible the `morpheus-runsvdir` service did not start or a process it was managing was manually shutdown or killed. To resolve, run `systemctl stop morpheus-runsvdir` then `systemctl start morpheus-runsvdir`, then run reconfigure again, `morpheus-ctl reconfigure`.

#### 3-Node Rolling Upgrade Process (rpm)

##### About this task

WARNING

Depending on your current version, a non-rolling upgrade may be required to upgrade to version v9.0.1. Refer to the [upgrade compatibility table](https://support.hpe.com/hpesc/public/api/document/sd00008375en_us/render?page=GUID-C131BD09-5DB9-4C31-8106-AA5A7A735F45.html#GUID-6F0A533B-BEE6-4407-AB67-681A4CC40303) to confirm whether a rolling upgrade is possible. If a rolling upgrade is not possible, refer to the appropriate set of non-rolling upgrade instructions to proceed.

WARNING

HPE Morpheus Enterprise v9.0.1 contains new node and VM node packages that require 3.5GB of storage. It is safe to run `sudo rm -Rf /var/opt/morpheus/package-repos/*` after v9.0.1 package installation and before reconfigure to clean old node and vm node packages from the package-repo when room is needed.

##### Procedure

1. Download the upgrade package from My HPE Software Center and transfer it to each application node. Then, upgrade the RPM package on Node 1, then run a Reconfigure on Node 1. 

   ```
   ```
   [root@app-server-1 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-1 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-1 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-1 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`. Once morpheus-ui is started, proceed to the next node.
2. Once Node 1 upgrade has completed and the u is available, upgrade the RPM package on Node 2, then run a Reconfigure on Node 2. 

   ```
   ```
   [root@app-server-2 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-2 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-2 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-2 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`. Once morpheus-ui is started, proceed to the next node.
3. Then upgrade the RPM package on Node 3, then run a Reconfigure on Node 3 

   ```
   ```
   [root@app-server-3 ~]# sudo rpm -Uhv morpheus-appliance-x.x.x-x.x86_64.rpm  
   [root@app-server-3 ~]# sudo morpheus-ctl stop morpheus-ui  
   [root@app-server-3 ~]# sudo morpheus-ctl reconfigure  
   [root@app-server-3 ~]# sudo morpheus-ctl start morpheus-ui
   ```
   ```

   After the reconfigure has succeeded, tail the ui service to watch ui startup logs with `morpheus-ctl tail morpheus-ui`. Once morpheus-ui is started, proceed to the next node.
4. The upgrade is complete and the HPE Morpheus Enterprise-ui services should be running with clustered Opensearch and RabbitMQ services across the 3 nodes.

##### Results

IMPORTANT

If reconfigure after a rpm package upgrade stalls or hangs on starting a service (mysql, rabbitmq, elasticsearch …) it is possible the `morpheus-runsvdir` service did not start or a process it was managing was manually shutdown or killed. To resolve, run `systemctl stop morpheus-runsvdir` then `systemctl start morpheus-runsvdir`, then run reconfigure again, `morpheus-ctl reconfigure`.
