# Upgrade with high availability

> Upgrading a highly available Cloud Management Platform configuration

---

Site [llms.txt](/llms.txt)

---

## Prerequisites

Web server and job engine processes must be stopped before upgrading.

### Web server instances

Perform the following on each web server instance.

1. **Stop web server processes.**

    ```bash
    systemctl stop httpd
    ```

### Job engine instances

Perform the following on each job engine instance.

1. **Check for active job engine jobs.**

    ```bash
    # Navigate to /opt/cloudbolt/
    cd /opt/cloudbolt/

    # Start shell_plus
    ./manage.py shell_plus
    ```

    ```python
    # List active jobs
    Job.objects.filter(status__in=Job.ACTIVE_STATUSES)
    ```

1. **Cancel active job engine jobs.**

    ```python
    Job.objects.filter(status__in=Job.ACTIVE_STATUSES).update(status="CANCELED")
    ```

1. **Stop job engine processes.**

    ```bash
    supervisorctl stop jobengine:*
    ```

## Upgrade

**[Run the upgrader](/docs/cmp/configure/administration/maintain/upgrade/)** on each web server and job engine instance individually.

<div class="alert alert-info" role="alert">


It is not necessary to run the upgrader on any database servers; it applies the necessary schema updates to connected databases.
</div>


Upgrading Cloud Management Platform does not upgrade the PostgreSQL database. To upgrade the database on the primary and standby servers from PostgreSQL 14 to PostgreSQL 18, see [Upgrade a distributed or high-availability deployment](/docs/cmp/configure/administration/maintain/upgrade/postgresql-18/#upgrade-a-distributed-or-high-availability-deployment).
