You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|Arc enabled Kubernetes helm chart extension version|1.11.0 (Note: This versioning scheme is new, starting from this release. The scheme follows the semantic versioning scheme of the container images.)|
23
-
|Arc Data extension for Azure Data Studio<br/>`arc`<br/>`azcli`|<br/>1.5.4 ([Download](https://aka.ms/ads-arcdata-ext))</br>1.5.4 ([Download](https://aka.ms/ads-azcli-ext))|
|Arc Data extension for Azure Data Studio<br/>`arc`<br/>`azcli`|*No Changes*<br/>1.5.4 ([Download](https://aka.ms/ads-arcdata-ext))</br>1.5.4 ([Download](https://aka.ms/ads-azcli-ext))|
24
24
25
25
New for this release:
26
-
26
+
<!--
27
27
- Arc data controller
28
-
- New extensions to monitoring stack to allow integration of Arc telemetry data feeds with external monitoring solutions. See documentation for more details.
29
-
- Deleting an AD connector that is in use is now blocked. First remove all database instances that are using it and then remove the AD connector.
30
-
- New OpenTelemetry Router preview to make collected logs available for export to other SEIM systems. See documentation for details.
31
-
- AD connectors can now be created in Kubernetes via the Kubernetes API and syncronized to Azure via Resource Sync.
32
-
- Added short name 'arcdc' to the data controllers custom resource definition. You can now use `kubectl get arcdc` as short form for `kubectl get datacontrollers`.
33
-
- The controller-external-svc is now only created when deploying using the indirect connectivity mode since it is only used for exporting logs/metrics/usage data in the indirect mode.
34
-
- "Downgrades" - i.e. going from a higher major or minor version to a lower - is now blocked. Examples of a blocked downgrade: v1.10 -> v1.9 or v2.0 -> v1.20.
28
+
-
29
+
-->
35
30
36
31
- Arc-enabled SQL managed instance
37
-
- Added support for specifying multiple encryption types for AD connectors using the Azure CLI extension or Azure portal.
32
+
-New reprovision replica task lets you rebuild a broken sql instance replica. For more information, see [Reprovision replica](#reprovision-replica).
38
33
34
+
<!--
39
35
- Arc-enabled PostgreSQL server
40
-
- Removed Hyperscale/Citus scale-out capabilities. Focus will be on providing a single node Postgres server service. All user experiences have had terms and concepts like 'Hyperscale', 'server groups', 'worker nodes', 'coordinator nodes', etc. removed. **BREAKING CHANGE**
41
-
- The postgresql container image is based on [CBL-Mariner](https://github.com/microsoft/CBL-Mariner) base OS image.
42
-
- Only PostgreSQL version 14 is supported for now. Versions 11 and 12 have been removed. Two new images are introduced: `arc-postgres-14` and `arc-postgresql-agent`. The `arc-postgres-11` and `arc-postgres-12` container images are removed going forward. If you use the container image sync script, get the latest image once this [pull request](https://github.com/microsoft/azure_arc/pull/1340) has merged.
43
-
- The postgresql CRD version has been updated to v1beta3. Some properties such as `workers` have been removed or changed. Update any scripts or automation you have as needed to align to the new CRD schema. **BREAKING CHANGE**
36
+
-->
44
37
45
38
-`arcdata` Azure CLI extension
46
-
- Columns for desiredVersion and runningVersion are added to the following commands: `az sql mi-arc list` and `kubectl get sqlmi` to easily compare what the runningVersion and desiredVersion are.
47
-
- The command group `az postgres arc-server` is renamed to `az postgres server-arc`. **BREAKING CHANGE**
48
-
- Some of the `az postgres server-arc` commands have changed to remove things like `--workers`. **BREAKING CHANGE**
39
+
- Columns for release information added to the following commands: `az sql mi-arc list` this makes it easy to see what instance may need to be updated.
40
+
- Alternately you can run `az arcdata dc list-upgrades'
49
41
50
-
-->
42
+
### Reprovision replica
43
+
44
+
The reprovision replica task lets you rebuild a broken sql instance replica. It is intended to be used for a replica that is failing to synchronize, perhaps due to corruption of the data on the persistent volumes (PV) for that instance, or due to some recurring SQL issue, for example.
45
+
46
+
Support for reprovisioning of a replica is provided only via `az` CLI and kube-native. There is no portal support.
47
+
48
+
#### Prerequisites
49
+
50
+
Reprovisioning can only be performed on a multi-replica instance.
51
+
52
+
#### Request a reprovision replica
53
+
54
+
Request provisioning [via `az` CLI](#via-az-cli) or [via `kubectl`](#via-kubectl).
55
+
56
+
##### Via `az` CLI
57
+
58
+
```az
59
+
az sql mi-arc reprovision-replica -n <instance_name-replica_number> -k <namespace> --use-k8s
60
+
```
61
+
62
+
For example, for replica 2 of instance mySqlInstance in namespace arc, the command would be:
63
+
64
+
```az
65
+
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s
66
+
```
67
+
68
+
This runs until completion at which point the console returns:
69
+
70
+
```az
71
+
sql-reprov-replica-mySqlInstance-2-1664217002.376132 is Ready
72
+
```
73
+
74
+
The name of the thing that is ready, is the kubernetes task. At this point you can either examine the task:
There is an optional `--no-wait` parameter for the command. If you send the request with `--no-wait`, the output will include the name of the task to be monitored. For example:
87
+
88
+
```az
89
+
az sql mi-arc reprovision-replica -n mySqlInstance-2 -k arc --use-k8s --no-wait
90
+
Reprovisioning replica mySqlInstance-2 in namespace `arc`. Please use
91
+
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217434.531035`
92
+
to check its status or
93
+
`kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask`
94
+
to view all reprovision tasks.
95
+
```
96
+
97
+
#### Via kubectl
98
+
99
+
The CRD for reprovision replica is fairly simple. You can create a yaml file with this structure:
- The task should reject attempts to reprovision the current primary replica. If the current primary is believed to be corrupted and in need of reprovisioning, the user should fail over to a different primary and then request the reprovisioning.
134
+
135
+
- Reprovisioning of multiple replicas in the same instance will serialize; the tasks will accumulate and be held in "Creating" state until the currently active task finishes *and is deleted*. There is no auto-cleanup of a completed task, so this serialization will affect the user even if they run the az command synchronously and wait for it to complete before requesting another reprovision. In all cases they will have to remove the task via kubectl before another reprovision on the same instance can run. **There is no warning about this, either in the az cli or in kubectl.**
136
+
137
+
138
+
More about that second limitation: If you have multiple requests to reprovision a replica in one instance, you may see something like this in the output from a `kubectl get SqlManagedInstanceReprovisionReplicaTask`:
139
+
140
+
```console
141
+
kubectl get SqlManagedInstanceReprovisionReplicaTask -n arc
That last entry for replica c-sql-kkncursza-1, `sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035`, will stay in status `Creating` until the completed one `sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132` is removed.
0 commit comments