-
Notifications
You must be signed in to change notification settings - Fork 141
Open
Description
Summary
The Dockerfile is currently using an architecture-aware download URL pattern for most binaries (e.g., nsutil, pause, etc.), but the dns_interceptor binary is downloaded using a hardcoded URL and filename that does not specify architecture. This means that ARM builds receive the x86_64 binary, which does not run successfully on ARM clusters.
Steps to Reproduce
- Build the litmus-go Docker image on an ARM (arm64) system/cluster.
- During the build phase, the Dockerfile runs:
There is no architecture variable in the path or filename.
curl -L https://github.com/litmuschaos/test-tools/releases/download/${LITMUS_VERSION}/dns_interceptor --output /sbin/dns_interceptor - The resulting dns_interceptor binary is not compatible with ARM and fails to execute.
Expected Behavior
- The Dockerfile should use an architecture-aware pattern for dns_interceptor, e.g.:
curl -L https://github.com/litmuschaos/test-tools/releases/download/${LITMUS_VERSION}/dns_interceptor-linux-${TARGETARCH} --output /sbin/dns_interceptor
- The published release assets for dns_interceptor should include ARM-compatible binaries (e.g., dns_interceptor-linux-arm64).
Actual Behavior
- The ARM build receives the x86_64 dns_interceptor binary, leading to failure on ARM clusters.
- Other binaries in the Dockerfile use the ${TARGETARCH} variable correctly.
Additional Info
- Some recent releases of litmuschaos/test-tools do publish multi-arch builds:
https://github.com/litmuschaos/test-tools/releases - The Dockerfile should be updated to use the same architecture awareness for dns_interceptor as other binaries.
- This issue impacts DNS experiments on ARM clusters.
Suggested Fix
- Add architecture awareness in the dns_interceptor URL (as shown above).
- Ensure that multi-arch dns_interceptor binaries are published to GitHub Releases for each version.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels