Skip to content

Commit 4c58f07

Browse files
[DPE-7242] Add multi-cluster refresh docs (#690)
* update naming scheme for upgrade docs * minor edits to Juju upgrades * add empty multi-cluster upgrade doc and update references * update content in single and multi-cluster upgrade docs * update 'upgrade' terminology to 'refresh' * update cross-regional async replication terminology * add table of supported refreshes * small edits * update sample refresh commands to match juju status * minor edits * Apply suggestion from @sinclert-canonical Co-authored-by: Sinclert Pérez <[email protected]> * Apply review suggestions * Update docs/how-to/refresh/index.md Co-authored-by: Sinclert Pérez <[email protected]> * split single and multi-cluster instructions into folders * remove terraform domain from linkcheck * fix broken references * fix broken juju link * fix 24.04 mention * fix broken reference --------- Co-authored-by: Sinclert Pérez <[email protected]>
1 parent 5d3524c commit 4c58f07

File tree

27 files changed

+278
-178
lines changed

27 files changed

+278
-178
lines changed

docs/conf.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,8 @@
232232
"https://matrix.to/*",
233233
"https://portal.azure.com/*",
234234
"https://dev.mysql.com/*",
235-
"https://www.mysql.com/*"
235+
"https://www.mysql.com/*",
236+
"https://www.terraform.io/*"
236237
]
237238

238239

