[ 
https://issues.apache.org/jira/browse/HDDS-6263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Attila Doroszlai resolved HDDS-6263.
------------------------------------
    Resolution: Implemented

Thanks [~smeng] for exploring this and making it possible to build 
{{ozone-runner}} for arm64.  Workflow to publish arm64 images are now also 
complete.

> Full arm64 support for Docker Images
> ------------------------------------
>
>                 Key: HDDS-6263
>                 URL: https://issues.apache.org/jira/browse/HDDS-6263
>             Project: Apache Ozone
>          Issue Type: Task
>          Components: docker
>            Reporter: Siyao Meng
>            Assignee: Siyao Meng
>            Priority: Major
>
> This is the uber jira for arm64 support in Ozone docker development 
> environment.
> Status Quo:
> - Most images used in docker dev environment supports amd64 only.
> - It runs VERY slowly on Apple Silicon (M1) Macs' Docker Desktop due to qemu 
> x86-64 -> arm64 translation. For instance, SCM startup in the upgrade 
> acceptance test should take ~23 seconds on a regular Intel MacBook Pro to 
> boot up and exit safe mode; while it times out (after 240s~300s) starting up 
> the SCM alone on an M1 Pro MacBook Pro due to the translation/emulation.
> Goal:
> - Add arm64 support for all Docker images used for Ozone development. The 
> resulting images (that are pushed to Docker Hub) should be dual-architecture 
> (e.g. ozone-docker-runner).
> Foreseeable work to be done:
> - Bump Centos base image to a version that supports arm64 (Done)
> - dumbinit and tools included in the image build stage should be architecture 
> aware. Currently the tools are x64 only.
> - After that the ozone runner base image should be working, provided that ALL 
> the Ozone dependencies at runtime that uses native library pulled from maven 
> supports Linux arm64/aarch64 (afaik RocksDBJNI does, gRPC also 
> [does|https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.33.0/], 
> newer protobuf 3 should also have it, but older protobuf 2.5.0 might not. 
> However, it seems gRPC and protobuf 2/3 doesn't matter at the moment as they 
> are only used at compile time but not runtime.)
> - Have arm64 version of Hadoop 3 / KMS / KDC images as well, which are 
> referenced in some testing environment like ozonesecure for KDC.
> - Add new CI check when someone pulls in new Docker image that warns if the 
> new image doesn't have the linux/arm64 architecture.
>   - The last point might not be strictly required as IIRC Docker itself 
> supports running some containers natively but others in emulation at the same 
> time.
>   - Hadoop 3 already has the arm64 Dockerfile ready. But no one has built and 
> pushed an arm64 image to Docker Hub yet:
>     - https://hub.docker.com/r/apache/hadoop/tags
>     - https://hub.docker.com/r/apache/hadoop-runner/tags



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org
For additional commands, e-mail: issues-h...@ozone.apache.org

Reply via email to