ibm-messaging / mq-container

Container images for IBM® MQ
Apache License 2.0
247 stars 186 forks source link

ARM image in IBM Container Registry #564

Open rd-zahari-aleksiev opened 3 months ago

rd-zahari-aleksiev commented 3 months ago

Is there any chance the IBM Container Registry to host also arm64 variant ? It will make the life of M1-3 CPU owner much easier ? :-)

arthurbarr commented 3 months ago

There is always a chance :) It's not something we're actively working on at the moment though. One bit of good news (as a Applie silicon Mac user myself), is that Podman 5.x fixes the bugs with emulation, which means you can run the amd64 image on arm64 now. This works for me on Podman 5.1.1:

podman run --platform=linux/amd64 --rm -ti -e LICENSE=accept icr.io/ibm-messaging/mq
mbechto commented 3 months ago

We use it in our component tests (Testcontainers with Docker), would be nice to have a native image for arm64 in addition.

rd-zahari-aleksiev commented 3 months ago

Actually I was going to write that. We also use it for testcontainers tests, and I've prepared a docker image with all the queues and settings in order to be easy to write integration tests, but I cannot automate the multiplatform building of a new version, because I'm forced to do two images, one for arm and one for amd.

Also in the tests we are doing some weird stuff for the image name -> (System.getProperty("os.arch").equals("aarch64") ? "9.4.0.0-arm64" : "latest"). We have like 80/20 arm vs amd dev machines.

We are also using docker-compose in order to have local setup for local development and because of the two images we cannot use SB support for docker compose, which greatly simplifies the local setup and the development cycle.

arthurbarr commented 3 months ago

Note that only MQ Advanced for Developers is available on arm64. Please be aware that there are restrictions on the use of MQ Advanced for Developers, such as it only being for a single user on a machine "accessible and used by no more than one developer": https://www.ibm.com/support/customer/csol/terms/?id=L-CLXQ-ADXTK3&lc=en. I believe you can purchase cheaper non-production licenses for test pipelines. I'm not implying anything here, just FYI.

Thanks for feedback, which is always useful to hear, because unless we hear about people wanting this, it is never likely to bubble up the list of priorities.

YuLimin commented 2 months ago

Can MQ Advanced for Developers support Kunpeng 920 CPU which is Arm-based server CPU. Architecture is ARMv8.2

https://www.hisilicon.com/en/products/Kunpeng/Huawei-Kunpeng/Huawei-Kunpeng-920

arthurbarr commented 2 months ago

There is no formal support for arm64 at all. There is a build of MQ Advanced for Developers available, but it only receives limited testing. I believe it might target ARM v8, and should work on ARM v9, but there are no guarantees.

gadzet commented 1 month ago

Would love to see MQ for Developers image in MQ container registry for amd/arm. Any plans for that in future release ?

arthurbarr commented 1 month ago

No plans for that at this time.