Skip to content

dns_interceptor binary in Dockerfile is not architecture-aware (ARM builds fail) #781

@desmond-45

Description

@desmond-45

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

  1. Build the litmus-go Docker image on an ARM (arm64) system/cluster.
  2. During the build phase, the Dockerfile runs:
    curl -L https://github.com/litmuschaos/test-tools/releases/download/${LITMUS_VERSION}/dns_interceptor --output /sbin/dns_interceptor
    There is no architecture variable in the path or filename.
  3. 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

  1. Add architecture awareness in the dns_interceptor URL (as shown above).
  2. Ensure that multi-arch dns_interceptor binaries are published to GitHub Releases for each version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions