This is an automated email from the ASF dual-hosted git repository.

nvazquez pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/main by this push:
     new 13892e2ff06 [CKS] Create Kubernetes ISO support for ARCH optional 
parameter (#10986)
13892e2ff06 is described below

commit 13892e2ff06e6459dd1f86ea70d24ba3c7b4e309
Author: Nicolas Vazquez <[email protected]>
AuthorDate: Fri Jul 25 16:45:54 2025 -0300

    [CKS] Create Kubernetes ISO support for ARCH optional parameter (#10986)
    
    * [CKS] Create Kubernetes ISO support for ARCH optional parameter
    
    * Include arch on the build name
    
    * Refactor
    
    * Fix ISO naming
    
    * Apply suggestions from code review
    
    Co-authored-by: Wei Zhou <[email protected]>
    
    * Reorder parameters
    
    ---------
    
    Co-authored-by: Wei Zhou <[email protected]>
---
 scripts/util/create-kubernetes-binaries-iso.sh | 36 +++++++++++++++++++-------
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git a/scripts/util/create-kubernetes-binaries-iso.sh 
b/scripts/util/create-kubernetes-binaries-iso.sh
index 535d4b36479..58aec922b7f 100755
--- a/scripts/util/create-kubernetes-binaries-iso.sh
+++ b/scripts/util/create-kubernetes-binaries-iso.sh
@@ -19,11 +19,26 @@
 set -e
 
 if [ $# -lt 6 ]; then
-    echo "Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh 
OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION 
WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG BUILD_NAME [ETCD_VERSION]"
-    echo "eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 
https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml
 
https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
 setup-v1.11.4 3.5.1"
+    echo "Invalid input. Valid usage: ./create-kubernetes-binaries-iso.sh 
OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION 
WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG BUILD_NAME [ARCH] 
[ETCD_VERSION]"
+    echo "eg: ./create-kubernetes-binaries-iso.sh ./ 1.11.4 0.7.1 1.11.1 
https://github.com/weaveworks/weave/releases/download/latest_release/weave-daemonset-k8s-1.11.yaml
 
https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
 setup-v1.11.4 amd64"
     exit 1
 fi
 
+ARCH="amd64"
+ARCH_SUFFIX="x86_64"
+if [ -n "${8}" ]; then
+  if [ "${8}" = "x86_64" ] || [ "${8}" = "amd64" ]; then
+    ARCH="amd64"
+    ARCH_SUFFIX="x86_64"
+  elif [ "${8}" = "aarch64" ] || [ "${8}" = "arm64" ]; then
+    ARCH="arm64"
+    ARCH_SUFFIX="aarch64"
+  else
+    echo "ERROR: ARCH must be 'x86_64' or 'aarch64'. If the optional parameter 
ARCH is not set then 'x86_64' is used."
+    exit 1
+  fi
+fi
+
 RELEASE="v${2}"
 VAL="1.18.0"
 output_dir="${1}"
@@ -31,29 +46,29 @@ start_dir="$PWD"
 iso_dir="/tmp/iso"
 working_dir="${iso_dir}/"
 mkdir -p "${working_dir}"
-build_name="${7}.iso"
-[ -z "${build_name}" ] && build_name="setup-${RELEASE}.iso"
+build_name="${7}-${ARCH_SUFFIX}.iso"
+[ -z "${build_name}" ] && build_name="setup-${RELEASE}-${ARCH_SUFFIX}.iso"
 
 CNI_VERSION="v${3}"
 echo "Downloading CNI ${CNI_VERSION}..."
 cni_dir="${working_dir}/cni/"
 mkdir -p "${cni_dir}"
-cni_status_code=$(curl -L  --write-out "%{http_code}\n" 
"https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-amd64-${CNI_VERSION}.tgz";
 -o "${cni_dir}/cni-plugins-amd64.tgz")
+cni_status_code=$(curl -L  --write-out "%{http_code}\n" 
"https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-linux-${ARCH}-${CNI_VERSION}.tgz";
 -o "${cni_dir}/cni-plugins-${ARCH}.tgz")
 if [[ ${cni_status_code} -eq 404 ]] ; then
-  curl -L  --write-out "%{http_code}\n" 
"https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-amd64-${CNI_VERSION}.tgz";
 -o "${cni_dir}/cni-plugins-amd64.tgz"
+  curl -L  --write-out "%{http_code}\n" 
"https://github.com/containernetworking/plugins/releases/download/${CNI_VERSION}/cni-plugins-${ARCH}-${CNI_VERSION}.tgz";
 -o "${cni_dir}/cni-plugins-${ARCH}.tgz"
 fi
 
 CRICTL_VERSION="v${4}"
 echo "Downloading CRI tools ${CRICTL_VERSION}..."
 crictl_dir="${working_dir}/cri-tools/"
 mkdir -p "${crictl_dir}"
-curl -L 
"https://github.com/kubernetes-incubator/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-amd64.tar.gz";
 -o "${crictl_dir}/crictl-linux-amd64.tar.gz"
+curl -L 
"https://github.com/kubernetes-incubator/cri-tools/releases/download/${CRICTL_VERSION}/crictl-${CRICTL_VERSION}-linux-${ARCH}.tar.gz";
 -o "${crictl_dir}/crictl-linux-${ARCH}.tar.gz"
 
 echo "Downloading Kubernetes tools ${RELEASE}..."
 k8s_dir="${working_dir}/k8s"
 mkdir -p "${k8s_dir}"
 cd "${k8s_dir}"
-curl -L --remote-name-all 
https://dl.k8s.io/release/${RELEASE}/bin/linux/amd64/{kubeadm,kubelet,kubectl}
+curl -L --remote-name-all 
https://dl.k8s.io/release/${RELEASE}/bin/linux/${ARCH}/{kubeadm,kubelet,kubectl}
 kubeadm_file_permissions=`stat --format '%a' kubeadm`
 chmod +x kubeadm
 
@@ -148,11 +163,12 @@ chmod ${kubeadm_file_permissions} 
"${working_dir}/k8s/kubeadm"
 echo "Updating imagePullPolicy to IfNotPresent in yaml files..."
 sed -i "s/imagePullPolicy:.*/imagePullPolicy: IfNotPresent/g" 
${working_dir}/*.yaml
 
-if [ -n "${8}" ]; then
+# Optional parameter ETCD_VERSION
+if [ -n "${9}" ]; then
   # Install etcd dependencies
   etcd_dir="${working_dir}/etcd"
   mkdir -p "${etcd_dir}"
-  ETCD_VERSION=v${8}
+  ETCD_VERSION=v${9}
   wget -q --show-progress 
"https://github.com/etcd-io/etcd/releases/download/${ETCD_VERSION}/etcd-${ETCD_VERSION}-linux-amd64.tar.gz";
 -O ${etcd_dir}/etcd-linux-amd64.tar.gz
 fi
 

Reply via email to