From 75e00420ec05aeb20ef3085e844858567ed06425 Mon Sep 17 00:00:00 2001
From: ERIK <bo.jiang@daocloud.io>
Date: Thu, 25 May 2023 13:30:50 +0800
Subject: [PATCH] Add arch and version to the downloaded binary name (#10122)

Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
---
 roles/container-engine/crun/tasks/main.yml    |  2 +-
 roles/container-engine/gvisor/tasks/main.yml  |  8 ++++----
 roles/download/defaults/main.yml              | 16 ++++++++--------
 roles/kubernetes-apps/argocd/tasks/main.yml   |  2 +-
 roles/network_plugin/calico/tasks/install.yml |  2 +-
 roles/network_plugin/cilium/tasks/install.yml |  2 +-
 6 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/roles/container-engine/crun/tasks/main.yml b/roles/container-engine/crun/tasks/main.yml
index a1d29a78f..1de9ce56d 100644
--- a/roles/container-engine/crun/tasks/main.yml
+++ b/roles/container-engine/crun/tasks/main.yml
@@ -6,7 +6,7 @@
 
 - name: Copy crun binary from download dir
   copy:
-    src: "{{ local_release_dir }}/crun"
+    src: "{{ downloads.crun.dest }}"
     dest: "{{ bin_dir }}/crun"
     mode: 0755
     remote_src: true
diff --git a/roles/container-engine/gvisor/tasks/main.yml b/roles/container-engine/gvisor/tasks/main.yml
index fa5bd725e..41b115220 100644
--- a/roles/container-engine/gvisor/tasks/main.yml
+++ b/roles/container-engine/gvisor/tasks/main.yml
@@ -11,10 +11,10 @@
 
 - name: gVisor | Copy binaries
   copy:
-    src: "{{ local_release_dir }}/gvisor-{{ item }}"
-    dest: "{{ bin_dir }}/{{ item }}"
+    src: "{{ item.src }}"
+    dest: "{{ bin_dir }}/{{ item.dest }}"
     mode: 0755
     remote_src: yes
   with_items:
-    - runsc
-    - containerd-shim-runsc-v1
+    - { src: "{{ downloads.gvisor_runsc.dest }}", dest: "runsc" }
+    - { src: "{{ downloads.gvisor_containerd_shim.dest }}", dest: "containerd-shim-runsc-v1" }
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index 5b4e5c526..3b00d99d6 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -1250,7 +1250,7 @@ downloads:
     file: true
     enabled: "{{ crun_enabled }}"
     version: "{{ crun_version }}"
-    dest: "{{ local_release_dir }}/crun"
+    dest: "{{ local_release_dir }}/crun-{{ crun_version }}-{{ image_arch }}"
     sha256: "{{ crun_binary_checksum }}"
     url: "{{ crun_download_url }}"
     unarchive: false
@@ -1276,7 +1276,7 @@ downloads:
     file: true
     enabled: "{{ container_manager == 'containerd' }}"
     version: "{{ runc_version }}"
-    dest: "{{ local_release_dir }}/runc"
+    dest: "{{ local_release_dir }}/runc-{{ runc_version }}.{{ image_arch }}"
     sha256: "{{ runc_binary_checksum }}"
     url: "{{ runc_download_url }}"
     unarchive: false
@@ -1315,7 +1315,7 @@ downloads:
     enabled: "{{ gvisor_enabled }}"
     file: true
     version: "{{ gvisor_version }}"
-    dest: "{{ local_release_dir }}/gvisor-runsc"
+    dest: "{{ local_release_dir }}/gvisor-runsc-{{ gvisor_version }}-{{ ansible_architecture }}"
     sha256: "{{ gvisor_runsc_binary_checksum }}"
     url: "{{ gvisor_runsc_download_url }}"
     unarchive: false
@@ -1328,7 +1328,7 @@ downloads:
     enabled: "{{ gvisor_enabled }}"
     file: true
     version: "{{ gvisor_version }}"
-    dest: "{{ local_release_dir }}/gvisor-containerd-shim-runsc-v1"
+    dest: "{{ local_release_dir }}/gvisor-containerd-shim-runsc-v1-{{ gvisor_version }}-{{ ansible_architecture }}"
     sha256: "{{ gvisor_containerd_shim_binary_checksum }}"
     url: "{{ gvisor_containerd_shim_runsc_download_url }}"
     unarchive: false
@@ -1354,7 +1354,7 @@ downloads:
     file: true
     enabled: "{{ container_manager == 'crio' }}"
     version: "{{ skopeo_version }}"
-    dest: "{{ local_release_dir }}/skopeo"
+    dest: "{{ local_release_dir }}/skopeo-{{ skopeo_version }}-{{ image_arch }}"
     sha256: "{{ skopeo_binary_checksum }}"
     url: "{{ skopeo_download_url }}"
     unarchive: false
@@ -1430,7 +1430,7 @@ downloads:
     enabled: "{{ kube_network_plugin == 'cilium' or cilium_deploy_additionally | default(false) | bool }}"
     file: true
     version: "{{ cilium_cli_version }}"
-    dest: "{{ local_release_dir }}/cilium"
+    dest: "{{ local_release_dir }}/cilium-{{ cilium_cli_version }}-{{ image_arch }}"
     sha256: "{{ ciliumcli_binary_checksum }}"
     url: "{{ ciliumcli_download_url }}"
     unarchive: true
@@ -1470,7 +1470,7 @@ downloads:
     enabled: "{{ kube_network_plugin == 'calico' }}"
     file: true
     version: "{{ calico_ctl_version }}"
-    dest: "{{ local_release_dir }}/calicoctl"
+    dest: "{{ local_release_dir }}/calicoctl-{{ calico_ctl_version }}-{{ image_arch }}"
     sha256: "{{ calicoctl_binary_checksum }}"
     url: "{{ calicoctl_download_url }}"
     mirrors:
@@ -1888,7 +1888,7 @@ downloads:
     enabled: "{{ argocd_enabled }}"
     file: true
     version: "{{ yq_version }}"
-    dest: "{{ local_release_dir }}/yq"
+    dest: "{{ local_release_dir }}/yq-{{ yq_version }}-{{ image_arch }}"
     sha256: "{{ yq_binary_checksum|default(None) }}"
     url: "{{ yq_download_url }}"
     unarchive: false
diff --git a/roles/kubernetes-apps/argocd/tasks/main.yml b/roles/kubernetes-apps/argocd/tasks/main.yml
index 709067b7f..0ba8681ba 100644
--- a/roles/kubernetes-apps/argocd/tasks/main.yml
+++ b/roles/kubernetes-apps/argocd/tasks/main.yml
@@ -6,7 +6,7 @@
 
 - name: Kubernetes Apps | Copy yq binary from download dir
   synchronize:
-    src: "{{ local_release_dir }}/yq"
+    src: "{{ downloads.yq.dest }}"
     dest: "{{ bin_dir }}/yq"
     compress: no
     perms: yes
diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml
index 20c1473e2..bee2e01e3 100644
--- a/roles/network_plugin/calico/tasks/install.yml
+++ b/roles/network_plugin/calico/tasks/install.yml
@@ -11,7 +11,7 @@
 
 - name: Calico | Copy calicoctl binary from download dir
   copy:
-    src: "{{ local_release_dir }}/calicoctl"
+    src: "{{ downloads.calicoctl.dest }}"
     dest: "{{ bin_dir }}/calicoctl"
     mode: 0755
     remote_src: yes
diff --git a/roles/network_plugin/cilium/tasks/install.yml b/roles/network_plugin/cilium/tasks/install.yml
index 9e89b7bc7..06e054a28 100644
--- a/roles/network_plugin/cilium/tasks/install.yml
+++ b/roles/network_plugin/cilium/tasks/install.yml
@@ -91,7 +91,7 @@
 
 - name: Cilium | Copy Ciliumcli binary from download dir
   copy:
-    src: "{{ local_release_dir }}/cilium"
+    src: "{{ downloads.ciliumcli.dest }}"
     dest: "{{ bin_dir }}/cilium"
     mode: 0755
     remote_src: yes
-- 
GitLab