Skip to content

Commit 206f8d4

Browse files
Merge pull request #283615 from tomvcassidy/centOsEolUpdates3
centos EOL updates 3
2 parents 36f5407 + 737618d commit 206f8d4

File tree

5 files changed

+20
-45
lines changed

5 files changed

+20
-45
lines changed

articles/virtual-machine-scale-sets/spot-priority-mix.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ ms.custom: engagement-fy23
1313

1414
# Spot Priority Mix for high availability and cost savings
1515

16-
> [!CAUTION]
17-
> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and plan accordingly. For more information, see the [CentOS End Of Life guidance](~/articles/virtual-machines/workloads/centos/centos-end-of-life.md).
18-
1916
**Applies to:** :heavy_check_mark: Flexible scale sets
2017

2118
Azure allows you to have the flexibility of running a mix of uninterruptible standard VMs and interruptible Spot VMs for Virtual Machine Scale Set deployments. You're able to deploy this Spot Priority Mix using Flexible orchestration to easily balance between high-capacity availability and lower infrastructure costs according to your workload requirements. This feature allows you to easily manage your scale set capability to achieve the following goals:
@@ -78,7 +75,7 @@ az vmss create -n myScaleSet \
7875
--regular-priority-percentage 50 \
7976
--orchestration-mode flexible \
8077
--instance-count 4 \
81-
--image CentOS85Gen2 \
78+
--image Ubuntu2204 \
8279
--priority Spot \
8380
--eviction-policy Deallocate \
8481
--single-placement-group False \

articles/virtual-machines/extensions/enable-infiniband.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ author: ju-shim
1313

1414
# Enable InfiniBand
1515

16-
> [!CAUTION]
17-
> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and plan accordingly. For more information, see the [CentOS End Of Life guidance](~/articles/virtual-machines/workloads/centos/centos-end-of-life.md).
18-
1916
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Windows VMs :heavy_check_mark: Flexible scale sets :heavy_check_mark: Uniform scale sets
2017

