Someone with not x86-64 architecture should help with creating and testing 
images — and they can be included to release cycle.


> On 11 Mar 2022, at 20:22, Jeremy Meyer <jeremy.me...@gridgain.com> wrote:
> 
> Not an answer to your question, but some thoughts..  I have an apple
> Silicon M1 mac. While creating the exercises for the PubNub data streaming
> demo for the Control Center / Nebula trainings, where we build the image
> from docker image "openjdk:11" (previous versions don't work)  I discovered
> a few, nasty little gotcha's in Docker on M1 including apparent differences
> in the way multicast and DNS works (or doesn't work) in the Docker network.
> For example, the nodes of my cluster never discovered each other until I
> specified an actual server name  "docker-ignite-server-node-1:47500..47509"  
> in
> the discoverySPI settings.
> 
> So for M1 it seems that it isn't just the architecture you would need to
> test,  there are some annoying little differences in implementation.
> 
> Happy to help test after this training deadline has been met, end of this
> month. I do need to update the Monitoring tutorial, because right now it
> doesn't work on Linux or M1.
> 
> Jeremy.
> 
> On Fri, Mar 11, 2022 at 12:04 PM Stephen Darlington <
> stephen.darling...@gridgain.com> wrote:
> 
>> Hi all,
>> 
>> I opened this ticket recently, but think it needs further discussion.
>> https://issues.apache.org/jira/browse/IGNITE-16293 <
>> https://issues.apache.org/jira/browse/IGNITE-16293>
>> 
>> The motivation for the ticket came from a user request for an image that
>> ran natively on an M1 MacBook (70695484 <
>> https://stackoverflow.com/questions/70685637/apache-ignite-docker-image-not-compatible-on-apple-m1-max/70695484#70695484>).
>> I’m honestly quite surprised that it’s taken this long for anyone to ask!
>> I’ve run Ignite on my Raspberry Pi from time-to-time and ARM-based servers
>> are also becoming increasingly common.
>> 
>> However, this question led me down a rabbit-hole, resulting in three
>> further questions:
>> Should we support Docker images with architectures other than x86-64?
>> If yes, which ones?
>> And how should we support them?
>> We currently have images for x86-64 and, for a couple of versions,
>> additional images for s390x. So one argument in favour of the first point
>> is that we already do! Of course, extra code requires more support and some
>> work on the build servers. I think the effort is low but it’s non-zero.
>> 
>> I don’t think we need to go crazy here. I think adding an ARM image would
>> open up support for Raspberry Pi’s and Apple Silicon Macs.
>> 
>> Docker also has the ability to cross-compile (working-with-buildx <
>> https://docs.docker.com/buildx/working-with-buildx/>) so there’s no need
>> for any specialised new hardware. (I’m unsure if this option works for
>> s390x?)
>> 
>> Currently, our cross-platform support is achieved just with tags. There is
>> a better way where, in addition to the tags, you add a manifest. The
>> manifest allows a client to pick the right image automatically.
>> (multi-platform-docker-builds <
>> https://www.docker.com/blog/multi-platform-docker-builds/>) As an
>> example, when I run this on my Raspberry Pi I get the ARMv7 image:
>> 
>> sudo docker run -it --rm --net=host ghcr.io/sdarlington/ignite-arm:2.12.0
>> 
>> But if I run the same command on an Apple Silicon Mac (I think — I don’t
>> have one to test!), it would use the aarch64 image. I built both the ARMv7
>> and aarch64 images on my Intel Mac.
>> 
>> Thoughts?
>> 
>> Regards,
>> Stephen

Reply via email to