diff options
| author | 2024-02-22 16:16:31 -0500 | |
|---|---|---|
| committer | 2024-02-23 00:31:35 +0000 | |
| commit | 83a43059d3408d9ef350a3215f2b33a35d778ec7 (patch) | |
| tree | 9e3a039f50cbd5b7c7a77426dc1b9773c94c2fab | |
| parent | d9584ccd70c4a1292f240cc5487c5cd17ca94de9 (diff) | |
| download | kiwi-descriptions-83a43059d3408d9ef350a3215f2b33a35d778ec7.tar.gz kiwi-descriptions-83a43059d3408d9ef350a3215f2b33a35d778ec7.zip | |
azure: support accelerated networking feature
Azure provides an optional "Accelerated Networking" feature. Enabling
this feature when creating a VM enables SR-IOV and provides the guest
with a virtual function.
Supporting this requires two changes. Firstly, the kernel-modules
package is required as it contains the Mellanox drivers required for the
VF provided to the guest. Secondly, the interface needs to be ignored by
NetworkManager or it'll try and fail to bring up the device and the VM
will be unreachable except by serial console. If this is observed, it's
likely new hardware has been deployed and additional drivers need to be
added to the NetworkManager config.
See https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview
for details.
| -rwxr-xr-x | config.sh | 9 | ||||
| -rw-r--r-- | teams/cloud/cloud.xml | 1 |
2 files changed, 10 insertions, 0 deletions
@@ -118,6 +118,15 @@ cat >> /etc/chrony.conf << EOF refclock PHC /dev/ptp_hyperv poll 3 dpoll -2 offset 0 EOF +# Support Azure's accelerated networking feature; without this the network fails +# to come up. It may need adjustments for additional drivers in the future. +cat > /etc/NetworkManager/conf.d/99-azure-unmanaged-devices.conf << EOF +# Ignore SR-IOV interface on Azure, since it's transparently bonded +# to the synthetic interface +[keyfile] +unmanaged-devices=driver:mlx4_core;driver:mlx5_core +EOF + # Enable the Azure Linux Agent service systemctl enable waagent.service fi diff --git a/teams/cloud/cloud.xml b/teams/cloud/cloud.xml index 996f30c..ef646c4 100644 --- a/teams/cloud/cloud.xml +++ b/teams/cloud/cloud.xml @@ -132,6 +132,7 @@ </packages> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Azure"> <package name="WALinuxAgent"/> + <package name="kernel-modules"/> </packages> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-GCE"> <package name="google-compute-engine-guest-configs"/> |