2118
[RDMA capable](../sizes-hpc.md#rdma-capable-instances) [HB-series](../sizes-hpc.md) and [N-series](../sizes-gpu.md) VMs communicate over the low latency and high bandwidth InfiniBand network. The RDMA capability over such an interconnect is critical to boost the scalability and performance of distributed-node HPC and AI workloads. The InfiniBand enabled HB-series and N-series VMs are connected in a non-blocking fat tree with a low-diameter design for optimized and consistent RDMA performance.
@@ -40,7 +37,7 @@ To add the VM extension to a VM, you can use [Azure PowerShell](/powershell/azur
4037

4138
### Linux
4239

43-
The [OFED drivers for Linux](https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed) can be installed with the example below. Though the example here is for RHEL/CentOS, but the steps are general and can be used for any compatible Linux operating system such as Ubuntu (18.04, 19.04, 20.04) and SLES (12 SP4+ and 15). More examples for other distros are on the [azhpc-images repo](https://github.com/Azure/azhpc-images/blob/master/ubuntu/ubuntu-20.x/ubuntu-20.04-hpc/install_mellanoxofed.sh). The inbox drivers also work as well, but the Mellanox OFED drivers provide more features.
40+
The [OFED drivers for Linux](https://www.mellanox.com/products/infiniband-drivers/linux/mlnx_ofed) can be installed with the example below. Though the example here is for RHEL, but the steps are general and can be used for any compatible Linux operating system such as Ubuntu (18.04, 19.04, 20.04) and SLES (12 SP4+ and 15). More examples for other distros are on the [azhpc-images repo](https://github.com/Azure/azhpc-images/blob/master/ubuntu/ubuntu-20.x/ubuntu-20.04-hpc/install_mellanoxofed.sh). The inbox drivers also work as well, but the Mellanox OFED drivers provide more features.
4441

4542
```bash
4643
MLNX_OFED_DOWNLOAD_URL=http://content.mellanox.com/ofed/MLNX_OFED-5.0-2.1.8.0/MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
@@ -51,8 +48,8 @@ tar zxvf MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64.tgz
5148
KERNEL=( $(rpm -q kernel | sed 's/kernel\-//g') )
5249
KERNEL=${KERNEL[-1]}
5350
# Uncomment the lines below if you are running this on a VM
54-
#RELEASE=( $(cat /etc/centos-release | awk '{print $4}') )
55-
#yum -y install http://olcentgbl.trafficmanager.net/centos/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
51+
#RELEASE=( $(cat /etc/redhat-release | awk '{print $4}') )
52+
#yum -y install http://olcentgbl.trafficmanager.net/redhat/${RELEASE}/updates/x86_64/kernel-devel-${KERNEL}.rpm
5653
sudo yum install -y kernel-devel-${KERNEL}
5754
sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERNEL --kernel-sources /usr/src/kernels/${KERNEL} --add-kernel-support --skip-repo
5855
```
@@ -62,7 +59,7 @@ sudo ./MLNX_OFED_LINUX-5.0-2.1.8.0-rhel7.7-x86_64/mlnxofedinstall --kernel $KERN
6259
For Windows, download and install the [Mellanox OFED for Windows drivers](https://www.mellanox.com/products/adapter-software/ethernet/windows/winof-2).
6360

6461
## Enable IP over InfiniBand (IB)
65-
If you plan to run MPI jobs, you typically don't need IPoIB. The MPI library will use the verbs interface for IB communication (unless you explicitly use the TCP/IP channel of MPI library). But if you have an app that uses TCP/IP for communication and you want to run over IB, you can use IPoIB over the IB interface. Use the following commands (for RHEL/CentOS) to enable IP over InfiniBand.
62+
If you plan to run MPI jobs, you typically don't need IPoIB. The MPI library will use the verbs interface for IB communication (unless you explicitly use the TCP/IP channel of MPI library). But if you have an app that uses TCP/IP for communication and you want to run over IB, you can use IPoIB over the IB interface. Use the following commands (for RHEL) to enable IP over InfiniBand.
6663

6764
> [!IMPORTANT]
6865
> To avoid issues, ensure you aren't running older versions of Microsoft Azure Linux Agent (waagent). We recommend using at least [version 2.4.0.2](https://github.com/Azure/WALinuxAgent/releases/tag/v2.4.0.2) before enabling IP over IB.

articles/virtual-machines/linux/tutorial-manage-vm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,4 +342,4 @@ In this tutorial, you learned about basic VM creation and management such as how
342342
Advance to the next tutorial to learn about VM disks.
343343

344344
> [!div class="nextstepaction"]
345-
> [Create and Manage VM disks](./tutorial-manage-disks.md)
345+
> [Create and Manage VM disks](./tutorial-manage-disks.md)

articles/virtual-machines/linux/using-cloud-init.md

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,11 @@ ms.author: srijangupta
1212
---
1313
# cloud-init support for virtual machines in Azure
1414

15-
> [!CAUTION]
16-
> This article references CentOS, a Linux distribution that is End Of Life (EOL) status. Please consider your use and plan accordingly.
17-
>
1815
**Applies to:** :heavy_check_mark: Linux VMs :heavy_check_mark: Flexible scale sets
1916

2017
This article explains the support that exists for [cloud-init](https://cloudinit.readthedocs.io) to configure a virtual machine (VM) or Virtual Machine Scale Sets at provisioning time in Azure. These cloud-init configurations are run on first boot once the resources have been provisioned by Azure.
2118

22-
VM Provisioning is the process where the Azure will pass down your VM Create parameter values, such as hostname, username, and password, and make them available to the VM as it boots up. A 'provisioning agent' will consume those values, configure the VM, and report back when completed.
19+
VM Provisioning is the process where Azure passes down your VM Create parameter values, such as hostname, username, and password, and make them available to the VM as it boots up. A 'provisioning agent' will consume those values, configure the VM, and report back when completed.
2320

2421
Azure supports two provisioning agents [cloud-init](https://cloudinit.readthedocs.io), and the [Azure Linux Agent (WALA)](../extensions/agent-linux.md).
2522

@@ -50,16 +47,7 @@ There are two stages to making cloud-init available to the supported Linux distr
5047
|RedHat 8 |RHEL |8.1, 8.2, 8_3, 8_4 |latest |yes | yes |
5148
|RedHat 9 |RHEL |9_0, 9_1 |latest |yes | yes |
5249

53-
* All other RedHat SKUs starting from RHEL 7 (version 7.7) and RHEL 8 (version 8.1) including both Gen1 and Gen2 images are provisioned using cloud-init. Cloud-init is not supported on RHEL 6.
54-
55-
56-
### CentOS
57-
Publisher / Version| Offer | SKU | Version | image cloud-init ready | cloud-init package support on Azure|
58-
|:--- |:--- |:--- |:--- |:--- |:--- |
59-
|OpenLogic 7 |CentOS |7.7, 7.8, 7.9 |latest |yes | yes |
60-
|OpenLogic 8 |CentOS |8.1, 8.2, 8.3 |latest |yes | yes |
61-
62-
* All other CentOS SKUs starting from CentOS 7 (version 7.7) and CentOS 8 (version 8.1) including both Gen1 and Gen2 images are provisioned using cloud-init. CentOS 6.10, 7.4, 7.5, and 7.6 images don't support cloud-init.
50+
* All other RedHat SKUs starting from RHEL 7 (version 7.7) and RHEL 8 (version 8.1) including both Gen1 and Gen2 images are provisioned using cloud-init. Cloud-init isn't supported on RHEL 6.
6351

6452
### Oracle
6553

@@ -70,41 +58,38 @@ There are two stages to making cloud-init available to the supported Linux distr
7058

7159
* All other Oracle SKUs starting from Oracle 7 (version 7.7) and Oracle 8 (version 8.1) including both Gen1 and Gen2 images are provisioned using cloud-init.
7260

73-
7461
### SUSE SLES
7562

7663
Publisher / Version| Offer | SKU | Version | image cloud-init ready | cloud-init package support on Azure|
7764
|:--- |:--- |:--- |:--- |:--- |:--- |
7865
|SUSE 15 |SLES (SUSE Linux Enterprise Server) |sp1, sp2, sp3 |latest |yes | yes |
7966
|SUSE 12 |SLES (SUSE Linux Enterprise Server) |sp5 |latest |yes | yes |
8067

81-
8268
### Debian
8369
| Publisher / Version | Offer | SKU | Version | image cloud-init ready | cloud-init package support on Azure|
8470
|:--- |:--- |:--- |:--- |:--- |:--- |
8571
| debian-10 |Debian |10-cloudinit-gen2 |Debian:debian-10:10-cloudinit-gen2:0.0.1015 |yes |yes
8672
| debian-10 |Debian |10-cloudinit-gen2 |Debian:debian-10:10-cloudinit-gen2:0.0.991 |yes |yes
8773
| debian-10 |Debian |10-cloudinit-gen2 |Debian:debian-10:10-cloudinit-gen2:0.0.999 |yes |yes
8874

89-
90-
Currently Azure Stack will support the provisioning of cloud-init enabled images.
75+
Currently, Azure Stack supports the provisioning of cloud-init enabled images.
9176

9277
## What is the difference between cloud-init and the Linux Agent (WALA)?
9378
WALA is an Azure platform-specific agent used to provision and configure VMs, and handle [Azure extensions](../extensions/features-linux.md).
9479

9580
We're enhancing the task of configuring VMs to use cloud-init instead of the Linux Agent in order to allow existing cloud-init customers to use their current cloud-init scripts, or new customers to take advantage of the rich cloud-init configuration functionality. If you have existing investments in cloud-init scripts for configuring Linux systems, there are **no additional settings required** to enable cloud-init process them.
9681

97-
cloud-init cannot process Azure extensions, so WALA is still required in the image to process extensions, but will need to have its provisioning code disabled, for endorsed Linux distros images that are being converted to provision by cloud-init, they will have WALA installed, and setup correctly.
82+
cloud-init can't process Azure extensions, so WALA is still required in the image to process extensions but needs to have its provisioning code disabled. For endorsed Linux distros images that are being converted to provision by cloud-init, they have WALA installed, and setup correctly.
9883

9984
When creating a VM, if you don't include the Azure CLI `--custom-data` switch at provisioning time, cloud-init or WALA takes the minimal VM provisioning parameters required to provision the VM and complete the deployment with the defaults. If you reference the cloud-init configuration with the `--custom-data` switch, whatever is contained in your custom data will be available to cloud-init when the VM boots.
10085

101-
cloud-init configurations applied to VMs do not have time constraints and will not cause a deployment to fail by timing out. This isn't true for WALA, if you change the WALA defaults to process custom-data, it can't exceed the total VM provisioning time allowance of 40 minutes, if so, the VM Create will fail.
86+
cloud-init configurations applied to VMs don't have time constraints and won't cause a deployment to fail by timing out. This isn't true for WALA, if you change the WALA defaults to process custom-data, it can't exceed the total VM provisioning time allowance of 40 minutes, if so, the VM Create will fail.
10287

10388
## cloud-init VM provisioning without a UDF driver
10489
Beginning with cloud-init 21.2, you can use cloud-init to provision a VM in Azure without a UDF driver. If a UDF driver isn't available in the image, cloud-init uses the metadata that's available in the Azure Instance Metadata Service to provision the VM. This option works only for SSH key and [user data](../user-data.md). To pass in a password or custom data to a VM during provisioning, you must use a UDF driver.
10590

10691
## Deploying a cloud-init enabled Virtual Machine
107-
Deploying a cloud-init enabled virtual machine is as simple as referencing a cloud-init enabled distribution during deployment. Linux distribution maintainers have to choose to enable and integrate cloud-init into their base Azure published images. Once you've confirmed the image you want to deploy is cloud-init enabled, you can use the Azure CLI to deploy the image.
92+
Deploying a cloud-init enabled virtual machine is as simple as referencing a cloud-init enabled distribution during deployment. Linux distribution maintainers have to choose to enable and integrate cloud-init into their base Azure published images. Once you confirm the image you want to deploy is cloud-init enabled, you can use the Azure CLI to deploy the image.
10893

10994
The first step in deploying this image is to create a resource group with the [az group create](/cli/azure/group) command. An Azure resource group is a logical container into which Azure resources are deployed and managed.
11095

@@ -128,33 +113,33 @@ Exit the file and save the file according to the editor. Verify file name on exi
128113

129114
The final step is to create a VM with the [az vm create](/cli/azure/vm) command.
130115

131-
The following example creates a VM named `centos74` and creates SSH keys if they don't already exist in a default key location. To use a specific set of keys, use the `--ssh-key-value` option. Use the `--custom-data` parameter to pass in your cloud-init config file. Provide the full path to the *cloud-init.txt* config if you saved the file outside of your present working directory.
116+
The following example creates a VM named `ubuntu2204` and creates SSH keys if they don't already exist in a default key location. To use a specific set of keys, use the `--ssh-key-value` option. Use the `--custom-data` parameter to pass in your cloud-init config file. Provide the full path to the *cloud-init.txt* config if you saved the file outside of your present working directory.
132117

133118
```azurecli-interactive
134119
az vm create \
135120
--resource-group myResourceGroup \
136-
--name centos74 \
137-
--image OpenLogic:CentOS-CI:7-CI:latest \
121+
--name ubuntu2204 \
122+
--image Canonical:UbuntuServer:22_04-lts:latest \
138123
--custom-data cloud-init.txt \
139124
--generate-ssh-keys
140125
```
141126

142-
When the VM has been created, the Azure CLI shows information specific to your deployment. Take note of the `publicIpAddress`. This address is used to access the VM. It takes some time for the VM to be created, the packages to install, and the app to start. There are background tasks that continue to run after the Azure CLI returns you to the prompt. You can SSH into the VM and use the steps outlined in the Troubleshooting section to view the cloud-init logs.
127+
When the VM is created, the Azure CLI shows information specific to your deployment. Take note of the `publicIpAddress`. This address is used to access the VM. It takes some time for the VM to be created, the packages to install, and the app to start. There are background tasks that continue to run after the Azure CLI returns you to the prompt. You can SSH into the VM and use the steps outlined in the Troubleshooting section to view the cloud-init logs.
143128

144129
You can also deploy a cloud-init enabled VM by passing the [parameters in ARM template](../../azure-resource-manager/templates/deploy-cli.md#inline-parameters).
145130

146131
## Troubleshooting cloud-init
147-
Once the VM has been provisioned, cloud-init will run through all the modules and script defined in `--custom-data` in order to configure the VM. If you need to troubleshoot any errors or omissions from the configuration, you need to search for the module name (`disk_setup` or `runcmd` for example) in the cloud-init log - located in **/var/log/cloud-init.log**.
132+
Once the VM has been provisioned, cloud-init runs through all the modules and script defined in `--custom-data` in order to configure the VM. If you need to troubleshoot any errors or omissions from the configuration, you need to search for the module name (`disk_setup` or `runcmd` for example) in the cloud-init log - located in **/var/log/cloud-init.log**.
148133

149134
> [!NOTE]
150135
> Not every module failure results in a fatal cloud-init overall configuration failure. For example, using the `runcmd` module, if the script fails, cloud-init will still report provisioning succeeded because the runcmd module executed.
151136
152-
For more details of cloud-init logging, see the [cloud-init documentation](https://cloudinit.readthedocs.io/en/latest/development/logging.html)
137+
For more information of cloud-init logging, see the [cloud-init documentation](https://cloudinit.readthedocs.io/en/latest/development/logging.html)
153138

154139
## Telemetry
155140
cloud-init collects usage data and sends it to Microsoft to help improve our products and services. Telemetry is only collected during the provisioning process (first boot of the VM). The data collected helps us investigate provisioning failures and monitor performance and reliability. Data collected doesn't include any identifiers (personal identifiers). Read our [privacy statement](https://go.microsoft.com/fwlink/?LinkId=521839) to learn more. Some examples of telemetry being collected are (this isn't an exhaustive list): OS-related information (cloud-init version, distro version, kernel version), performance metrics of essential VM provisioning actions (time to obtain DHCP lease, time to retrieve metadata necessary to configure the VM, etc.), cloud-init log, and dmesg log.
156141

157-
Telemetry collection is currently enabled for most of our marketplace images that use cloud-init. It is enabled by specifying KVP telemetry reporter for cloud-init. In most Azure Marketplace images, this configuration can be found in the file /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg. Removing this file during image preparation will disable telemetry collection for any VM created from this image.
142+
Telemetry collection is currently enabled for most of our marketplace images that use cloud-init. It's enabled by specifying KVP telemetry reporter for cloud-init. In most Azure Marketplace images, this configuration can be found in the file /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg. Removing this file during image preparation disables telemetry collection for any VM created from this image.
158143

159144
Sample content of 10-azure-kvp.cfg
160145
```

0 commit comments

Comments
 (0)