content/operate/rs/references/rest-api/requests/bdbs/upgrade.md
| Method | Path | Description |
|---|---|---|
| POST | /v1/bdbs/{uid}/upgrade | Upgrade database |
POST /v1/bdbs/{int: uid}/upgrade
Upgrade a database.
| Permission name |
|---|
| [update_bdb_with_action]({{< relref "/operate/rs/references/rest-api/permissions#update_bdb_with_action" >}}) |
POST /v1/bdbs/1/upgrade
{
"swap_roles": true,
"may_discard_data": false
}
| Key | Value | Description |
|---|---|---|
| Host | cnm.cluster.fqdn | Domain name |
| Accept | application/json | Accepted media type |
| Field | Type | Description |
|---|---|---|
| force_restart | boolean | Restart shards even if no version change (default: false) |
| keep_redis_version | boolean | Keep current Redis version (default: false). Deprecated as of Redis Software v7.8.2. To upgrade modules without upgrading the Redis database version, set redis_version to the current Redis database version instead. |
| keep_crdt_protocol_version | boolean | Keep current crdt protocol version (default: false) |
| may_discard_data | boolean | Discard data in a non-replicated, non-persistent bdb (default: false) |
| force_discard | boolean | Discard data even if the bdb is replicated and/or persistent (default: false) |
| preserve_roles | boolean | Preserve shards' master/replica roles (requires an extra failover) (default: false) |
| parallel_shards_upgrade | integer | Max number of shards to upgrade in parallel (default: all) |
| modules | list of modules | List of dicts representing the modules that will be upgraded. As of Redis Software v7.8.2, current_module and new_module are deprecated. |
| </br>Each dict includes: | ||
</br>• current_module: uid of a module to upgrade (deprecated) | ||
</br>• new_module: uid of the module we want to upgrade to (deprecated) | ||
</br>• new_module_args: args list for the new module (no defaults for the three module-related parameters). | ||
| redis_version | version number | Upgrades the database to the specified Redis version instead of the latest version. To upgrade modules without upgrading the Redis database version, set redis_version to the current Redis database version instead. |
| latest_with_modules | boolean | Upgrades the database to the latest Redis version and latest supported versions of modules available in the cluster. (default: true as of v7.8.2) Deprecated as of Redis Software v7.8.2. |
Returns the upgraded [BDB object]({{< relref "/operate/rs/references/rest-api/objects/bdb" >}}).
{
"uid": 1,
"replication": true,
"data_persistence": "aof",
"// additional fields..."
}
| Code | Description |
|---|---|
| 200 OK | Success, bdb upgrade initiated (action_uid can be used to track progress) |
| 400 Bad Request | Malformed or bad command |
| 404 Not Found | bdb not found |
| 406 Not Acceptable | New module version capabilities don't comply with the database configuration |
| 500 Internal Server Error | Internal error |