Merge "Change seba installation for cord 7.0.0"
[iec.git] / src / foundation / scripts / setup-cni.sh
index 70b9767..f0689de 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/bash
+# shellcheck disable=SC1073,SC1072,SC1039,SC2059,SC2046
 set -o xtrace
 set -e
 
@@ -10,9 +11,9 @@ fi
 
 CNI_TYPE=${1:-calico}
 POD_NETWORK_CIDR=${2:-192.168.0.0/16}
-CLUSTER_IP=${3:-172.16.1.136} # Align with the value in our K8s setup script
-K8S_MASTER_IP=${4:-10.169.41.173}
-SERVICE_CIDR=${5:-172.16.1.0/24}
+K8S_MASTER_IP=${3:-10.169.41.173}
+SERVICE_CIDR=${4:-172.16.1.0/24}
+CLUSTER_IP=${5:-172.16.1.136} # Align with the value in our K8s setup script
 DEV_NAME=${6:-}
 
 SCRIPTS_DIR=$(dirname "${BASH_SOURCE[0]}")
@@ -84,6 +85,16 @@ install_multus_sriov_flannel(){
 
 }
 
+install_multus_sriov_calico(){
+
+  sed -i "s@10.244.0.0/16@${POD_NETWORK_CIDR}@" \
+    "${SCRIPTS_DIR}/cni/multus/multus-sriov-calico/calico-daemonset.yaml"
+  # Install Multus Calico+SRIOV by yaml files
+  # shellcheck source=/dev/null
+  source ${SCRIPTS_DIR}/cni/multus/multus-sriov-calico/install.sh
+
+}
+
 install_danm(){
   ${SCRIPTS_DIR}/cni/danm/danm_install.sh
 
@@ -97,12 +108,19 @@ install_danm(){
   install_flannel
 }
 
+
 install_cilium(){
   ${SCRIPTS_DIR}/cni/cilium/cilium_install.sh
 
   # Deploying cilium CNI
   kubectl create -f ${SCRIPTS_DIR}/cni/cilium/quick-install.yaml
 }
+
+# Remove the taints on master node
+# Taint master before installing the CNI for the case that there is
+# only one master node
+kubectl taint nodes --all node-role.kubernetes.io/master- || true
+
 case ${CNI_TYPE} in
  'calico')
         echo "Install calico ..."
@@ -124,6 +142,10 @@ case ${CNI_TYPE} in
         echo "Install Flannel with SRIOV CNI by Multus-CNI ..."
         install_multus_sriov_flannel
         ;;
+ 'multus-calico-sriov')
+        echo "Install Calico with SRIOV CNI by Multus-CNI ..."
+        install_multus_sriov_calico
+        ;;
  'danm')
         echo "Install danm ..."
         install_danm
@@ -138,5 +160,3 @@ case ${CNI_TYPE} in
         ;;
 esac
 
-# Remove the taints on master node
-kubectl taint nodes --all node-role.kubernetes.io/master- || true