Apex: fix rpm latest path
[releng.git] / jjb / apex / apex-deploy.sh
index 0d34f1a..dd2e716 100755 (executable)
@@ -4,6 +4,7 @@ set -o nounset
 set -o pipefail
 
 APEX_PKGS="common undercloud opendaylight-sfc onos"
+IPV6_FLAG=False
 
 # log info to console
 echo "Starting the Apex virtual deployment."
@@ -53,8 +54,8 @@ else
       fi
       # source the file so we get OPNFV vars
       source opnfv.properties
-      RPM_INSTALL_PATH=$(echo $OPNFV_RPM_URL | sed 's/'"$(basename $OPNFV_RPM_URL)"'//')
-      RPM_LIST=$RPM_INSTALL_PATH/$(basename $OPNFV_RPM_URL)
+      RPM_INSTALL_PATH=$(echo $OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//')
+      RPM_LIST=${RPM_INSTALL_PATH}/$(basename $OPNFV_RPM_URL)
     fi
 fi
 
@@ -84,6 +85,21 @@ if [[ "$BUILD_DIRECTORY" == *verify* ]]; then
       fi
     done
 
+    # Make sure jinja2 is installed
+    for python_pkg in jinja2; do
+      if ! python3.4 -c "import $python_pkg"; then
+        echo "$python_pkg package not found for python3.4, attempting to install..."
+        if ! sudo easy_install-3.4 $python_pkg; then
+          echo -e "Failed to install $python_pkg package for python3.4"
+          exit 1
+        fi
+      fi
+    done
+
+    # Make sure ipxe-roms-qemu package is updated to latest.
+    # This package is needed for multi virtio nic PXE boot in virtual environment.
+    sudo yum update -y ipxe-roms-qemu
+
     if [ -z ${PYTHONPATH:-} ]; then
         export PYTHONPATH=${WORKSPACE}/lib/python
     else
@@ -123,13 +139,24 @@ fi
 DEPLOY_CMD="CONFIG=${CONFIG} RESOURCES=${RESOURCES} LIB=${LIB} ${DEPLOY_CMD}"
 
 if [ "$OPNFV_CLEAN" == 'yes' ]; then
+  if sudo test -e '/root/inventory/pod_settings.yaml'; then
+    clean_opts='-i /root/inventory/pod_settings.yaml'
+  else
+    clean_opts=''
+  fi
   if [[ "$BUILD_DIRECTORY" == *verify* ]]; then
-    sudo CONFIG=${CONFIG} LIB=${LIB} ./clean.sh
+    sudo CONFIG=${CONFIG} LIB=${LIB} ./clean.sh ${clean_opts}
   else
-    sudo CONFIG=${CONFIG} LIB=${LIB} opnfv-clean
+    sudo CONFIG=${CONFIG} LIB=${LIB} opnfv-clean ${clean_opts}
   fi
 fi
 
+if echo ${DEPLOY_SCENARIO} | grep ipv6; then
+  IPV6_FLAG=True
+  DEPLOY_SCENARIO=$(echo ${DEPLOY_SCENARIO} |  sed 's/-ipv6//')
+  echo "INFO: IPV6 Enabled"
+fi
+
 echo "Deploy Scenario set to ${DEPLOY_SCENARIO}"
 DEPLOY_FILE="${DEPLOY_SETTINGS_DIR}/${DEPLOY_SCENARIO}.yaml"
 
@@ -139,11 +166,19 @@ fi
 
 if [[ "$JOB_NAME" == *virtual* ]]; then
   # settings for virtual deployment
-  NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml"
+  if [ "$IPV6_FLAG" == "True" ]; then
+    NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml"
+  else
+    NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml"
+  fi
   DEPLOY_CMD="${DEPLOY_CMD} -v"
 else
   # settings for bare metal deployment
-  NETWORK_FILE="/root/network/network_settings.yaml"
+  if [ "$IPV6_FLAG" == "True" ]; then
+    NETWORK_FILE="/root/network/network_settings_v6.yaml"
+  else
+    NETWORK_FILE="/root/network/network_settings.yaml"
+  fi
   INVENTORY_FILE="/root/inventory/pod_settings.yaml"
 
   if ! sudo test -e "$INVENTORY_FILE"; then