Fix bug of loading wrong PDF and IDF files
[kuberef.git] / functions.sh
index 69a3de7..0213829 100755 (executable)
@@ -160,34 +160,39 @@ copy_files_jump() {
 
 # Host Provisioning
 provision_hosts_baremetal() {
+    CMD="./deploy.sh -s ironic -d ${DISTRO} -p file:///${PROJECT_ROOT}/engine/engine/pdf.yaml -i file:///${PROJECT_ROOT}/engine/engine/idf.yaml"
+    if [ "${DEBUG:-false}" == "true" ]; then
+        CMD+=" -v"
+    fi
+
     # shellcheck disable=SC2087
     ssh -o StrictHostKeyChecking=no -tT "$USERNAME"@"$(get_vm_ip)" << EOF
 # Install and run cloud-infra
 if [ ! -d "${PROJECT_ROOT}/engine" ]; then
     ssh-keygen -t rsa -N "" -f "${PROJECT_ROOT}"/.ssh/id_rsa
     git clone https://gerrit.nordix.org/infra/engine.git
-    cp "${PROJECT_ROOT}"/"${VENDOR}"/{pdf.yaml,idf.yaml} \
-    "${PROJECT_ROOT}"/engine/engine
 fi
+cp "${PROJECT_ROOT}"/"${VENDOR}"/{pdf.yaml,idf.yaml} \
+"${PROJECT_ROOT}"/engine/engine
 cd "${PROJECT_ROOT}"/engine/engine || return
-./deploy.sh -s ironic -d "${DISTRO}" \
--p file:///"${PROJECT_ROOT}"/engine/engine/pdf.yaml \
--i file:///"${PROJECT_ROOT}"/engine/engine/idf.yaml
+${CMD}
 EOF
 }
 
 provision_hosts_vms() {
     # shellcheck disable=SC2087
-# Install and run cloud-infra
-if [ ! -d "$CURRENTPATH/engine" ]; then
-    git clone https://gerrit.nordix.org/infra/engine.git "${CURRENTPATH}"/engine
-    cp "$CURRENTPATH"/hw_config/"$VENDOR"/{pdf.yaml,idf.yaml} \
-    "${CURRENTPATH}"/engine/engine
-fi
-cd "$CURRENTPATH"/engine/engine || return
-./deploy.sh -s ironic \
--p file:///"${CURRENTPATH}"/engine/engine/pdf.yaml \
--i file:///"${CURRENTPATH}"/engine/engine/idf.yaml
+    # Install and run cloud-infra
+    if [ ! -d "${CURRENTPATH}/engine" ]; then
+        git clone https://gerrit.nordix.org/infra/engine.git "${CURRENTPATH}"/engine
+    fi
+    cp "${CURRENTPATH}"/hw_config/"${VENDOR}"/{pdf.yaml,idf.yaml} "${CURRENTPATH}"/engine/engine
+    cd "${CURRENTPATH}"/engine/engine || return
+    CMD="./deploy.sh -s ironic -p file:///${CURRENTPATH}/engine/engine/pdf.yaml -i file:///${CURRENTPATH}/engine/engine/idf.yaml"
+    if [ "${DEBUG:-false}" == "true" ]; then
+        CMD+=" -v"
+    fi
+
+    ${CMD}
 }
 
 # Setup networking on provisioned hosts (Adapt setup_network.sh according to your network setup)
@@ -211,7 +216,7 @@ provision_k8s_baremetal() {
     ansible_cmd="/bin/bash -c '"
     if [[ "$DEPLOYMENT" == "k8s" ]]; then
         ansible-playbook -i "$CURRENTPATH"/sw_config/bmra/inventory.ini "$CURRENTPATH"/playbooks/pre-install.yaml
-        ansible_cmd+="yum -y remove python-netaddr; pip install --upgrade pip; pip install ansible==2.9.17; ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/k8s/patch_kubespray.yml;"
+        ansible_cmd+="yum -y remove python-netaddr; ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/k8s/patch_kubespray.yml;"
     fi
     ansible_cmd+="ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/${BMRA_PROFILE}.yml'"
 
@@ -227,7 +232,7 @@ if ! command -v docker; then
     done
 fi
 if [ ! -d "${PROJECT_ROOT}/container-experience-kits" ]; then
-    git clone --recurse-submodules --depth 1 https://github.com/intel/container-experience-kits.git -b v21.03 "${PROJECT_ROOT}"/container-experience-kits/
+    git clone --recurse-submodules --depth 1 https://github.com/intel/container-experience-kits.git -b v21.08 "${PROJECT_ROOT}"/container-experience-kits/
     cp -r "${PROJECT_ROOT}"/container-experience-kits/examples/"${BMRA_PROFILE}"/group_vars "${PROJECT_ROOT}"/container-experience-kits/
 fi
 if [ -f "${PROJECT_ROOT}/docker_config" ]; then
@@ -252,13 +257,19 @@ cp "${PROJECT_ROOT}"/"${INSTALLER}"/patched_packages.yml \
     "${PROJECT_ROOT}"/container-experience-kits/roles/bootstrap/install_packages/tasks/main.yml
 cp "${PROJECT_ROOT}"/"${INSTALLER}"/patched_kubespray_requirements.txt \
     "${PROJECT_ROOT}"/container-experience-kits/playbooks/k8s/kubespray/requirements.txt
+cp "${PROJECT_ROOT}"/"${INSTALLER}"/patched_preflight.yml \
+    "${PROJECT_ROOT}"/container-experience-kits/playbooks/preflight.yml
+cp "${PROJECT_ROOT}"/"${INSTALLER}"/patched_sriov_cni_install.yml \
+    "${PROJECT_ROOT}"/container-experience-kits/roles/sriov_cni_install/tasks/main.yml
+cp "${PROJECT_ROOT}"/"${INSTALLER}"/patched_install_dpdk_meson.yml \
+    "${PROJECT_ROOT}"/container-experience-kits/roles/install_dpdk/tasks/install_dpdk_meson.yml
 
 sudo docker run --rm \
 -e ANSIBLE_CONFIG=/bmra/ansible.cfg \
 -e PROFILE="${BMRA_PROFILE}" \
 -v "${PROJECT_ROOT}"/container-experience-kits:/bmra \
--v ~/.ssh/:/root/.ssh/ rihabbanday/bmra21.03-install:centos \
-"${ansible_cmd}"
+-v ~/.ssh/:/root/.ssh/ rihabbanday/bmra21.08-install:centos \
+${ansible_cmd}
 EOF
 }
 
@@ -266,7 +277,7 @@ provision_k8s_vms() {
     # shellcheck disable=SC2087
 # Install BMRA
 if [ ! -d "${CURRENTPATH}/container-experience-kits" ]; then
-    git clone --recurse-submodules --depth 1 https://github.com/intel/container-experience-kits.git -b v21.03 "${CURRENTPATH}"/container-experience-kits/
+    git clone --recurse-submodules --depth 1 https://github.com/intel/container-experience-kits.git -b v21.08 "${CURRENTPATH}"/container-experience-kits/
     cp -r "${CURRENTPATH}"/container-experience-kits/examples/"${BMRA_PROFILE}"/group_vars "${CURRENTPATH}"/container-experience-kits/
 fi
 cp "${CURRENTPATH}"/sw_config/bmra/{inventory.ini,ansible.cfg} \
@@ -283,14 +294,21 @@ cp "${CURRENTPATH}"/sw_config/bmra/patched_packages.yml \
     "${CURRENTPATH}"/container-experience-kits/roles/bootstrap/install_packages/tasks/main.yml
 cp "${CURRENTPATH}"/sw_config/"${INSTALLER}"/patched_kubespray_requirements.txt \
     "${CURRENTPATH}"/container-experience-kits/playbooks/k8s/kubespray/requirements.txt
+cp "${CURRENTPATH}"/sw_config/"${INSTALLER}"/patched_preflight.yml \
+    "${CURRENTPATH}"/container-experience-kits/playbooks/preflight.yml
+cp "${CURRENTPATH}"/sw_config/"${INSTALLER}"/patched_sriov_cni_install.yml \
+    "${CURRENTPATH}"/container-experience-kits/roles/sriov_cni_install/tasks/main.yml
+cp "${CURRENTPATH}"/sw_config/"${INSTALLER}"/patched_install_dpdk_meson.yml \
+    "${CURRENTPATH}"/container-experience-kits/roles/install_dpdk/tasks/install_dpdk_meson.yml
 
 ansible-playbook -i "$CURRENTPATH"/sw_config/bmra/inventory.ini "$CURRENTPATH"/playbooks/pre-install.yaml
 
+# Ansible upgrade below can be removed once image is updated
 sudo docker run --rm \
 -e ANSIBLE_CONFIG=/bmra/ansible.cfg \
 -e PROFILE="${BMRA_PROFILE}" \
 -v "${CURRENTPATH}"/container-experience-kits:/bmra \
--v ~/.ssh/:/root/.ssh/ rihabbanday/bmra21.03-install:centos \
+-v ~/.ssh/:/root/.ssh/ rihabbanday/bmra21.08-install:centos \
 ansible-playbook -i /bmra/inventory.ini /bmra/playbooks/"${BMRA_PROFILE}".yml
 }
 
@@ -301,6 +319,7 @@ copy_k8s_config() {
     # shellcheck disable=SC2087
     ssh -o StrictHostKeyChecking=no -tT "$USERNAME"@"$(get_vm_ip)" << EOF
 scp -o StrictHostKeyChecking=no -q root@"$MASTER_IP":/root/.kube/config "${PROJECT_ROOT}"/kubeconfig
+sed -i 's/127.0.0.1/$MASTER_IP/g' "${PROJECT_ROOT}"/kubeconfig
 EOF
 
 # Copy kubeconfig from Jump VM to appropriate location in Jump Host
@@ -314,7 +333,7 @@ EOF
 # Creates a python virtual environment
 creates_virtualenv() {
     if [  ! -d "$CURRENTPATH/.venv" ]; then
-        virtualenv .venv
+        virtualenv "$CURRENTPATH/.venv"
     fi
     # shellcheck disable=SC1090
     source "$CURRENTPATH/.venv/bin/activate"