[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(a)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
--
2.23.0