summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMariah Jacobs <mariah.jacobs@intel.com>2018-08-10 06:52:43 -0700
committerMariah Jacobs <mariah.jacobs@intel.com>2018-08-10 08:38:31 -0700
commit1b186e23d39eb4fb13fee7e69839d7d3d6d0f617 (patch)
tree9924a223ad5126eaddae1a1b7a501b829ac8a833
parent486cf5e393914e029ff2773561a86e516012ab02 (diff)
Automate vCPE vBRG and vBNG build image process
Build script is executed with its heat template. script_status.txt in /opt folder will show the status of execution of build and install scripts. Issue-ID: INT-620 Change-Id: Id798d7e320e5b7f7bf1846d4b9c377b7addb901c Signed-off-by: Mariah Jacobs <mariah.jacobs@intel.com>
-rw-r--r--vnfs/vCPE/scripts/v_bng_build.sh27
-rw-r--r--vnfs/vCPE/scripts/v_bng_install.sh3
-rw-r--r--vnfs/vCPE/scripts/v_brgemu_build.sh46
-rwxr-xr-xvnfs/vCPE/scripts/v_brgemu_install.sh3
4 files changed, 69 insertions, 10 deletions
diff --git a/vnfs/vCPE/scripts/v_bng_build.sh b/vnfs/vCPE/scripts/v_bng_build.sh
index 5ad0eb97..5ec533be 100644
--- a/vnfs/vCPE/scripts/v_bng_build.sh
+++ b/vnfs/vCPE/scripts/v_bng_build.sh
@@ -6,7 +6,7 @@ VPP_SOURCE_REPO_URL=$(cat /opt/config/vpp_source_repo_url.txt)
VPP_SOURCE_REPO_RELEASE_TAG=$(cat /opt/config/vpp_source_repo_release_tag.txt)
VPP_PATCH_URL=$(cat /opt/config/vpp_patch_url.txt)
CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
-
+ERROR_MESSAGE='Execution of vBRG script failed.'
# Convert Network CIDR to Netmask
cdr2mask () {
@@ -41,6 +41,13 @@ cdr2mask () {
patch -p1 < ../Vpp-Integrate-FreeRADIUS-Client-for-vBNG.patch
UNATTENDED='y' make install-dep
+# Check VPP build status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: VPP build failed' > /opt/script_status.txt
+ exit
+ fi
+
# Install the FreeRADIUS client since we need the lib
cd /opt
git clone https://github.com/FreeRADIUS/freeradius-client.git
@@ -54,12 +61,27 @@ cdr2mask () {
./bootstrap.sh
make V=0 PLATFORM=vpp TAG=vpp install-deb
+# Check vpp/build-root status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: vpp/build-root build failed' > /opt/script_status.txt
+ exit
+ fi
+
# Install additional dependencies for vpp
apt-get install -y python-cffi python-ply python-pycparser
# Install the VPP package
cd /opt/vpp/build-root
dpkg -i *.deb
+
+# Check VPP package installation status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: VPP package installation failed' > /opt/script_status.txt
+ exit
+ fi
+
systemctl stop vpp
# Disable automatic upgrades
@@ -68,3 +90,6 @@ cdr2mask () {
echo "APT::Periodic::Unattended-Upgrade \"0\";" >> /etc/apt/apt.conf.d/10periodic
sed -i 's/\(APT::Periodic::Unattended-Upgrade\) "1"/\1 "0"/' /etc/apt/apt.conf.d/20auto-upgrades
fi
+
+# Indicate script has finished executing
+ echo 'Execution of vBNG build script completed' > /opt/script_status.txt
diff --git a/vnfs/vCPE/scripts/v_bng_install.sh b/vnfs/vCPE/scripts/v_bng_install.sh
index 0ed020f2..2105cec1 100644
--- a/vnfs/vCPE/scripts/v_bng_install.sh
+++ b/vnfs/vCPE/scripts/v_bng_install.sh
@@ -325,3 +325,6 @@ EOF
fi
./v_bng_init.sh
+
+# Indicate script has finished executing
+ echo 'Execution of vBNG install script completed' > /opt/script_status.txt
diff --git a/vnfs/vCPE/scripts/v_brgemu_build.sh b/vnfs/vCPE/scripts/v_brgemu_build.sh
index c936fae5..072a5509 100644
--- a/vnfs/vCPE/scripts/v_brgemu_build.sh
+++ b/vnfs/vCPE/scripts/v_brgemu_build.sh
@@ -6,6 +6,7 @@ VPP_PATCH_URL=$(cat /opt/config/vpp_patch_url.txt)
HC2VPP_SOURCE_REPO_URL=$(cat /opt/config/hc2vpp_source_repo_url.txt)
HC2VPP_SOURCE_REPO_RELEASE_TAG=$(cat /opt/config/hc2vpp_source_repo_release_tag.txt)
CLOUD_ENV=$(cat /opt/config/cloud_env.txt)
+ERROR_MESSAGE='Execution of vBRG build script failed.'
# Convert Network CIDR to Netmask
cdr2mask () {
@@ -24,27 +25,43 @@ cdr2mask () {
# Install the tools required for download codes
apt-get install -y expect git patch make linux-image-extra-`uname -r`
-#Download and build the VPP codes
+# Download and build the VPP codes
cd /opt
git clone ${VPP_SOURCE_REPO_URL} -b ${VPP_SOURCE_REPO_RELEASE_TAG} vpp
wget -O VPP-Add-Option82-Nat-Filter-For-vBRG.patch ${VPP_PATCH_URL}
cd vpp
patch -p1 < ../VPP-Add-Option82-Nat-Filter-For-vBRG.patch
- expect -c "
- set timeout 60;
- spawn make install-dep;
- expect {
- \"Do you want to continue?*\" {send \"Y\r\"; interact}
- }
- "
+ yes y | make install-dep
+
+# Check vpp build status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: VPP build failed' > /opt/script_status.txt
+ exit
+ fi
cd build-root
./bootstrap.sh
make V=0 PLATFORM=vpp TAG=vpp install-deb
- # Install the VPP package
+# Check vpp/build-root build status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: vpp/build-root build failed' > /opt/script_status.txt
+ exit
+ fi
+
+# Install the VPP package
dpkg -i *.deb
+
+# Check vpp package installation status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: VPP package installation failed' > /opt/script_status.txt
+ exit
+ fi
+
systemctl stop vpp
# Download and install HC2VPP from source
@@ -164,6 +181,14 @@ EOF
cd hc2vpp
mvn clean install
+
+# Check hc2vpp build status
+ if [[$? -ne 0]]
+ then
+ echo $ERROR_MESSAGE 'Reason: hc2vpp build failed' > /opt/script_status.txt
+ exit
+ fi
+
l_version=$(cat pom.xml | grep "<version>" | head -1)
l_version=$(echo "${l_version%<*}")
l_version=$(echo "${l_version#*>}")
@@ -176,3 +201,6 @@ EOF
echo "APT::Periodic::Unattended-Upgrade \"0\";" >> /etc/apt/apt.conf.d/10periodic
sed -i 's/\(APT::Periodic::Unattended-Upgrade\) "1"/\1 "0"/' /etc/apt/apt.conf.d/20auto-upgrades
fi
+
+# Indicate script has finished executing
+ echo 'Execution of vBRG build script completed' > /opt/script_status.txt
diff --git a/vnfs/vCPE/scripts/v_brgemu_install.sh b/vnfs/vCPE/scripts/v_brgemu_install.sh
index e8be086e..7adda829 100755
--- a/vnfs/vCPE/scripts/v_brgemu_install.sh
+++ b/vnfs/vCPE/scripts/v_brgemu_install.sh
@@ -342,3 +342,6 @@ EOF
fi
./v_brgemu_init.sh
+
+# Indicate script has finished executing
+ echo 'Execution of vBRG install script completed' > /opt/script_status.txt