[why] some containers have start-depends, docker start "${containers[@]}" also cause container service resume failed, need start its dependence firstly. [how] before: 4-docker/buildall => execute $CONTAINER/build, install, first-run, start script
after: 4-docker/buildall reboot => only execute $CONTAINER/first-run, start script
Signed-off-by: Liu Yinsi liuyinsi@163.com --- sparrow/4-docker/buildall | 7 +++++-- sparrow/7-systemd/cci-network | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/sparrow/4-docker/buildall b/sparrow/4-docker/buildall index 230c6ac..6e0a2f8 100755 --- a/sparrow/4-docker/buildall +++ b/sparrow/4-docker/buildall @@ -3,6 +3,7 @@ # Copyright (c) 2020 Huawei Technologies Co., Ltd. All rights reserved.
CONTAINER_PATH="$CCI_SRC/container" +export action=$1
build_depends() { @@ -30,8 +31,10 @@ do_one() ( cd $container [ "$container_name" == 'sub-fluentd' ] && exit - [ -x build ] && ./build - [ -x install ] && ./install + if [ "$action" != "reboot" ]; then + [ -x build ] && ./build + [ -x install ] && ./install + fi [ -x first-run ] && ./first-run [ -x start ] && ./start ) diff --git a/sparrow/7-systemd/cci-network b/sparrow/7-systemd/cci-network index 4aadcdc..6e59dbb 100755 --- a/sparrow/7-systemd/cci-network +++ b/sparrow/7-systemd/cci-network @@ -4,7 +4,8 @@ #this file used in our own systemd unit file: cci-network.service. #contents as follows will be automatically executed after system reboot.
-[[ $CCI_SRC ]] || CCI_SRC=/c/compass-ci +# export ENV +. /etc/profile.d/compass.sh
$CCI_SRC/sparrow/2-network/br0 $CCI_SRC/sparrow/2-network/iptables @@ -12,5 +13,5 @@ $CCI_SRC/sparrow/2-network/nfs $CCI_SRC/sparrow/2-network/cifs
# --restart=always option is not absolutely reliable -containers=($(docker ps -a |grep -v NAMES |awk '{print $NF}')) -[ -n "$containers" ] && docker start "${containers[@]}" >/dev/null 2>&1 +# container need to start its dependences firstly. +$CCI_SRC/sparrow/4-docker/buildall reboot