diff --git a/images/macos/toolsets/toolset-xcode-27.json b/images/macos/toolsets/toolset-xcode-27.json index cbe7b3a647..5fef51b198 100644 --- a/images/macos/toolsets/toolset-xcode-27.json +++ b/images/macos/toolsets/toolset-xcode-27.json @@ -1,36 +1,20 @@ { "xcode": { - "default": "27_beta_4", - "x64": { - "versions": [ - { - "link": "27_beta_4", - "filename": "Xcode_27_beta_4", - "version": "27.0+27A5228h", - "symlinks": ["27.0"], - "sha256": "808582beef282213b3a5a1132338ea7f866010a819543fcc91ab12f24c15919d", - "install_runtimes": "default" - } - ] - }, + "default": "27_beta_5", "arm64": { "versions": [ { - "link": "27_beta_4", - "filename": "Xcode_27_beta_4", - "version": "27.0+27A5228h", + "link": "27_beta_5", + "filename": "Xcode_27_beta_5", + "version": "27.0+27A5237l", "symlinks": ["27.0"], - "sha256": "808582beef282213b3a5a1132338ea7f866010a819543fcc91ab12f24c15919d", + "sha256": "1f92c0fbb7268205e9b1f8061bf47db012a92e47729557c79ac053c9e5bd881a", "install_runtimes": "default" } ] } }, "java": { - "x64": { - "default": "21", - "versions": [ "11", "17", "21", "25" ] - }, "arm64": { "default": "21", "versions": [ "11", "17", "21", "25" ] @@ -106,13 +90,6 @@ }, "dotnet": { "arch":{ - "x64": { - "versions": [ - "8.0", - "9.0", - "10.0" - ] - }, "arm64": { "versions": [ "8.0", @@ -137,14 +114,6 @@ "url" : "https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { - "x64": { - "versions": [ - "3.11.*", - "3.12.*", - "3.13.*", - "3.14.*" - ] - }, "arm64": { "versions": [ "3.11.*", @@ -160,12 +129,6 @@ "url" : "https://raw.githubusercontent.com/actions/node-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { - "x64": { - "versions": [ - "22.*", - "24.*" - ] - }, "arm64": { "versions": [ "22.*", @@ -179,14 +142,6 @@ "url" : "https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json", "platform" : "darwin", "arch": { - "x64": { - "variable_template" : "GOROOT_{0}_{1}_X64", - "versions": [ - "1.24.*", - "1.25.*", - "1.26.*" - ] - }, "arm64": { "variable_template" : "GOROOT_{0}_{1}_ARM64", "versions": [ @@ -200,14 +155,6 @@ { "name": "Ruby", "arch": { - "x64": { - "versions": [ - "3.2.*", - "3.3.*", - "3.4.*", - "4.0.*" - ] - }, "arm64": { "versions": [ "3.2.*", diff --git a/images/ubuntu/scripts/build/configure-environment.sh b/images/ubuntu/scripts/build/configure-environment.sh index cdd17fa405..2637392ff3 100644 --- a/images/ubuntu/scripts/build/configure-environment.sh +++ b/images/ubuntu/scripts/build/configure-environment.sh @@ -57,9 +57,10 @@ echo 'ACTION=="add", SUBSYSTEM=="module", KERNEL=="nf_conntrack", RUN+="/usr/sbi # Linux kernel 6.17 changed read_ahead_kb default from 128 to 4096 on Azure VMs # where disks are presented as rotational (ROTA=1). This floods the page cache # with unused data during random-access I/O and causes memory exhaustion and thrashing. +# Azure v4 VM series use SCSI disks (sd*); v5/v6 use NVMe namespaces (nvme*n*). if ! is_ubuntu22; then readahead_rule='/etc/udev/rules.d/99-readahead.rules' - echo 'ACTION=="add|change", KERNEL=="sd*", ATTR{queue/read_ahead_kb}="128"' | tee "$readahead_rule" + echo 'ACTION=="add|change", KERNEL=="sd*|nvme*n*", ATTR{queue/read_ahead_kb}="128"' | tee "$readahead_rule" fi # Create symlink for tests running diff --git a/images/ubuntu/scripts/tests/System.Tests.ps1 b/images/ubuntu/scripts/tests/System.Tests.ps1 index 9b1bec1b62..73478662d2 100644 --- a/images/ubuntu/scripts/tests/System.Tests.ps1 +++ b/images/ubuntu/scripts/tests/System.Tests.ps1 @@ -30,14 +30,15 @@ Describe "ReadAhead udev rule" -Skip:(Test-IsUbuntu22) { "/etc/udev/rules.d/99-readahead.rules" | Should -Exist } - It "udev rule contains correct read_ahead_kb value" { + It "udev rule covers SCSI and NVMe devices with correct read_ahead_kb value" { $content = Get-Content "/etc/udev/rules.d/99-readahead.rules" -Raw + $content | Should -Match 'KERNEL=="sd\*\|nvme\*n\*"' $content | Should -Match 'ATTR\{queue/read_ahead_kb\}="128"' } - It "All sd* devices have read_ahead_kb set to 128" { - $devices = Get-ChildItem "/sys/block/sd*/queue/read_ahead_kb" -ErrorAction SilentlyContinue - $devices | Should -Not -BeNullOrEmpty -Because "there should be at least one sd* block device" + It "All SCSI and NVMe devices have read_ahead_kb set to 128" { + $devices = Get-ChildItem "/sys/block/sd*/queue/read_ahead_kb", "/sys/block/nvme*n*/queue/read_ahead_kb" -ErrorAction SilentlyContinue + $devices | Should -Not -BeNullOrEmpty -Because "there should be at least one sd* or nvme* block device" foreach ($dev in $devices) { $value = (Get-Content $dev.FullName).Trim() $value | Should -Be "128" -Because "read_ahead_kb for $($dev.FullName) should be 128 to prevent I/O thrashing"