blob: 257142a2f336ec050a6f0085261854642d84717d [file] [log] [blame]
tom82d6bde2014-09-23 17:33:58 -07001#!/bin/bash
Pavlin Radoslavov91413792014-10-15 11:00:32 -07002# -----------------------------------------------------------------------------
tom82d6bde2014-09-23 17:33:58 -07003# Checks the logs of the remote ONOS instance and makes sure they are clean.
Pavlin Radoslavov91413792014-10-15 11:00:32 -07004# -----------------------------------------------------------------------------
tom82d6bde2014-09-23 17:33:58 -07005
Ayaka Koshibebad156d2015-09-18 17:30:14 -07006function __usage() {
7cat << _EOM_
8
9usage:
10 $(basename $0) [node] ['old']
11
12options:
13 - [node] : The node whose logs to inspect. The default is \$OCI.
14 - ['old'] : If 'old' is specified, the logs are simply searched for errors
15 and exceptions, and they are displayed.
16
17summary:
18 Checks the logs of the remote ONOS instance and makes sure they are clean.
19
20_EOM_
21}
22
23[ "$1" = "-h" ] && __usage && exit 0
24
tom82d6bde2014-09-23 17:33:58 -070025[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
26. $ONOS_ROOT/tools/build/envDefaults
27
28remote=$ONOS_USER@${1:-$OCI}
29
Thomas Vachuska77a9a442015-05-19 17:35:52 -070030LOG=$ONOS_INSTALL_DIR/log/karaf.log*
tom82d6bde2014-09-23 17:33:58 -070031
Thomas Vachuska77a9a442015-05-19 17:35:52 -070032aux=/tmp/log.$$
33
34if [ "$2" = "old" ]; then
35 ssh $remote "egrep 'ERROR|Exception|Error' $LOG"
36
37else
38 ssh $remote "
Ayaka Koshibebad156d2015-09-18 17:30:14 -070039 [ "'`uname`'" != "'"Linux"'" ] && alias tac='tail -r'
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070040 tac $LOG | tr -d '\000' | awk '
Thomas Vachuska77a9a442015-05-19 17:35:52 -070041 BEGIN { off = 0; fail = 0; }
42 / org.apache.karaf.main.lock.SimpleFileLock lock/ {
Thomas Vachuska77a9a442015-05-19 17:35:52 -070043 exit fail;
44 }
45
46 / ERROR / {
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070047 print \$0;
48 exc = 0;
49 fail = 1;
Thomas Vachuska77a9a442015-05-19 17:35:52 -070050 }
51 / WARN / {
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070052 if (exc) {
Thomas Vachuska77a9a442015-05-19 17:35:52 -070053 print \$0;
54 exc = 0;
55 }
56 }
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070057 / INFO / {
58 exc = 0;
59 }
Thomas Vachuska77a9a442015-05-19 17:35:52 -070060
61 /^[a-zA-Z0-9.]*(Exception|Error)/ {
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070062 print \$0;
63 exc = 1;
64 fail = 1;
Thomas Vachuska77a9a442015-05-19 17:35:52 -070065 }
66
Thomas Vachuska2ec5aa92016-08-31 13:30:31 -070067 /( at|Caused by:) / {
68 print \$0;
Thomas Vachuska77a9a442015-05-19 17:35:52 -070069 }
70 END { exit fail; }
71 ' > $aux
72 status=\$?
73 tac $aux && rm $aux
74 exit \$status
75 "
76fi