docs/explanation/juju.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@ See the [Juju 3.0 release notes](https://documentation.ubuntu.com/juju/3.6/refer
3131
The response is to therefore substitute the documented command with the equivalent 2.9.x command. For example:
3232

3333
### Juju 3.x:
34+
3435
```shell
3536
juju integrate mysql:database mysql-test-app
3637

3738
juju run mysql/leader get-password
3839
```
3940
### Juju 2.9.x:
41+
4042
```shell
4143
juju relate mysql:database mysql-test-app
4244

@@ -46,7 +48,9 @@ juju run-action --wait mysql/leader get-password
4648
This section is based on the [OpenStack guide.](https://docs.openstack.org/charm-guide/latest/project/support-notes.html#breaking-changes-between-juju-2-9-x-and-3-x)
4749
```
4850

51+
(explanation-juju-upgrades)=
4952
## Juju upgrades
53+
5054
Newly released charm revisions might require a new Juju version. This is usually because the new revision requires new Juju features, e.g. [Juju secrets](https://juju.is/docs/juju/secret).
5155

5256
Information about Juju requirements will be clearly indicated in the charm's [release notes](/reference/releases) and in the repository's [metadata.yaml](https://github.com/canonical/mysql-operator/blob/14c06ff88c4e564cd6d098aa213bd03e78e84b52/metadata.yaml#L72-L80) file.
@@ -62,5 +66,5 @@ ERROR Charm feature requirements cannot be met:
6266
- charm requires feature "juju" (version >= 3.1.5) but model currently supports version 3.1.4
6367
```
6468

65-
You must then [upgrade to the required Juju version](/how-to/upgrade/upgrade-juju) before proceeding with the charm upgrade.
69+
You must then [upgrade to the required Juju version](/how-to/refresh/upgrade-juju) before proceeding with the charm upgrade.
6670

docs/how-to/cross-regional-async-replication/clients.md renamed to docs/how-to/cluster-cluster-replication/clients.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Pre-requisites
44

5-
Make sure both `Rome` and `Lisbon` Clusters are deployed using the [Async Deployment manual](/how-to/cross-regional-async-replication/deploy)!
5+
Make sure both `rome` and `lisbon` clusters are deployed according to [](/how-to/cluster-cluster-replication/deploy).
66

77
## Offer and consume database endpoints
88

docs/how-to/cross-regional-async-replication/deploy.md renamed to docs/how-to/cluster-cluster-replication/deploy.md

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
1-
# Deploy async replication
2-
3-
The following table shows the source and target controller/model combinations that are currently supported:
4-
5-
| | AWS | GCP | Azure |
6-
|---|---|:---:|:---:|
7-
| AWS | ![ check ] | | |
8-
| GCP | | ![ check ] | |
9-
| Azure | | | ![ check ] |
10-
11-
## Deploy
1+
# Deploy
122

133
Deploy two MySQL Clusters, named `Rome` and `Lisbon`:
144

@@ -24,7 +14,7 @@ juju deploy mysql db2 --channel=8.0/edge --config profile=testing --config clust
2414
```
2515

2616
```{caution}
27-
Remove profile configuration for production deployments. Check [Profiles](/reference/profiles) for documentation.
17+
Remove [profile](/reference/profiles) configuration for production deployments.
2818
```
2919

3020
## Offer
@@ -107,8 +97,5 @@ juju add-unit db2 -n 2 -m lisbon
10797
```
10898

10999
```{caution}
110-
**Note**: The scaling is possible before and after the asynchronous replication established/created.
100+
The scaling is possible before and after the asynchronous replication is established/created.
111101
```
112-
113-
[check]: https://img.shields.io/badge/%E2%9C%93-brightgreen
114-
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Cluster-cluster replication
2+
3+
Cluster-cluster asynchronous replication focuses on disaster recovery by distributing data across different servers.
4+
5+
For increased safety, it is recommended to deploy each cluster in a different geographical region.
6+
7+
## Substrate dependencies
8+
9+
The following table shows the source and target controller/model combinations that are currently supported:
10+
11+
| | AWS | GCP | Azure |
12+
|-------|------------|:----------:|:----------:|
13+
| AWS | ![ check ] | | |
14+
| GCP | | ![ check ] | |
15+
| Azure | | | ![ check ] |
16+
17+
## Guides
18+
19+
```{toctree}
20+
:titlesonly:
21+
:maxdepth: 2
22+
23+
Deploy <deploy>
24+
Clients <clients>
25+
Switchover/failover <switchover-failover>
26+
Recovery <recovery>
27+
Removal <removal>
28+
```
29+
30+
[check]: https://img.shields.io/badge/%E2%9C%93-brightgreen

docs/how-to/cross-regional-async-replication/recovery.md renamed to docs/how-to/cluster-cluster-replication/recovery.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Pre-requisites
44

5-
Make sure both `Rome` and `Lisbon` clusters are deployed following the [async deployment guide](/how-to/cross-regional-async-replication/deploy).
5+
Make sure both `Rome` and `Lisbon` clusters are deployed following the [async deployment guide](/how-to/cluster-cluster-replication/deploy).
66

77
## Recover detached cluster
88

docs/how-to/cross-regional-async-replication/removal.md renamed to docs/how-to/cluster-cluster-replication/removal.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
## Pre-requisites
44

5-
Make sure both `Rome` and `Lisbon` clusters are deployed following the [async deployment guide](/how-to/cross-regional-async-replication/deploy).
5+
Make sure both `Rome` and `Lisbon` clusters are deployed following the [async deployment guide](/how-to/cluster-cluster-replication/deploy).
66

77
## Detach cluster from ClusterSet
88

99
```{important}
10-
It is important to [switchover](/how-to/cross-regional-async-replication/switchover-failover) the `Primary` cluster before detaching it from ClusterSet!
10+
It is important to [switchover](/how-to/cluster-cluster-replication/switchover-failover) the `Primary` cluster before detaching it from ClusterSet!
1111
```
1212

1313
Assuming the `Lisbon` is a current `Primary` and we want to detach `Rome` (for removal or reuse):

docs/how-to/cross-regional-async-replication/switchover-failover.md renamed to docs/how-to/cluster-cluster-replication/switchover-failover.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Pre-requisites
44

5-
Make sure both `Rome` and `Lisbon` Clusters are deployed using the [Async Deployment manual](/how-to/cross-regional-async-replication/deploy)!
5+
Make sure both `Rome` and `Lisbon` Clusters are deployed using the [Async Deployment manual](/how-to/cluster-cluster-replication/deploy)!
66

77
## Switchover (safe)
88

docs/how-to/cross-regional-async-replication/index.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/how-to/development/migrate-data-via-backup-restore.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Migrate data via backup/restore
1+
# How to migrate data via backup/restore
22

33
Charmed MySQL is able to restore [its own backups](/how-to/back-up-and-restore/restore-a-backup) stored on [S3-compatible storage](/how-to/back-up-and-restore/configure-s3-aws).
44

0 commit comments

Comments
 (0)