diff --git a/images/capi/Makefile b/images/capi/Makefile index 5a64b7980a..7eab90626a 100644 --- a/images/capi/Makefile +++ b/images/capi/Makefile @@ -643,6 +643,7 @@ build-azure-sig-azurelinux-3: ## Builds Azure Linux 3 Azure managed image in Sha build-azure-sig-rhel-8: ## Builds RHEL 8 Azure managed image in Shared Image Gallery build-azure-sig-windows-2019-containerd: ## Builds Windows Server 2019 with containerd Azure managed image in Shared Image Gallery build-azure-sig-windows-2022-containerd: ## Builds Windows Server 2022 with containerd Azure managed image in Shared Image Gallery +build-azure-sig-windows-2025-containerd: ## Builds Windows Server 2025 with containerd Azure managed image in Shared Image Gallery build-azure-sig-windows-2019-containerd-cvm: ## Builds Windows Server 2019 with containerd CVM Azure managed image in Shared Image Gallery build-azure-sig-windows-2022-containerd-cvm: ## Builds Windows Server 2022 with containerd CVM Azure managed image in Shared Image Gallery build-azure-vhd-ubuntu-2004: ## Builds Ubuntu 20.04 VHD image for Azure @@ -871,6 +872,7 @@ validate-azure-sig-ubuntu-2204: ## Validates Ubuntu 22.04 Azure managed image in validate-azure-sig-ubuntu-2404: ## Validates Ubuntu 24.04 Azure managed image in Shared Image Gallery Packer config validate-azure-sig-windows-2019-containerd: ## Validate Windows Server 2019 with containerd Azure managed image in Shared Image Gallery Packer config validate-azure-sig-windows-2022-containerd: ## Validate Windows Server 2022 with containerd Azure managed image in Shared Image Gallery Packer config +validate-azure-sig-windows-2025-containerd: ## Validate Windows Server 2025 with containerd Azure managed image in Shared Image Gallery Packer config validate-azure-sig-windows-annual-containerd: ## Validate Windows Server Annual Channel with containerd Azure managed image in Shared Image Gallery Packer config validate-azure-vhd-centos-7: ## Validates CentOS 7 VHD image Azure Packer config validate-azure-vhd-mariner-2: ## Validates Azure Linux 2 VHD image Azure Packer config diff --git a/images/capi/azure_targets.sh b/images/capi/azure_targets.sh index 952fc26c7f..2a4dd58252 100644 --- a/images/capi/azure_targets.sh +++ b/images/capi/azure_targets.sh @@ -1,7 +1,7 @@ VHD_TARGETS="ubuntu-2004 ubuntu-2204 ubuntu-2404 centos-7 mariner-2 azurelinux-3 rhel-8 windows-2019-containerd windows-2022-containerd" VHD_CI_TARGETS="ubuntu-2204 ubuntu-2404 mariner-2 windows-2019-containerd windows-2022-containerd" -SIG_TARGETS="ubuntu-2004 ubuntu-2204 ubuntu-2404 centos-7 mariner-2 azurelinux-3 rhel-8 windows-2019-containerd windows-2022-containerd flatcar" -SIG_CI_TARGETS="ubuntu-2204 ubuntu-2404 mariner-2 windows-2019-containerd windows-2022-containerd flatcar" +SIG_TARGETS="ubuntu-2004 ubuntu-2204 ubuntu-2404 centos-7 mariner-2 azurelinux-3 rhel-8 windows-2019-containerd windows-2022-containerd windows-2025-containerd flatcar" +SIG_CI_TARGETS="ubuntu-2204 ubuntu-2404 mariner-2 windows-2019-containerd windows-2022-containerd windows-2025-containerd flatcar" SIG_GEN2_TARGETS="ubuntu-2004 ubuntu-2204 ubuntu-2404 centos-7 mariner-2 azurelinux-3 flatcar" SIG_GEN2_CI_TARGETS="ubuntu-2204 ubuntu-2404 mariner-2 flatcar" SIG_CVM_TARGETS="ubuntu-2004 ubuntu-2204 ubuntu-2404 windows-2019-containerd windows-2022-containerd" diff --git a/images/capi/packer/azure/packer-windows.json b/images/capi/packer/azure/packer-windows.json index f2752409c8..d9e7762c44 100644 --- a/images/capi/packer/azure/packer-windows.json +++ b/images/capi/packer/azure/packer-windows.json @@ -60,6 +60,11 @@ "name": "sig-{{user `build_name`}}", "os_disk_size_gb": "{{user `os_disk_size_gb`}}", "os_type": "Windows", + "plan_info": { + "plan_name": "{{user `plan_image_sku`}}", + "plan_product": "{{user `plan_image_offer`}}", + "plan_publisher": "{{user `plan_image_publisher`}}" + }, "private_virtual_network_with_public_ip": "{{user `private_virtual_network_with_public_ip`}}", "shared_gallery_image_version_exclude_from_latest": "{{ user `exclude_from_latest` }}", "shared_image_gallery": { diff --git a/images/capi/packer/azure/scripts/init-sig.sh b/images/capi/packer/azure/scripts/init-sig.sh index 447c11337c..1b3689e586 100755 --- a/images/capi/packer/azure/scripts/init-sig.sh +++ b/images/capi/packer/azure/scripts/init-sig.sh @@ -13,7 +13,15 @@ az account set -s ${AZURE_SUBSCRIPTION_ID} >/dev/null 2>&1 eval "$tracestate" export RESOURCE_GROUP_NAME="${RESOURCE_GROUP_NAME:-cluster-api-images}" -export AZURE_LOCATION="${AZURE_LOCATION:-northcentralus}" +export AZURE_LOCATION="${AZURE_LOCATION:-southcentralus}" + +# TODO: [AUGUST 2024] Remove purchase plan info when the image is GA +# Creating Azure VMs from a Marketplace Image requires a Purchase Plan +# https://learn.microsoft.com/en-us/azure/virtual-machines/marketplace-images +export PLAN_PUBLISHER="${PLAN_PUBLISHER:-''}" +export PLAN_OFFER="${PLAN_OFFER:-''}" +export PLAN_NAME="${PLAN_NAME:-''}" + if ! az group show -n ${RESOURCE_GROUP_NAME} -o none 2>/dev/null; then az group create -n ${RESOURCE_GROUP_NAME} -l ${AZURE_LOCATION} --tags ${TAGS:-} fi @@ -50,7 +58,10 @@ create_image_definition() { --sku ${SIG_SKU:-$2} \ --hyper-v-generation ${3} \ --os-type ${4} \ - --features ${5:-''} + --features ${5:-''} \ + --plan-name ${PLAN_NAME} \ + --plan-product ${PLAN_OFFER} \ + --plan-publisher ${PLAN_PUBLISHER} } SIG_TARGET=$1 @@ -83,6 +94,9 @@ case ${SIG_TARGET} in windows-2022-containerd) create_image_definition ${SIG_TARGET} "win-2022-containerd" "V1" "Windows" ;; + windows-2025-containerd) + create_image_definition ${SIG_TARGET} "win-2025-containerd" "V2" "Windows" + ;; windows-annual-containerd) create_image_definition ${SIG_TARGET} "win-annual-containerd" "V1" "Windows" ;; diff --git a/images/capi/packer/azure/windows-2025-containerd.json b/images/capi/packer/azure/windows-2025-containerd.json new file mode 100644 index 0000000000..b495068576 --- /dev/null +++ b/images/capi/packer/azure/windows-2025-containerd.json @@ -0,0 +1,18 @@ +{ + "additional_registry_images": "false", + "additional_registry_images_list": "", + "build_name": "windows-2025-containerd", + "distribution": "windows", + "distribution_version": "2025", + "image_offer": "microsoftserveroperatingsystems-previews", + "image_publisher": "MicrosoftWindowsServer", + "image_sku": "windows-server-2025-azure-edition-hotpatch", + "image_version": "latest", + "load_additional_components": "false", + "runtime": "containerd", + "vm_size": "Standard_D4s_v3", + "windows_updates_kbs": "", + "plan_image_sku": "windows-server-2025-azure-edition-hotpatch", + "plan_image_offer": "microsoftserveroperatingsystems-previews", + "plan_image_publisher": "microsoftwindowsserver" +}