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 () {
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
./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
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
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 () {
# 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
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#*>}")
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