style95 commented on code in PR #5511:
URL: https://github.com/apache/openwhisk/pull/5511#discussion_r1762535924


##########
ansible/group_vars/all:
##########
@@ -464,7 +466,7 @@ zeroDowntimeDeployment:
   enabled: "{{ zerodowntime_deployment_switch | default(false) }}"
 
 etcd:
-  version: "{{ etcd_version | default('v3.4.33') }}"
+  version: "{{ etcd_version | default('3.5') }}"

Review Comment:
   etcd supports multiarch since 3.5 version.
   https://hub.docker.com/r/bitnami/etcd/
   
   <img width="695" alt="image" 
src="https://github.com/user-attachments/assets/edd6cced-e73c-405e-8799-cf757c4748e6";>
   
   



##########
ansible/roles/zookeeper/tasks/deploy.yml:
##########
@@ -17,10 +17,20 @@
 ---
 # This role will install Kafka with Zookeeper in group 'kafka' in the 
environment inventory
 
+- name: set zookeeper image
+  set_fact:
+    zookeeper_image: "{{ zookeeper.image.arm64 }}"
+  when: ansible_facts['os_family'] == "Darwin" and 
ansible_facts['architecture'] == "arm64"

Review Comment:
   Selectively use the arm64 zookeeper image according to the os and 
architecture.
   



##########
ansible/roles/invoker/tasks/deploy.yml:
##########
@@ -80,7 +80,7 @@
   when: environmentInformation.type == "docker-machine"
 
 - name: "determine docker root dir"
-  shell: echo -e "GET http:/v1.24/info HTTP/1.0\r\n" | nc -U 
/var/run/docker.sock | grep "{"

Review Comment:
   It doesn't work with the recent version of docker for mac.
   



##########
ansible/group_vars/all:
##########
@@ -186,7 +186,9 @@ kafka_connect_string: "{% set ret = [] %}\
 kafka_protocol_for_setup: "{{ kafka_protocol | default('PLAINTEXT') }}"
 
 zookeeper:
-  version: 3.4
+  image:
+    amd64: zookeeper:3.4
+    arm64: arm64v8/zookeeper:3.4

Review Comment:
   I added another zookeeper image for arm64



##########
common/scala/build.gradle:
##########
@@ -24,6 +24,9 @@ plugins {
 }
 
 ext.dockerImageName = 'scala'
+if(System.getProperty("os.arch").toLowerCase(Locale.ENGLISH).startsWith("aarch"))
 {

Review Comment:
   If the architecture of OS is m1 Mac, it uses the Dockerfile with the `.arm` 
suffix.
   



##########
common/scala/Dockerfile.arm:
##########
@@ -0,0 +1,34 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# if you change version of openjsk, also update tools/github/setup.sh to 
download the corresponding jdk
+FROM arm64v8/eclipse-temurin:21.0.4_7-jdk-alpine

Review Comment:
   Only the base image is changed.
   



##########
tools/ow-utils/Dockerfile.arm:
##########
@@ -0,0 +1,80 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+FROM arm64v8/eclipse-temurin:8u422-b05-jdk-noble

Review Comment:
   I only changed the base image from `adoptopenjdk/openjdk8:jdk8u262-b10` to 
`arm64v8/eclipse-temurin:8u422-b05-jdk-noble`.
   
   I used it as the current image is deprecated.
   
   <img width="784" alt="image" 
src="https://github.com/user-attachments/assets/2f629baa-7438-4f43-ae55-f984b7027483";>
   
   https://hub.docker.com/_/adoptopenjdk
   



##########
core/scheduler/build.gradle:
##########
@@ -52,6 +52,16 @@ buildscript {
     }
 }
 
+protobuf {
+    protoc {
+        if (osdetector.os == "osx") {
+            artifact = 'com.google.protobuf:protoc:3.4.0:osx-x86_64'

Review Comment:
   IIRC, we cant' upgrade the protoc version for now because some libraries are 
dependent on this version.
   And protoc-3.4.0 does not support arm architecture yet, so I chose this way.
   This also requires rosetta installed.
   
   https://github.com/grpc/grpc-java/issues/7690#issuecomment-760332746



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to