From 42e9f5e8b723cbb2daa2a4327fc54d767a17aa70 Mon Sep 17 00:00:00 2001 From: Shuotian Cheng Date: Tue, 20 Sep 2016 14:30:36 -0700 Subject: [PATCH] Updating docker-orchagent/syncd Dockerfile and start.sh --- dockers/docker-orchagent/Dockerfile | 22 ++++++++-------- dockers/docker-orchagent/start.sh | 38 +++++++++++++++------------- dockers/docker-syncd-mlnx/Dockerfile | 9 ++++--- dockers/docker-syncd/Dockerfile | 15 ++++++----- 4 files changed, 48 insertions(+), 36 deletions(-) diff --git a/dockers/docker-orchagent/Dockerfile b/dockers/docker-orchagent/Dockerfile index 9f677cd34cd..dbdf01f3dd9 100755 --- a/dockers/docker-orchagent/Dockerfile +++ b/dockers/docker-orchagent/Dockerfile @@ -2,16 +2,18 @@ FROM docker-base RUN apt-get update -COPY ["deps/libhiredis0.13*.deb", "deps/libswsscommon_*.deb", "deps/libsairedis_*.deb", "/deps/"] - -RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libhiredis0.13*.deb -RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libswsscommon_*.deb -RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/libsairedis_*.deb - -RUN apt-get install -f -y ifupdown bridge-utils - -## Copy executable binaries -COPY ["deps/orchagent","deps/swssconfig","deps/portsyncd","deps/intfsyncd","deps/neighsyncd","/usr/bin/"] +COPY ["deps/libhiredis0.13*.deb", "deps/libnl-3-200_*.deb", "deps/libnl-genl-3-200_*.deb", "deps/libnl-route-3-200_*.deb", "deps/libswsscommon_*.deb", "deps/libsairedis_*.deb", "deps/swss_*.deb", "/deps/"] + +RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; \ + dpkg_apt /deps/libhiredis0.13*.deb \ + && dpkg_apt /deps/libnl-3-200_*.deb \ + && dpkg_apt /deps/libnl-genl-3-200_*.deb \ + && dpkg_apt /deps/libnl-route-3-200_*.deb \ + && dpkg_apt /deps/libswsscommon_*.deb \ + && dpkg_apt /deps/libsairedis_*.deb \ + && dpkg_apt /deps/swss_*.deb + +RUN apt-get install -f -y ifupdown bridge-utils redis-tools COPY start.sh /usr/bin/start.sh diff --git a/dockers/docker-orchagent/start.sh b/dockers/docker-orchagent/start.sh index 2f29e98abdd..1fdee5117f8 100755 --- a/dockers/docker-orchagent/start.sh +++ b/dockers/docker-orchagent/start.sh @@ -1,10 +1,18 @@ #!/bin/bash +function start_app { + orchagent $ORCHAGENT_ARGS & + portsyncd $PORTSYNCD_ARGS & + intfsyncd & + neighsyncd & + swssconfig & +} + function clean_up { - kill -9 $ORCHAGENT_PID - kill -9 $PORTSYNCD_PID - kill -9 $INTFSYNCD_PID - kill -9 $NEIGHSYNCD_PID + pkill -9 orchagent + pkill -9 portsyncd + pkill -9 intfsyncd + pkill -9 neighsyncd service rsyslog stop exit } @@ -27,16 +35,12 @@ elif [ "$onie_platform" == "x86_64-mlnx_x86-r5.0.1400" ]; then fi service rsyslog start -orchagent $ORCHAGENT_ARGS & -ORCHAGENT_PID=$! -sleep 5 -portsyncd $PORTSYNCD_ARGS & -PORTSYNCD_PID=$! -sleep 5 -intfsyncd & -INTFSYNCD_PID=$! -sleep 5 -neighsyncd & -NEIGHSYNCD_PID=$! - -read +while true; do + # Check if syncd starts + result=`echo -en "SELECT 1\nHLEN HIDDEN" | redis-cli | sed -n 2p` + if [ "$result" != "0" ]; then + start_app + read + fi + sleep 1 +done diff --git a/dockers/docker-syncd-mlnx/Dockerfile b/dockers/docker-syncd-mlnx/Dockerfile index afed7dae38b..578782c1f15 100755 --- a/dockers/docker-syncd-mlnx/Dockerfile +++ b/dockers/docker-syncd-mlnx/Dockerfile @@ -17,9 +17,12 @@ RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return && dpkg_apt /deps/iproute2_*.deb \ && dpkg_apt /deps/mft*.deb \ - && dpkg_apt /deps/libhiredis0.13*.deb \ - && dpkg_apt /deps/libswsscommon_*.deb \ - && dpkg_apt /deps/mlnx-sai_*.deb \ + && dpkg_apt /deps/libhiredis0.13*.deb \ + && dpkg_apt /deps/libnl-3-200_*.deb \ + && dpkg_apt /deps/libnl-genl-3-200_*.deb \ + && dpkg_apt /deps/libnl-route-3-200_*.deb \ + && dpkg_apt /deps/libswsscommon_*.deb \ + && dpkg_apt /deps/mlnx-sai_*.deb \ && dpkg_apt /deps/libsairedis_*.deb RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; dpkg_apt /deps/syncd_*.deb diff --git a/dockers/docker-syncd/Dockerfile b/dockers/docker-syncd/Dockerfile index 63d9f3cbf11..9ad7e432cef 100755 --- a/dockers/docker-syncd/Dockerfile +++ b/dockers/docker-syncd/Dockerfile @@ -2,14 +2,17 @@ FROM docker-base RUN apt-get update -COPY ["deps/libhiredis0.13*.deb", "deps/libswsscommon_*.deb", "deps/libopennsl_*.deb", "deps/libsaibcm_*.deb", "deps/libsairedis_*.deb", "deps/syncd_*.deb", "/deps/"] +COPY ["deps/libhiredis0.13*.deb", "deps/libnl-3-200_*.deb", "deps/libnl-genl-3-200_*.deb", "deps/libnl-route-3-200_*.deb", "deps/libswsscommon_*.deb", "deps/libopennsl_*.deb", "deps/libsaibcm_*.deb", "deps/libsairedis_*.deb", "deps/syncd_*.deb", "/deps/"] RUN dpkg_apt() { [ -f $1 ] && { dpkg -i $1 || apt-get -y install -f; } || return 1; }; \ - dpkg_apt /deps/libhiredis0.13*.deb \ - && dpkg_apt /deps/libswsscommon_*.deb \ - && dpkg_apt /deps/libopennsl_*.deb \ - && dpkg_apt /deps/libsaibcm_*.deb \ - && dpkg_apt /deps/libsairedis_*.deb \ + dpkg_apt /deps/libhiredis0.13*.deb \ + && dpkg_apt /deps/libnl-3-200_*.deb \ + && dpkg_apt /deps/libnl-genl-3-200_*.deb \ + && dpkg_apt /deps/libnl-route-3-200_*.deb \ + && dpkg_apt /deps/libswsscommon_*.deb \ + && dpkg_apt /deps/libopennsl_*.deb \ + && dpkg_apt /deps/libsaibcm_*.deb \ + && dpkg_apt /deps/libsairedis_*.deb \ && dpkg_apt /deps/syncd_*.deb ## TODO: add kmod into Depends