From 1dc8e59de147f891670ce610b99f0f7fddceb68e Mon Sep 17 00:00:00 2001 From: Chris Patterson Date: Tue, 2 Aug 2022 10:20:18 -0400 Subject: [PATCH] cloud: add image variant for Azure Extend cloud base image and customize for Azure: 1. Don't install QEMU guest agent 2. Install WALinuxAgent 3. Configure chrony to use virtual PHC 4. Configure sshd with ClientAliveTimeout 120 to prevent ssh timeouts Performed some basic tests by generating an image with: 1. Using QEMU (using direct kernel boot) with Fedora-Server-netinst-x86_64-36-1.5.iso and a flattened kickstart with poweroff instead of reboot 2. Converted QCOW2 to VHD using: qemu-img convert -o subformat=fixed,force_size -O vpc ... 3. Uploading image and created VM, verifying: - cloud-init configures system - chrony using PTP configuration - waagent service installed (but not running until presets are approved) - SSH configuration and functional Signed-off-by: Chris Patterson --- fedora-cloud-base-azure.ks | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 fedora-cloud-base-azure.ks diff --git a/fedora-cloud-base-azure.ks b/fedora-cloud-base-azure.ks new file mode 100644 index 0000000..629e6ad --- /dev/null +++ b/fedora-cloud-base-azure.ks @@ -0,0 +1,24 @@ +# This is a basic Fedora cloud spin designed to work with Azure. + +# Inherit from cloud base +%include fedora-cloud-base.ks + +%packages +# Fedora Cloud Base includes the qemu guest agent and it is not +# required for Azure: https://pagure.io/cloud-sig/issue/319 +-qemu-guest-agent +WALinuxAgent +%end + +%post --erroronfail +cat > /etc/ssh/sshd_config.d/50-client-alive-interval.conf << EOF +ClientAliveInterval 120 +EOF + +cat >> /etc/chrony.conf << EOF + +# Azure's virtual time source: +# https://docs.microsoft.com/en-us/azure/virtual-machines/linux/time-sync#check-for-ptp-clock-source +refclock PHC /dev/ptp_hyperv poll 3 dpoll -2 offset 0 +EOF +%end