Repository navigation
Schedule AlmaLinux 10 x86_64 tests only on x86-64-v3 capable workers - #236
Merged
Merged
Conversation
The AlmaLinux 10 linux/amd64 image is built for x86-64-v3. On workers whose CPU doesn't support it, every binary in the container exits with 127, so the environment stops right after start and the initial provision fails with a misleading Ansible error. Add an x86_64_v3 queue architecture and a scheduler setting, queue_arch_overrides, that sends matching tasks to another queue architecture. Only workers subscribed to docker-x86_64_v3-* then get AlmaLinux 10 x86_64 tasks. Both architectures of an override are validated against the declared queues, so a typo fails at startup instead of stranding tasks. Resolves: AlmaLinux/build-system#563
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves AlmaLinux/build-system#563
Summary
The AlmaLinux 10
linux/amd64image is built for x86-64-v3. On workers whose CPU doesn't support it, every binary in the container exits with 127: the environment stops right afterstart_environmentandinitial_provisionfails withFailed to create temporary directory. This adds a way to send AlmaLinux 10 x86_64 tasks only to x86-64-v3 capable workers.Changes
alts/shared/constants.py: new queue architecturex86_64_v3inARCHITECTURES, so workers declaredocker-x86_64_v3-*andopennebula-x86_64_v3-*queues.alts/shared/models.py:QueueArchOverridemodel:dist_name,dist_versions,arch(queue architecture the task would normally go to),queue_arch.archandqueue_archmust be declared queue architectures, so a typo fails at startup instead of leaving tasks in a queue nobody consumes.SchedulerConfig.queue_arch_overrides, empty by default.alts/scheduler/scheduling.py: queue architecture lookup moved toTestsScheduler.get_queue_arch(), which applies the first matching override. Versions match on the full version or its major part, likedocker_image_overrides.Nothing changes without an override in the config. Workers are unaffected: the task still has
dist_arch: x86_64, so containers keep usinglinux/amd64.Example scheduler config:
Rollout
docker-x86_64_v3-0to the queues of x86-64-v3 capable ones only.Deployment changes: AlmaLinux/albs-deploy PR (linked in the issue).
Testing
tests/scheduler/test_scheduling.py: major, full and integer versions, i686 mapping to x86_64, x86_64_v2/aarch64/other version/other distro not overridden, no overrides, unknown architecture, rejected undeclaredqueue_arch.pytest tests/scheduler tests/runners: 27 passed.tests/executorspasses. Thetests/executorsfailures need SSH to localhost andbats, which thealts_testscontainer provides; they're unrelated to this change.