From 2370aea5cb854569722897dcb37341841842e873 Mon Sep 17 00:00:00 2001
From: Tim Rozet <trozet@redhat.com>
Date: Tue, 24 May 2016 17:14:36 -0400
Subject: Fixes nic template missing in spec and error catching

Issue where jinja 2 templates were missing from spec file.  Also adds
error checking to make sure the nic templates were correctly generated.
There was an error with dependencies missing on the build server - this
patch includes a fix to make sure it is installed before trying to make.

Change-Id: I7989ccf297a4e0d81326cccc06b2132018e7d8ae
Signed-off-by: Tim Rozet <trozet@redhat.com>
---
 ci/build.sh  | 11 +++++++++++
 ci/deploy.sh | 15 ++++++++++++---
 2 files changed, 23 insertions(+), 3 deletions(-)

(limited to 'ci')

diff --git a/ci/build.sh b/ci/build.sh
index 7e080bed..e6870558 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -35,6 +35,7 @@ CACHE_DEST=""
 CACHE_DIR="cache"
 CACHE_NAME="apex-cache"
 MAKE_TARGETS="images"
+REQUIRED_PKGS="rpm-build python-docutils"
 
 parse_cmdline() {
   while [ "${1:0:1}" = "-" ]
@@ -82,6 +83,16 @@ run_make() {
 
 parse_cmdline "$@"
 
+# Install build dependencies
+for pkg in $REQUIRED_PKGS; do
+  if ! rpm -q $pkg > /dev/null; then
+    if ! sudo yum -y install $pkg > /dev/null; then
+      echo "Required package $pkg missing and installation failed."
+      exit 1
+    fi
+  fi
+done
+
 if [ -n "$RELEASE" ]; then MAKE_ARGS+="RELEASE=$RELEASE "; fi
 
 # Get the Old Cache
diff --git a/ci/deploy.sh b/ci/deploy.sh
index 59cfc6d1..677d4484 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -618,7 +618,7 @@ function configure_network_environment {
 ##Copy over the glance images and instackenv json file
 ##params: none
 function configure_undercloud {
-
+  local controller_nic_template compute_nic_template
   echo
   echo "Copying configuration files to Undercloud"
   if [[ "$net_isolation_enabled" == "TRUE" ]]; then
@@ -626,13 +626,22 @@ function configure_undercloud {
     echo -e "${blue}Network Environment set for Deployment: ${reset}"
     cat $CONFIG/network-environment.yaml
     scp ${SSH_OPTIONS[@]} $CONFIG/network-environment.yaml "stack@$UNDERCLOUD":
+    if ! controller_nic_template=$(python3.4 -B $CONFIG/lib/python/apex-python-utils.py nic_template -d $CONFIG -f nics-controller.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then
+      echo -e "${red}ERROR: Failed to generate controller NIC heat template ${reset}"
+      exit 1
+    fi
+
+    if ! compute_nic_template=$(python3.4 -B $CONFIG/lib/python/apex-python-utils.py nic_template -d $CONFIG -f nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family); then
+      echo -e "${red}ERROR: Failed to generate compute NIC heat template ${reset}"
+      exit 1
+    fi
     ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" << EOI
 mkdir nics/
 cat > nics/controller.yaml << EOF
-$(python3.4 -B $CONFIG/lib/python/apex-python-utils.py nic_template -d $CONFIG -f nics-controller.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family)
+$controller_nic_template
 EOF
 cat > nics/compute.yaml << EOF
-$(python3.4 -B $CONFIG/lib/python/apex-python-utils.py nic_template -d $CONFIG -f nics-compute.yaml.jinja2 -n "$enabled_network_list" -e $ext_net_type -af $ip_addr_family)
+$compute_nic_template
 EOF
 EOI
   fi
-- 
cgit