Skip to content

Wrong grpc-health-probe binary for ARM architecture #72

@EmanuelSanchez

Description

@EmanuelSanchez

Describe the bug
Container health checks fails due to an "exec format error".
The k8ssandra/medusa image for ARM architecture is using the wrong grpc-health-probe binary and it makes to fail the health checks.

To Reproduce

  1. Deploy a K8ssandra cluster with medusa enabled on an ARM architecture.
  2. The medusa container will give the following error: 'Liveness probe failed: exec /bin/grpc_health_probe: exec format error'

Expected behavior
Health checks should work. And give a successful response.

Screenshots
image

Environment (please complete the following information):

  • medusa-operator version:
    imageID: docker.io/k8ssandra/medusa@sha256:cb5dd774606878148dedb3f015f3edd5f0000be2509ba85e97de1086ec8abee9

  • Helm charts version info
    k8ssandra-operator k8ssandra-operator 7 2024-05-02 08:56:51.021382029 -0500 -05 deployed k8ssandra-operator-1.15.0 1.15.0

Which could be the problem?
The image for ARM architectures list the following command in the layers:
'RUN /bin/sh -c GRPC_HEALTH_PROBE_VERSION=v0.4.25 && wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && chmod +x /bin/grpc_health_probe # buildkit'

It is using the amd64 binary version of grpc_health_probe instead of the arm64.
It should be:
'RUN /bin/sh -c GRPC_HEALTH_PROBE_VERSION=v0.4.25 && wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-arm64 && chmod +x /bin/grpc_health_probe # buildkit'

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions