commit 9ebda1c33261c94033e61c5e734b7b2639beaf6c
parent 05ff1e9887f4801c2be7d465d5d831a58af99926
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date: Thu, 19 Jun 2014 21:16:30 +0200
put failures into array
Diffstat:
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/zsh-functions/confz_vserver_init b/zsh-functions/confz_vserver_init
@@ -29,17 +29,15 @@ confz_vserver_check() {
setvar vdir /vservers/${vars[name]}
local ctx ret
+ local -a fails
if [[ -e ${vars[etcdir]}/context ]]; then
- if [[ $(<${vars[etcdir]}/context) == ${vars[context_id]} ]]; then
- ret=0
- else
+ if [[ $(<${vars[etcdir]}/context) != ${vars[context_id]} ]]; then
die "$0: vserver ${(qqq)vars[name]} " \
"has context different from ${(qqq)vars[context_id]}"
fi
else
- ret=1
- fail_reason="$(<${vars[etcdir]}/context) missing"
+ fails+=( "$(<${vars[etcdir]}/context) missing" )
for ctx in /etc/vservers/*/context; do
if [[ $(<$ctx) == ${vars[context_id]} ]]; then
die "$0: context id already used by $ctx"
@@ -47,8 +45,7 @@ confz_vserver_check() {
done
fi
if ! [[ -h ${vars[etcdir]}/vdir ]]; then
- fail_reason="${vars[etcdir]}/vdir missing"
- ret=1
+ fails=( "${vars[etcdir]}/vdir missing" )
fi
require mounted_volume :size :filesystem \
@@ -58,7 +55,8 @@ confz_vserver_check() {
require deployed_system :source path=${vars[vdir]}
- return $ret
+ fail_reason="${(j:,:)fails}"
+ return $#fails
}
confz_vserver_do() {