# Upgrade

This document describes steps to upgrade your self-hosted <code class="expression">space.vars.product\_name</code> deployment.

To upgrade **all** regions of your <code class="expression">space.vars.product\_name</code> setup, run the following command:

{% tabs %}
{% tab title="Bash" %}

```bash
airctl upgrade --config /opt/pf9/airctl/conf/airctl-config.yaml
```

{% endtab %}
{% endtabs %}

To upgrade a specific region, run the following command, replacing with the name of the region you'd like to upgrade:

{% tabs %}
{% tab title="Bash" %}

```bash
airctl upgrade --region <region-name> --config /opt/pf9/airctl/conf/airctl-config.yaml
```

{% endtab %}
{% endtabs %}

Sample output of the upgrade command for a specific region:

{% tabs %}
{% tab title="Bash" %}

```bash
# airctl upgrade --region Region1 --config /opt/pf9/airctl/conf/airctl-config.yaml
 INFO  rollback state directory /tmp/airctl_ddu_backup_Region1_240020739                           
 INFO  Saving the helm revisions to the state file                                        
 INFO  --- backing up region--- Region1                                                             
 INFO  Archive created successfully for Region1. Backup backup.tar.gz saved to /tmp/airctl_ddu_backup_Region1_240020739                                                        
 INFO  --- moving old state file to /tmp/airctl_ddu_backup_Region1_240020739/state.yaml ---        
 INFO  --- moving old kplane_values.yaml file to /tmp/airctl_ddu_backup_Region1_240020739/kplane_values.yaml ---                                     
 SUCCESS  Upgrading region Region1                                                      
upgrade done
```

{% endtab %}
{% endtabs %}

#### Update PXC objects:

{% hint style="warning" %}
**Warning**

Running airctl upgrade from previous version (December release) to current version will not update the memory requests and limits for percona pxc-db statefulsets.
{% endhint %}

{% tabs %}
{% tab title="Bash" %}

```bash
kubectl patch pxc percona-db-pxc-db -n <namespace> --type='merge' -p '{"spec":{"pxc":{"resources":{"requests":{"memory":"3Gi"},"limits":{"memory":"6Gi"}}}}}'
```

{% endtab %}
{% endtabs %}

Once this command is run, statefulset *percona-db-pxc-db-pxc* for the respective namespace will get updated and new replicas will get created with updated memory requests and limits.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/private-cloud-director/2025.2/getting-started/self-hosted/upgrade.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
