From 1b186e23d39eb4fb13fee7e69839d7d3d6d0f617 Mon Sep 17 00:00:00 2001 From: Mariah Jacobs Date: Fri, 10 Aug 2018 06:52:43 -0700 Subject: 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 --- vnfs/vCPE/scripts/v_bng_build.sh | 27 +++++++++++++++++++- vnfs/vCPE/scripts/v_bng_install.sh | 3 +++ vnfs/vCPE/scripts/v_brgemu_build.sh | 46 ++++++++++++++++++++++++++++------- vnfs/vCPE/scripts/v_brgemu_install.sh | 3 +++ 4 files changed, 69 insertions(+), 10 deletions(-) (limited to 'vnfs/vCPE') 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 "" | 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 -- cgit 1.2.3-korg