echo "Unable to identify job type based on JOB_NAME variable: ${JOB_NAME}"
exit 1
fi
+dpkg -x vpp/build-root/vpp_${VPP_STABLE_VER}.deb /tmp/vpp
# Compress all VPP debs and remove temporary directory
-tar -zcvf ${SCRIPT_DIR}/vpp.tar.gz vpp/* && rm -R vpp
+tar -zcvf ${SCRIPT_DIR}/vpp.tar.gz vpp/* && rm -R vpp
LIGATO_REPO_URL=$(cat ${SCRIPT_DIR}/LIGATO_REPO_URL)
VPP_AGENT_STABLE_VER=$(cat ${SCRIPT_DIR}/VPP_AGENT_STABLE_VER)
echo "Failed to run: git clone --depth 1 ${LIGATO_REPO_URL}/vpp-agent"
exit 1
fi
-cd vpp-agent && git checkout ${VPP_AGENT_STABLE_COMMIT}
+cd vpp-agent && git checkout b99e43a
# If the git checkout fails, complain clearly and exit
if [ $? != 0 ]; then
echo "Failed to run: git checkout ${VPP_AGENT_STABLE_VER}"
fi
# Pull ligato/dev_vpp_agent docker image and re-tag as local
-sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}
-sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\
- dev_vpp_agent:latest
+if [[ ${VPP_AGENT_STABLE_VER} == g* ]] ;
+then
+ sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT}
+ sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT}\
+ dev_vpp_agent:latest
+else
+ sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}
+ sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\
+ dev_vpp_agent:latest
+fi
sudo docker images
+# Start dev_vpp_agent container as daemon
+sudo docker run --rm -itd --name agentcnt dev_vpp_agent bash
+# Copy latest vpp api into running container
+sudo docker cp /tmp/vpp/usr/share/vpp/api agentcnt:/usr/share/vpp
+# Recompile vpp-agent
+sudo docker exec -i agentcnt \
+ script -qec '. ~/.bashrc; cd /root/go/src/github.com/ligato/vpp-agent && make generate && make install'
+if [ $? != 0 ]; then
+ echo "Failed to build vpp-agent in Docker image."
+ exit 1
+fi
+# Extract vpp-agent
+rm -rf agent
+mkdir -p agent
+sudo docker cp agentcnt:/root/go/bin/vpp-agent agent/
+sudo docker cp agentcnt:/root/go/bin/vpp-agent-ctl agent/
+sudo docker cp agentcnt:/root/go/bin/agentctl agent/
+tar -zcvf ${SCRIPT_DIR}/../vpp-agent/docker/prod_vpp_agent/agent.tar.gz agent
+# Kill running container
+sudo docker rm -f agentcnt
# Build prod_vpp_agent docker image
cd ${SCRIPT_DIR}/../vpp-agent/docker/prod_vpp_agent/ &&\
mv ${SCRIPT_DIR}/vpp.tar.gz . &&\
- ./extract_agent_files.sh &&\
sudo docker build -t prod_vpp_agent --no-cache .
# Export Docker image
sudo docker save prod_vpp_agent | gzip > prod_vpp_agent.tar.gz