Revision f32664b2 snf-image-host/common.sh.in

b/snf-image-host/common.sh.in
55 55
    local type="$MSG_TYPE_ERROR"
56 56
    local location="host"
57 57

  
58
    local msg="["
59
    for err in "${ERROR_MSGS[@]}"; do
60
        msg+="\"$(sed 's/"/\\"/g' <<< "$err")\","
61
    done
62
    if [ ${#msg} -gt 1 ]; then
63
        # remove last comma (,)
64
        msg="${msg%?}"
65
    fi
66
    msg+="]"
67

  
68
    local stderr="$(cat "$error_file" | sed 's/"/\\"/g')"
69

  
70 58
    report="\"type\":\"$type\","
71 59
    report+="\"timestamp\":$(date +%s.%N),"
72 60
    report+="\"location\":\"$location\","
73
    report+="\"messages\":$msg,"
74
    report+="\"stderr\":\"$stderr\"}"
61

  
62
    if [ ${#ERROR_MSGS[@]} -gt 0 ]; then
63
        local msg="["
64
        for err in "${ERROR_MSGS[@]}"; do
65
            msg+="\"$(sed 's/"/\\"/g' <<< "$err")\","
66
        done
67
        if [ ${#msg} -gt 1 ]; then
68
            # remove last comma (,)
69
            msg="${msg%?}"
70
        fi
71
        msg+="]"
72
        report+="\"messages\":$msg}"
73
    else
74
        local stderr="$(cat "$error_file" | sed 's/"/\\"/g')"
75
        report+="\"stderr\":\"$stderr\"}"
76
    fi
75 77

  
76 78
    eval "echo $(printf "%q" "$report") >&${monitor_fd}"
77 79
}

Also available in: Unified diff