|
| 1 | +--- |
| 2 | +title: Automatic Extension Upgrade (preview) for Azure Arc-enabled servers |
| 3 | +description: Learn how to enable the Automatic Extension Upgrade (preview) for your Azure Arc-enabled servers. |
| 4 | +ms.topic: conceptual |
| 5 | +ms.date: 11/06/2021 |
| 6 | +--- |
| 7 | + |
| 8 | +# Automatic Extension Upgrade (preview) for Azure Arc-enabled servers |
| 9 | + |
| 10 | +Automatic Extension Upgrade (preview) is available for Azure Arc-enabled servers that have supported VM extensions installed. When Automatic Extension Upgrade (preview) is enabled on a machine, the extension is upgraded automatically whenever the extension publisher releases a new version for that extension. |
| 11 | + |
| 12 | + Automatic Extension Upgrade has the following features: |
| 13 | + |
| 14 | +- You can opt in and out of automatic upgrades at any time. |
| 15 | +- Each supported extension is enrolled individually, and you can choose which extensions to upgrade automatically. |
| 16 | +- Supported in all public cloud regions. |
| 17 | + |
| 18 | +> [!NOTE] |
| 19 | +> In this release, only the Azure CLI is supported to configure Automatic Extension Upgrade. |
| 20 | +
|
| 21 | +## How does Automatic Extension Upgrade work? |
| 22 | + |
| 23 | +The extension upgrade process replaces the existing Azure VM extension version supported by Azure Arc-enabled servers with a new version of the same extension when published by the extension publisher. |
| 24 | + |
| 25 | +A failed extension update is automatically retried. A retry is attempted every few days automatically without user intervention. |
| 26 | + |
| 27 | +### Availability-first updates |
| 28 | + |
| 29 | +The availability-first model for platform orchestrated updates ensures that availability configurations in Azure are respected across multiple availability levels. |
| 30 | + |
| 31 | +For a group of Arc-enabled servers undergoing an update, the Azure platform will orchestrate updates following the model described in the [Automation Extension Upgrade](../../virtual-machines/automatic-extension-upgrade.md#availability-first-updates). However, there are some notable differences between Arc-enabled servers and Azure VMs: |
| 32 | + |
| 33 | +**Across regions:** |
| 34 | + |
| 35 | +- Geo-paired regions are not applicable. |
| 36 | + |
| 37 | +**Within a region:** |
| 38 | + |
| 39 | +- Availability Zones are not applicable. |
| 40 | +- Machines are batched on a best effort basis to avoid concurrent updates for all machines registered with Arc-enabled servers in a subscription. |
| 41 | + |
| 42 | +## Supported extensions |
| 43 | + |
| 44 | +Automatic Extension Upgrade (preview) supports the following extensions (and more are added periodically): |
| 45 | + |
| 46 | +- Azure Monitor Agent - Linux and Windows |
| 47 | +- Azure Security agent - Linux and Windows |
| 48 | +- Dependency agent – Linux and Windows |
| 49 | +- Key Vault Extension - Linux only |
| 50 | +- Log Analytics agent (OMS agent) - Linux only |
| 51 | + |
| 52 | +## Enabling Automatic Extension Upgrade (preview) |
| 53 | + |
| 54 | +To enable Automatic Extension Upgrade (preview) for an extension, you must ensure the property `enable-auto-upgrade` is set to `true` and added to every extension definition individually. |
| 55 | + |
| 56 | +Use the [az connectedmachine extension](/cli/azure/connectedmachine/extension) cmdlet with the `--name`, `--machine-name`, `--enable-auto-upgrade`, and `--resource-group` parameters. |
| 57 | + |
| 58 | +```azurecli |
| 59 | +az connectedmachine extension update \ |
| 60 | + --resource-group resourceGroupName \ |
| 61 | + --machine-name machineName \ |
| 62 | + --name DependencyAgentLinux \ |
| 63 | + --enable-auto-upgrade true |
| 64 | +``` |
| 65 | + |
| 66 | +To check the status of Automatic Extension Upgrade (preview) for all extensions on an Arc-enabled server, run the following command: |
| 67 | + |
| 68 | +```azurecli |
| 69 | +az connectedmachine extension list --resource-group resourceGroupName --machine-name machineName --query "[].{Name:name, AutoUpgrade:properties.enableAutoUpgrade}" --output table |
| 70 | +``` |
| 71 | + |
| 72 | +## Extension upgrades with multiple extensions |
| 73 | + |
| 74 | +A machine managed by Arc-enabled servers can have multiple extensions with automatic extension upgrade enabled. The same machine can also have other extensions without automatic extension upgrade enabled. |
| 75 | + |
| 76 | +If multiple extension upgrades are available for a machine, the upgrades may be batched together, but each extension upgrade is applied individually on a machine. A failure on one extension does not impact the other extension(s) to be upgraded. For example, if two extensions are scheduled for an upgrade, and the first extension upgrade fails, the second extension will still be upgraded. |
| 77 | + |
| 78 | +## Disable Automatic Extension Upgrade |
| 79 | + |
| 80 | +To disable Automatic Extension Upgrade (preview) for an extension, you must ensure the property `enable-auto-upgrade` is set to `false` and added to every extension definition individually. |
| 81 | + |
| 82 | +### Using the Azure CLI |
| 83 | + |
| 84 | +Use the [az connectedmachine extension ](/cli/azure/connectedmachine/extension) cmdlet with the `--name`, `--machine-name`, `--enable-auto-upgrade`, and `--resource-group` parameters. |
| 85 | + |
| 86 | +```azurecli |
| 87 | +az connectedmachine extension update \ |
| 88 | + --resource-group resourceGroupName \ |
| 89 | + --machine-name machineName \ |
| 90 | + --name DependencyAgentLinux \ |
| 91 | + --enable-auto-upgrade false |
| 92 | +``` |
| 93 | + |
| 94 | +## Next steps |
| 95 | + |
| 96 | +- You can deploy, manage, and remove VM extensions using the [Azure CLI](manage-vm-extensions-cli.md), [PowerShell](manage-vm-extensions-powershell.md), or [Azure Resource Manager templates](manage-vm-extensions-template.md). |
| 97 | + |
| 98 | +- Troubleshooting information can be found in the [Troubleshoot VM extensions guide](troubleshoot-vm-extensions.md). |
0 commit comments