Repository navigation
Run ALTS i686 tests in native i386 images on x86_64 workers - #47
Merged
Merged
Conversation
Without an override the Docker runner falls back to the x86_64 image, so i686 packages get installed on a multilib system and dnf fails to pull i686 dependencies whose x86_64 counterpart has a different version (e.g. infiniband-diags/libibumad on AlmaLinux 10). Add a celery_x86_64 group with docker_image_overrides pointing AlmaLinux 8-10 linux/386 to quay.io/almalinuxautobot/almalinux, and render the overrides as block YAML in the Celery config.
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.
Summary
i686 tests on x86_64 workers currently run in the default x86_64 image, because no
docker_image_overridesare configured in prod. The i686 packages end up installed on a multilib x86_64 system. There, dnf refuses to pull an i686 dependency when the x86_64 package of the same name has a different version, so tests fail with errors like:I reproduced this in an x86_64
almalinux:10container. The same install succeeds in the nativequay.io/almalinuxautobot/almalinux:10image forlinux/386.Changes
inventories/alts/group_vars/celery_x86_64.yml: new group vars that setdocker_image_overridesfor AlmaLinux 8, 9 and 10 onlinux/386, usingquay.io/almalinuxautobot/almalinux.inventories/alts/hosts.yml: newcelery_x86_64child group undercelery, so only x86_64 workers get the override.playbooks/templates/alts_service_config.yaml.j2:docker_image_overridesis now rendered as block YAML instead of a one-line JSON list. Versions are forced to strings.Notes
celery_x86_64group to the prod inventory, then runplaybooks/alts_celery.yml --limit celery_x86_64 --tags celery-config. Restartalts-celeryon those hosts afterwards.keep_locally = true). If a worker still runs i686 tests on x86_64, rundocker rmion that worker.Testing
ansible ... -m debug -a var=docker_image_overrides: defined only for x86_64 workers, undefined for aarch64, s390x and ppc64le.templatemodule and parsed it back withfrom_yaml. The data matches the group vars.--diff --checkagainst the prod workers shows only the newdocker_image_overridesblock incelery.yaml.🤖 Generated with Claude Code