Skip to content

Commit 711cdbc

Browse files
Merge pull request #212727 from jkleinschnitz-msft/patch-1
Oct Test release notes
2 parents 6bb1581 + ed29cec commit 711cdbc

File tree

1 file changed

+124
-26
lines changed

1 file changed

+124
-26
lines changed

articles/azure-arc/data/includes/azure-arc-data-preview-release.md

Lines changed: 124 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,45 +6,143 @@ ms.topic: include
66
ms.date: 08/02/2022
77
---
88

9+
<!--
910
At this time, a test or preview build is not available for the next release.
11+
-->
1012

11-
12-
<!--
13-
The current preview release published on September 6, 2022.
13+
The current test release published on September 27, 2022.
1414

1515
|Component|Value|
1616
|-----------|-----------|
17-
|Container images registry/repository |`mcr.microsoft.com/arcdata/preview`|
18-
|Container images tag |`v1.11.0_2022-09-13`|
19-
|CRD names and version|`datacontrollers.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`exporttasks.tasks.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`kafkas.arcdata.microsoft.com`: v1beta1<br/>`monitors.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`sqlmanagedinstances.sql.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`postgresqls.arcdata.microsoft.com`: v1beta1, v1beta2, v1beta3<br/>`sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com`: v1beta1, v1<br/>`failovergroups.sql.arcdata.microsoft.com`: v1beta1, v1beta2, v1<br/>`activedirectoryconnectors.arcdata.microsoft.com`: v1beta1, v1beta2<br/>`sqlmanagedinstancereprovisionreplicatask.tasks.sql.arcdata.microsoft.com`: v1beta1<br/>`otelcollectors.arcdata.microsoft.com`: v1beta1<br/>`telemetryrouters.arcdata.microsoft.com`: v1beta1<br/>|
17+
|Container images registry/repository |`mcr.microsoft.com/arcdata/test`|
18+
|Container images tag |`v1.12.0_2022-10-11`|
19+
|CRD names and version|`datacontrollers.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`exporttasks.tasks.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`kafkas.arcdata.microsoft.com`: v1beta1<br/>`monitors.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`sqlmanagedinstances.sql.arcdata.microsoft.com`: v1beta1, v1 through v7<br/>`postgresqls.arcdata.microsoft.com`: v1beta1, v1beta2, v1beta3<br/>`sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com`: v1beta1, v1<br/>`failovergroups.sql.arcdata.microsoft.com`: v1beta1, v1beta2, v1 through v2<br/>`activedirectoryconnectors.arcdata.microsoft.com`: v1beta1, v1beta2, v1<br/>`sqlmanagedinstancereprovisionreplicatask.tasks.sql.arcdata.microsoft.com`: v1beta1<br/>`otelcollectors.arcdata.microsoft.com`: v1beta1<br/>`telemetryrouters.arcdata.microsoft.com`: v1beta1<br/>|
2020
|Azure Resource Manager (ARM) API version|2022-03-01-preview (No change)|
21-
|`arcdata` Azure CLI extension version|1.4.6 ([Download](https://aka.ms/az-cli-arcdata-ext))|
22-
|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))|
21+
|`arcdata` Azure CLI extension version|1.4.7 ([Download](https://aka.ms/az-cli-arcdata-ext))|
22+
|Arc enabled Kubernetes helm chart extension version|1.12.0|
23+
|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))|
2424

2525
New for this release:
26-
26+
<!--
2727
- 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+
-->
3530

3631
- 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).
3833

34+
<!--
3935
- 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+
-->
4437

4538
- `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'
4941

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:
75+
76+
```console
77+
kubectl describe SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217002.376132 -n arc
78+
```
79+
80+
Or delete it:
81+
82+
```console
83+
kubectl delete SqlManagedInstanceReprovisionReplicaTask sql-reprov-replica-mySqlInstance-2-1664217002.376132 -n arc
84+
```
85+
86+
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:
100+
101+
```yaml
102+
apiVersion: tasks.sql.arcdata.microsoft.com/v1beta1
103+
kind: SqlManagedInstanceReprovisionReplicaTask
104+
metadata:
105+
name: <task name you make up>
106+
namespace: <namespace>
107+
spec:
108+
replicaName: instance_name-replica_number
109+
```
110+
111+
To use the same example as above, mySqlinstance replica 2, the payload would be:
112+
113+
```yaml
114+
apiVersion: tasks.sql.arcdata.microsoft.com/v1beta1
115+
kind: SqlManagedInstanceReprovisionReplicaTask
116+
metadata:
117+
name: my-reprovision-task-mySqlInstance-2
118+
namespace: arc
119+
spec:
120+
replicaName: mySqlInstance-2
121+
```
122+
123+
Once the yaml is applied via kubectl apply, you can monitor or delete the task via kubectl:
124+
125+
```console
126+
kubectl get -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2
127+
kubectl describe -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2
128+
kubectl delete -n arc SqlManagedInstanceReprovisionReplicaTask my-reprovision-task-mySqlInstance-2
129+
```
130+
131+
#### Limitations
132+
133+
- 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
142+
NAME STATUS AGE
143+
sql-reprov-replica-c-sql-djlexlmty-1-1664217344.304601 Completed 13m
144+
sql-reprov-replica-c-sql-kkncursza-1-1664217002.376132 Completed 19m
145+
sql-reprov-replica-c-sql-kkncursza-1-1664217434.531035 Creating 12m
146+
```
147+
148+
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

Comments
 (0)