Unable to run IntegrationSinks on arm64 machines
Describe the bug
When IntegrationSinks are run on an arm64 machine (e.g. AWS Graviton), they fail to start up with the following error:
"log": "exec /opt/jboss/container/java/run/run-java.sh: exec format error",
Is it possible that the mapping of eventing-integrations-images only contains images built for amd64?
Expected behavior
IntegrationSinks should work on arm64 machines
To Reproduce
- Create a NodePool containing Graviton machines.
- Deploy any IntegrationSink
Knative release version
v0.19.0
Additional context
Alternatively (assuming the container image is from knative-extensions and is built off of the amd64 registry.access.redhat.com/ubi9/openjdk-21-runtime), I suppose you could add a nodeSelector to the IntegrationSink's podspec templates to specify that the pods require the label kubernetes.io/arch=amd64
/triage accepted
I guess this is, because we don't set the target platform via quarkus.jib.platform for the quarkus builds eventing-integrations and thus it defaults to amd64.
@matzew @christophd
@darkgnotic In a different repo we set the jib to a couple platforms, see:
https://github.com/knative-extensions/eventing-kafka-broker/blob/60ae6aa1e5234455b19fea3e1e7e50334a93a9e8/data-plane/pom.xml#L453-L481
I think we can do same/similar on the repo for the eventing-integrations for setting this up.
Wanna work on this?
Apologies for the delayed response. Unfortunately I do not have the bandwidth for this. The best I can do is report. 🙏
Thank you for maintaining a very useful platform.
Hey @matzew , Can I work on this ? If any suggestion lmk.
/assign